计算机操作系统输入输出设备管理.ppt

上传人:xt****7 文档编号:4010726 上传时间:2019-12-30 格式:PPT 页数:90 大小:774.55KB
返回 下载 相关 举报
计算机操作系统输入输出设备管理.ppt_第1页
第1页 / 共90页
计算机操作系统输入输出设备管理.ppt_第2页
第2页 / 共90页
计算机操作系统输入输出设备管理.ppt_第3页
第3页 / 共90页
点击查看更多>>
资源描述
1 第五章设备管理 5 1I O系统5 2I O控制方式5 3缓冲管理5 4设备分配5 5设备处理5 6磁盘存储器管理 E Mail lchxu QQ 531305157 2 引言 计算机系统的一个重要组成部分是I O系统 在该系统中包括有用于实现信息输入 输出和存储功能的设备和相应的设备控制器 在有的大中型机中 还有I O通道或I O处理机 设备管理的主要对象是I O设备 还可能要涉及到设备控制器和I O通道 而设备管理的主要任务是完成用户提出的I O请求 提高I O速率以及提高I O设备的利用率 设备管理的主要功能有 缓冲区管理 设备分配 设备处理 虚拟设备以及实现设备独立性等 由于I O设备不仅种类繁多 而且它们的特点和操作方式往往相差甚大 这就使得设备管理成为操作系统最繁杂且与硬件最紧密相关的部分 3 5 1I O系统 顾名思义 I O系统是用于实现数据输入 输出及数据存储的系统 在I O系统中 除了需要直接用于I O和存储信息的设备外 还需要有相应的设备控制器和高速总线 在有的大 中型计算机系统中 还配置了I O通道或I O处理机 本节将介绍 一 I O设备二 设备控制器三 I O通道四 总线结构 4 一 I O设备 1 I O设备的类型2 设备与控制器之间的接口 5 1 I O设备的类型 I O设备的类型繁多 从OS观点看 其重要的性能指标有 数据传输速率 数据的传输单位 设备共享属性等 因而可以从不同角度对它们进行分类 1 按传输速率分类2 按信息交换的单位分类3 按设备的共享属性分类 6 1 按传输速率分类 按传输速度的高低 可将I O设备分为三类 第一类是低速设备这是指其传输速率仅为每秒钟几个字节至数百个字节的一类设备 属于低速设备的典型设备有键盘 鼠标器 语音的输入和输出等设备 第二类是中速设备这是指其传输速率在每秒钟数千个字节至数万个字节的一类设备 典型的中速设备有行式打印机 激光打印机等 第三类是高速设备这是指其传输速率在数百千个字节至数十兆字节的一类设备 典型的高速设备有磁带机 磁盘机 光盘机等 7 2 按信息交换的单位分类 按信息交换的单位 可将I O设备分成两类 第一类是块设备 BlockDevice 这类设备用于存储信息 由于信息的存取总是以数据块为单位 故而得名 它属于有结构设备 典型的块设备是磁盘 每个盘块的大小为512B 4KB 磁盘设备的基本特征是其传输速率较高 通常每秒钟为几兆位 另一特征是可寻址 即对它可随机地读 写任一块 此外 磁盘设备的I O常采用DMA方式 第二类是字符设备 CharacterDevice 用于数据的输入和输出 其基本单位是字符 故称为字符设备 它属于无结构类型 字符设备的种类繁多 如交互式终端 打印机等 字符设备的基本特征是其传输速率较低 通常为几个字节至数千字节 另一特征是不可寻址 即输入 输出时不能指定数据的输入源地址及输出的目标地址 此外 字符设备在输入 输出时 通常采用终端驱动方式 8 3 按设备的共享属性分类 这种分类方式可将I O设备分为如下三类 1 独占设备 2 共享设备 3 虚拟设备 9 2 设备与控制器之间的接口 数据信号线控制信号线状态信号线 10 二 设备控制器 设备控制器是计算机中的一个实体 其主要职责是控制一个或多个 同类 I O设备 以实现I O设备和计算机之间的数据交换 它是CPU和I O设备之间的接口 它接收从CPU发来的命令 并去控制I O设备工作 以使处理机从繁杂的设备控制事务中解脱出来 设备控制器是一个可编址的设备 当它仅控制一个设备时 它只有一个唯一的设备地址 若控制器可连接多个设备时 则应含有多个设备地址 并使每一个设备地址对应一个设备 设备控制器的复杂性因不同设备而异 相差甚大 于是可把设备控制器分成两类 一类用于控制字符设备的控制器 一类用于控制块设备的控制器 在微型机和小型机中的控制器 常做成印刷电路卡形式 因而也成接口卡 可将它插入计算机 插槽中 本小节介绍 1 设备控制器的基本功能2 设备控制器的组成 11 1 设备控制器的基本功能 1 接收和识别命令2 数据交换3 标识和报告设备的状态4 地址识别5 数据缓冲6 差错控制 12 2 设备控制器的组成 1 设备控制器与处理机的接口2 设备控制器与设备的接口3 I O逻辑 13 三 I O通道 1 I O通道 I OChannel 设备的引入2 通道类型3 瓶颈 问题 14 1 I O通道 I OChannel 设备的引入 设备控制器虽然已大大减少CPU对I O设备的干预 但当主机所配置的外设很多是 CPU的负担仍然很重 为此 在CPU和设备控制器之间有增设了通道 其主要目的是为了建立独立的I O操作 不仅是数据的传输能独立于CPU 而且也希望有关对I O操作的组织 管理及其结束处理也尽量独立 以保证CPU有更多的时间去进行数据处理 或者说其目的是使一些原来由CPU处理的I O任务转由通道来承担 从而把CPU从繁杂的I O任务中解脱出来 在设置了通道后 CPU只需要向通道发送一条I O指令 通道在接收到该指令后 便从内存中取出本次要执行的通道程序 然后执行该通道程序 仅当通道完成了规定的I O任务后 才向CPU发中断信号 实际上 I O通道是一种特殊的处理机 它具有执行I O指令的能力 并通过执行通道 I O 程序来控制I O操作 但I O通道又与一般的处理机不同 主要表现在以下两个方面 一是其指令类型单一 这是由于通道硬件比较简单 其所能执行的命令 主要局限于与I O操作有关的指令 再就是通道没有自己的内存 通道所执行的通道程序是放在主机的内存中的 换言之 是通道与CPU共享内存 15 2 通道类型 1 字节多路通道 ByteMultiplexorChannel 2 数组选择通道 BlockSelectorChannel 3 数组多路通道 BlockMultiplexorChannel 16 1 字节多路通道 17 2 数组选择通道 字节多路通道不适于连接高速设备 这推动了按数组方式进行数据传送的数组选择通道的形成 这种通道虽然可以连接多台高速设备 但由于它只含有一个分配型子通道 在一段时间内只能执行一道通道程序 控制一台设备进行数据传送 致使当某台设备占用了该通道后 便一直由它独占 即使是它无数据传送 通道被闲置 也不允许其它设备使用该通道 直至该设备传送完毕释放该通道 可见 这种通道的利用率很低 18 3 数组多路通道 数组选择通道虽有很高的传输速率 但它却每次只允许一个设备传输数据 数组多路通道是将数组选择通道传输速率高和字节多路通道能使各子通道 设备 分时并行操作的优点相结合而形成的一种新通道 它含有多个非分配型子通道 因而这种通道既具有很高的数据传输速率 又能获得令人满意的通道利用率 也正因此 才使该通道能被广泛地用于连接多台高 中速的外围设备 其数据传送是按数组方式进行的 19 3 瓶颈 问题 20 四 总线结构 总线型I O系统结构中 系统各部件如CPU 存储器及各种I O设备之间是通过总线实现联系的 总线的性能是用总线的时钟频率 带宽和相应的总线传输速率来衡量的 总线随着要求的不断提高从早期的ISA总线发展到EISA VESA 直到当今广为流行的PCI总线 21 1 ISA和EISA总线 1 ISA IndustryStandardArchitecture 总线 这是为了1984年推出的80286型微机而设计的总线结构 其总线的带宽为8位 最高传输速率为2Mb s 之后不久又推出了16位的 EISA 总线 其最高传输速率为8Mb s 后又升至16Mb s 能连接12台设备 2 EISA ExtendedISA 总线 到80年代末期 ISA总线已难于满足带宽和传输速率的要求 于是人们又开发出扩展ISA EISA 总线 其带宽为32位 总线的传输速率高达32Mb s 同样可以连接12台外部设备 22 2 局部总线 LocalBus 1 VESA VideoElectronicStandardAssociation 总线2 PCI PeripheralComponentInterface 总线 23 5 2I O控制方式 一 程序I O方式二 中断驱动I O控制方式三 直接存储器访问DMAI O控制方式四 I O通道控制方式 24 一 程序I O方式 早期的计算机系统中 由于无中断机构 处理及对I O设备的控制采取程序I O方式 或称为 忙 等待 方式 在程序I O方式中 由于CPU的高速性和I O设备的低速性 致使CPU的绝大部分时间都处于等待I O设备完成数据I O的循环测试中 造成对CPU的极大浪费 在该方式中 CPU之所以要不断地测试I O设备的状态 就是因为在CPU中无中断机构 使I O设备无法向CPU报告它已完成了一个字符的输入操作 25 二 中断驱动I O控制方式 在I O设备输入每个数据的过程中 由于无须CPU干预 因而可使CPU与I O设备并行工作 仅当输完一个数据时 才需CPU花费极短的时间去做些中断处理 可见 这样可使CPU和I O设备都处于忙碌状态 从而提高了整个系统的资源利用率及吞吐量 例如 从终端输入一个字符的时间约为100ms 而将字符送入终端缓冲区的时间小于0 1ms 若采用程序I O方式 CPU约有99 9ms的时间处于忙 等待中 采用中断驱动方式后 CPU可利用这99 9ms的时间去做其它事情 而仅用0 1ms的时间来处理由控制器发来的中断请求 可见 中断驱动方式可以成百倍地提高CPU的利用率 26 三 直接存储器访问DMAI O控制方式 1 DMA DirectMemoryAccess 控制方式的引入2 DMA控制器的组成3 DMA工作过程 27 1 DMA控制方式的引入 虽然中断驱动I O方式比程序I O方式更有效 但CPU是以字 节 为单位进行干预的 该方式用于块设备的I O显然是低效的 该方式的特点是 数据传输的基本单位是数据块 即在CPU与I O设备之间 每次传送至少一个数据块 所传送的数据是从设备直接送入内存的 或者相反 仅在传送一个或多个数据块的开始和结束时 才需CPU干预 整块数据的传送是在控制器的控制下完成的 可见 DMA方式较之中断驱动方式 又是成百倍地减少了CPU对I O的干预 进一步提高了CPU与I O设备的并行操作程度 28 2 DMA控制器的组成 为了实现在主机与控制器之间成块数据的直接交换 必须在DMA控制器中设置如下四类寄存器 1 命令 状态寄存器CR 用于接收从CPU发来的I O命令或有关控制信息 或设备的状态 2 内存地址寄存器MAR 在输入时 它存放把数据从设备传送到内存的起始目标地址 在输出时 它存放由内存到设备的内存源地址 3 数据寄存器DR 用于暂存从设备到内存 或从内存到设备的数据 4 数据计数器DC 存放本次CPU要读或写的字 节 数 29 3 DMA工作过程 30 四 I O通道控制方式 1 I O通道控制方式的引入2 通道程序 31 1 I O通道控制方式的引入 虽然DMA方式比中断方式已经显著减少了CPU的干预 但CPU每次发出一条I O指令也只能读 写一个数据块 I O通道方式是DMA方式的发展 它可进一步减少CPU的干预 即把对一个数据块的读 或写 为单位的干预 减少为对一组数据块的读 或写 及有关的控制和管理为单位的干预 同时 又可实现CPU 通道和I O设备三者的并行操作 从而更有效地提高整个系统的资源利用率 例如 当CPU要完成一组相关的读 或写 操作及有关控制时 只需向I O通道发送一条I O指令 以给出其所要执行的通道程序的首址和要访问的I O设备 通道接到该指令后 通过执行通道程序便可完成CPU指定的I O任务 32 2 通道程序 通道是通过能够执行通道程序 并与设备控制器共同完成对I O设备的控制的 通道程序是由一系列通道指令 或称为通道命令 所构成的 每条通道指令包含 1 操作码2 内存地址3 计数4 通道程序结束位P5 记录结束标志R右表是一个六条通道指令构成的简单通道程序 33 5 3缓冲管理 一 缓冲的引入二 单缓冲和双缓冲三 循环缓冲四 缓冲池 BufferPool 34 一 缓冲的引入 1 缓和CPU与I O设备间速度不匹配的矛盾 2 减少对CPU的中断频率 放宽对CPU中断响应时间的限制 3 提高CPU和I O设备之间的并行性 35 二 单缓冲和双缓冲 1 单缓冲2 双缓冲 36 1 单缓冲 37 2 双缓冲 双缓冲工作原理 双机通信时缓冲区的设置 38 三 循环缓冲 1 循环缓冲的组成2 循环缓冲区的使用3 进程同步 39 1 循环缓冲的组成 40 2 循环缓冲区的使用 1 Getbuf过程2 Releasebuf过程 41 3 进程同步 1 Nexti指针追赶上Nextg指针2 Nextg指针追赶上Nexti指针 42 四 缓冲池 BufferPool 1 缓冲池的组成2 Getbuf过程和Putbuf过程3 缓冲区的工作方式 43 1 缓冲池的组成 对于既可用于输入又可用于输出的公用缓冲池 其中至少应含有以下三种类型的缓冲区 空 闲 缓冲区 装满输入数据的缓冲区 装满输出数据的缓冲区 为了管理上的方便 可将相同类型的缓冲区链成一个队列 于是可形成以下三个队列 1 空缓冲队列emq2 输入队列inq3 输出队列outq 44 2 Getbuf过程和Putbuf过程 ProcedureGetbuf type beginWait RS type Wait MS type B number KG 3 Takebuf type Signal MS type endProcedurePutbuf type number beginWait MS type Addbuf type number Signal MS type Signal RS type end 45 3 缓冲区的工作方式 46 5 4设备分配 一 设备分配中的数据结构二 设备分配时应考虑的因素三 设备独立性四 独占设备的分配程序五 SPOOLing技术 47 一 设备分配中的数据结构 1 设备控制表DCT2 控制器控制表 通道控制表和系统设备表 48 二 设备分配时应考虑的因素 1 设备的固有属性2 设备分配算法3 设备分配中的安全性 49 1 设备的固有属性 1 独享设备2 共享设备3 虚拟设备 50 2 设备分配算法 1 先来先服务2 优先级高者优先 51 3 设备分配中的安全性 1 安全分配方式2 不安全分配方式 52 三 设备独立性 1 设备独立性 DeviceIndependence 的概念2 设备独立性软件3 逻辑设备名到物理设备名映射的实现 53 1 设备独立性的概念 为了提高OS的可适应性和可扩展性 在现代OS中都毫无例外地实现了设备独立性 也称为设备无关性 其基本含义是 应用程序独立于具体使用的物理设备 为了实现设备独立性而引入了逻辑设备和物理设备这两个概念 在应用程序中 使用逻辑设备名称来请求使用某类设备 而系统在实际执行时 还必须使用物理设备名称 因此 系统须具有将逻辑设备名称转换为某物理设备名称的功能 这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念 在实现了设备独立性的功能后 可带来以下两方面的好处 1 设备分配时的灵活性2 易于实现I O重定向 54 2 设备独立性软件 1 执行所有设备的公有操作 这些公有操作包括 对独立设备的分配与回收 将逻辑设备名映射为物理设备名 进一步可以找到相应物理设备的驱动程序 对设备进行保护 禁止用户直接访问设备 缓冲管理 即对字符设备和块设备的缓冲区进行有效的管理 以提高I O的效率 差错控制 由于在I O操作中的绝大多数错误都与设备无关 故主要由设备驱动程序处理 而设备独立性软件只处理那些设备驱动程序无法处理的错误 2 向用户层 或文件层 软件提供统一接口 无论何种设备 它们向用户所提供的接口应该是相同的 例如 对各种设备的读操作 在应用程序中都使用read 而对各种设备的写操作 也都使用write 55 3 逻辑设备名到物理设备名映射的实现 1 逻辑设备表2 LUT的设置问题 56 四 独占设备的分配程序 1 基本的设备分配程序1 分配设备2 分配控制器3 分配通道2 设备分配程序的改进1 增加设备的独立性2 考虑多通路情况 57 五 SPOOLing技术 1 什么是SPOOLing2 SPOOLing系统的组成3 共享打印机4 SPOOLing系统的特点 58 1 什么是SPOOLing 为了缓和CPU的高速性与I O设备低速性间的矛盾而引入了脱机输入 脱机输出技术 该技术是利用专门的外围控制机 将低速I O设备上的数据传送到高速磁盘上 或者相反 事实上 当系统中引入了多道程序技术后 完全可以利用其中的一道程序 来模拟脱机输入时的外围控制机功能 把低速I O设备上的数据传送到高速磁盘上 再用另一道程序来模拟脱机输出时外围控制机的功能 把数据从磁盘传送到低速输出设备上 这样 便可在主机的直接控制下 实现脱机输入 输出功能 此时的外围操作与CPU对数据的处理同时进行 我们把这种在联机情况下实现的同时外围操作称为SPOOLing SimultaneausPeriphernalOperatingOn Line 或称为假脱机操作 59 2 SPOOLing系统的组成 60 3 共享打印机 共享打印机技术已被广泛地用于多用户系统和局域网络中 当用户进程请求打印输出时 SPOOLing系统同意为它打印输出 但并不真正立即把打印机分配给该用户进程 而只为它做两件事 由输出进程在输出井中为之申请一个空闲磁盘块区 并将要打印的数据送入其中 输出进程再为用户进程申请一张空白的用户请求打印表 并将用户的打印要求填入其中 再将该表挂到请求打印队列上 61 4 SPOOLing系统的特点 1 提高了I O的速度2 将独占设备改造为共享设备3 实现了虚拟设备功能 62 5 5设备处理 一 设备驱动程序的功能和特点二 设备驱动程序的处理过程三 中断处理程序的处理过程 63 一 设备驱动程序的功能和特点 1 设备驱动程序的功能2 设备处理方式3 设备驱动程序的特点 64 1 设备驱动程序的功能 1 接收由I O进程发来的命令和参数 并将命令中的抽象要求转换为具体要求 例如 将磁盘块号转换为磁盘的盘面 磁道号及扇区号 2 检查用户I O请求的合法性 了解I O设备的状态 传递有关参数 设置设备的工作方式 3 发出I O命令 如果设备空闲 便立即启动I O设备去完成指定的I O操作 如果设备处于忙碌状态 则将请求者的请求块挂在设备队列上等待 4 及时响应由控制器或通道发来的中断请求 并根据其中断类型调用相应的中断处理程序进行处理 5 对于设置有通道的计算机系统 驱动程序还应能够根据用户的I O请求 自动地构成通道程序 65 2 设备处理方式 1 为每一类设备设置一个进程 专门用于执行这类设备的I O操作 2 在整个系统中设置一个I O进程 专门用于执行系统中所有各类设备的I O操作 3 不设置专门的设备处理进程 而只为各类设备设置相应的设备处理程序 模块 供用户进程或系统进程调用 66 3 设备驱动程序的特点 1 驱动程序主要是指在请求I O的进程与设备控制器之间的一个通信和转换程序 2 驱动程序与设备控制器和I O设备的硬件特性紧密相关 因而对不同类型的设备应配置不同的驱动程序 3 驱动程序与I O设备所采用的I O控制方式紧密相关 4 由于驱动程序与硬件紧密相关 因而其中的一部分必须用汇编语言书写 67 二 设备驱动程序的处理过程 1 将抽象要求转换为具体要求2 检查I O请求的合法性3 读出和检查设备的状态4 传送必要的参数5 工作方式的设置6 启动I O设备 68 三 中断处理程序的处理过程 1 唤醒被阻塞的驱动程序进程2 保护被中断进程的CPU现场3 分析中断原因 转入相应的设备中断处理程序4 进行中断处理5 恢复被中断进程的现场 69 5 6磁盘存储器管理 一 磁盘性能简述二 磁盘调度三 磁盘高速缓存四 提高磁盘I O速度的其他方法五 廉价磁盘冗余阵列 70 一 磁盘性能简述 1 数据的组织和格式2 磁盘的类型3 磁盘访问时间 71 1 数据的组织和格式 72 2 磁盘的类型 1 固定头磁盘 这种磁盘在每条磁道上都有一读 写磁头 所有的磁头都被装在一刚性磁臂中 通过这些磁头可访问所有各磁道 并进行并行读 写 有效地提高了磁盘的I O速度 这种结构的磁盘主要用于大容量磁盘上 2 移动头磁盘 每一个盘面仅配有一个磁头 也被装入磁臂中 为能访问该盘面上的所有磁道 该磁头必须能移动以进行寻道 可见 移动磁头仅能以串行方式读 写 致使其I O速度较慢 但由于其结构简单 故仍广泛应用于中小型磁盘设备中 73 3 磁盘访问时间 1 寻道时间Ts 这是指把磁臂 磁头 移动到指定磁道上所经历的时间 该时间是启动磁臂的时间s与磁头移动n条磁道所花费的时间之和 即Ts m n s其中 m是一常数 与磁盘驱动器的速度有关 对一般磁盘 m 0 2 对高速磁盘 m 0 1 磁臂的启动时间约为2ms 这样 对一般的温盘 其寻道时间将随寻道距离的增加而增大 大体上是5 30ms 2 旋转延迟时间T 这是指定扇区移动到磁头下面所经历的时间 对于硬盘 典型的旋转速度大多为5400r min 每转需时11 1ms 平均旋转延迟时间T 为5 55ms 对于软盘 其旋转速度为300r min或600r min 这样 平均T 为50 100ms 3 传输时间Tt 这是指把数据从磁盘读出或向磁盘写入数据所经历的时间 Tt的大小与每次所读 写的字节数b和旋转速度有关 Tt b rN 其中 r为磁盘每秒钟的转数 N为一条磁道上的字节数 当一次读 写的字节数相当于半条磁道上的字节数时 Tt与T 相同 因此 可将访问时间Ta表示为 Ta Ts 1 2r b rN 74 二 磁盘调度 1 先来先服务FCFS First Come FirstServed 2 最短寻道时间优先SSTF ShortestSeekTimeFirst 3 扫描 SCAN 算法4 循环扫描 CSCAN 算法5 N Step SCAN和FSCAN调度算法 75 1 先来先服务FCFS 76 2 最短寻道时间优先SSTF 77 3 扫描 SCAN 算法 1 进程 饥饿 现象 SSTF算法虽然能获得较好的寻道性能 但却可能导致某个进程发生 饥饿 Starvation 现象 因为只要不断有新进程的请求到达 且其所要访问的磁道与磁头当前所在磁道的距离较近 这种新进程的I O请求必须优先满足 对SSTF算法略加修改后所形成的SCAN算法 即可防止老进程出现 饥饿 现象 2 SCAN算法 78 4 循环扫描 CSCAN 算法 79 5 N Step SCAN和FSCAN调度算法 1 N Step SCAN算法 在SSTF SCAN及CSCAN几种调度算法中 都可能出现磁臂停留在某处不动的情况 例如 有一个或几个进程对某一磁道有较高的访问频率 即这个 些 进程反复请求对某一磁道的I O操作 从而垄断了整个磁盘设备 我们把这一现象称为 磁臂粘着 Armstickiness 在高密度磁盘上容易出现此情况 N步SCAN算法是将磁盘请求队列分成若干个长度为N的子队列 磁盘调度将按FCFS算法依次处理这些子队列 而每处理一个队列时又是按SCAN算法 对一个队列处理完后 再处理其他队列 当正在处理某子队列时 如果又出现新的磁盘I O请求 便将新请求进程放入其他队列 这样就可避免出现粘着现象 当N值取得很大时 会使N步扫描法的性能接近于SCAN算法的性能 当N 1时 N步SCAN算法便蜕化为FCFS算法 2 FSCAN算法 FSCAN算法实质上是N步SCAN算法的简化 即FSCAN只将磁盘请求队列分成两个子队列 一个是由当前所有请求磁盘I O的进程形成的队列 由磁盘调度按SCAN算法进行处理 在扫描期间 将新出现的所有请求磁盘I O的进程 放入另一个等待处理的请求队列 这样 所有的新请求都将被推迟到下一次扫描时处理 80 三 磁盘高速缓存 1 磁盘高速缓存的形式2 数据交付方式3 置换算法4 周期性地写回磁盘 81 1 磁盘高速缓存的形式 这里所说的磁盘高速缓存 是指利用内存中的存储空间 来暂存从磁盘中读出的一系列盘块中的信息 因此 这里的高速缓存是一组在逻辑上属于磁盘 而物理上是驻留在内存中的盘块 高速缓存在内存中可分成两种形式 第一种是在内存中开辟一个单独的存储空间来作为磁盘高速缓存 其大小是固定的 不会受应用程序多少的影响 第二种是把所有未利用的内存空间变为一个缓冲池 供请求分页系统和磁盘I O时 作为磁盘高速缓存 共享 此时高速缓存的大小 显然不再是固定的 当磁盘I O的频繁程度较高时 该缓冲池可能包含更多的内存空间 而在应用程序运行得较多时 该缓冲池可能只剩下较少的内存空间 82 2 数据交付方式 系统可以采取两种方式 将数据交付给请求进程 1 数据交付 这是直接将高速缓存中的数据 传送到请求者进程的内存工作区中 2 指针交付 只将指向高速缓存中某区域的指针 交付给请求者进程 后一种方式由于所传送的数据量少 因而节省了数据从磁盘高速缓存存储空间到进程的内存工作区的时 83 3 置换算法 由于请求调页中的联想存储器与高速缓存 磁盘I O中 的工作情况不同 因而使得在置换算法中所应考虑的问题也有所差异 因此 现在不少系统在设计其高速缓存的置换算法时 除了考虑到最近最久未使用这一原则外 还考虑了以下几点 1 访问频率2 可预见性3 数据的一致性 84 4 周期性地写回磁盘 在UNIX系统中专门增设了一个修改 update 程序 使之在后台运行 该程序周期性地调用一个系统调用SYNC 该调用的主要功能是强制性地将所有在高速缓存中已修改的盘块数据写回磁盘 一般是把两次调用SYNC的时间间隔定为30s 这样 因系统故障所造成的工作损失不会超过30s的劳动量 而在MS DOS中所采用的方法是 只要高速缓存中的某盘块数据被修改 便立即将它写回磁盘 并将这种高速缓存称为 写穿透 高速缓存 write throughcache MS DOS所采用的写回方式 几乎不会造成数据的丢失 但须频繁地启动磁盘 85 四 提高磁盘I O速度的其他方法 1 提前读 Read Ahead 2 延迟写3 优化物理块的分布4 虚拟盘5 优化数据的分布1 优化物理块的分布2 优化索引节点的分布 86 五 廉价磁盘冗余阵列 1 并行交叉存取2 RAID的分级3 RAID的优点 87 1 并行交叉存取 88 2 RAID的分级 1 RAID0级2 RAID1级3 RAID3级4 RAID5级5 RAID6级和RAID7级 89 3 RAID的优点 1 可靠性高2 磁盘I O速度高3 性能 价格比高 90 本章小结 习题 5 1 5 9 5 18 5 26
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!