6.2-第十五讲 设备管理、磁盘设备
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、设备无关的I/O 这一层的基本功能:执行适用于所有设 备的公共I/O功能,并向上层提供统一的系 统调用接口。主要任务: • 设备命名及与设备驱动程序的映射。在 UNIX中,如/dev/fd0唯一地确定了一个 inode数据结构,其中包含了主设备号,通 过主设备号可以找到相应的设备驱动程序。 • 设备访问控制。 • 设备I/O系统调用转调及数据缓冲机制。 • 文件系统功能、TCP/IP协议等
(a)RAID 0: 无冗余条带化
C (b)RAID1: 镜像磁盘
•RAID级别0+1:是指RAID级别0和1的结合。 RAID0 提供性能,RAID1提供可靠性。一般 来说,它提供比RAID5更好的性能。它通常 用于性能和可靠性都很重要的环境中。 •RAID级别1+0,其中磁盘被镜像成对,然后 最后所得到的镜像对被条带化。这种RAID比 起RAID0+1有理论上的优势。例如,如果在 RAID0+1中单独一个磁盘失效,其他盘上的 对应条带都不可访问。对于RAID1+0中的一 块磁盘失效,这块单独的磁盘不可用,但它 的镜像盘仍然可用。
三、循环缓冲 引入系统缓冲池,采用有限缓冲区的生产 者/消费者模型对缓冲池中的缓冲区进行循 环使用。
缓冲区结合预读和滞后写技术对具有重 复性及阵发性I/O进程提高I/O速度很有帮 助。
6.3存储设备
6.3.1.常见存储外设
• 磁盘 • 数据组织 (一个磁盘有多个盘面组成,盘面有 同心圆磁道组成,磁道有扇区组成, 扇区为基本传输单位) • 物理特性 (单磁头,多磁头)
Write处理(文件系统、TCP/IP) 磁盘驱动程序 盘中断处理 磁盘控制器 异步调用接口
一、用户层I/O 这一层与设备的控制细节无关,不直接 与设备打交道。 它将所有的设备看作逻辑资源,为用 户进程提供各类I/O函数。用户以设备标识 符和一些简单的函数来使用设备,如打开、 关闭、读、写等。 如C库中的函数fopen(); fread(); fwrite(); fclose();printf()等 。
•I/O操作函数:这个函数实现对设备的I/O。如 果对独占型设备,包含了启动I/O的指令,对分 时共享型设备,该函数通常将I/O请求形成一个 请求包,将其排到设备请求队列,如果请求队列 空,则直接启动设备。 •中断处理函数:这个函数在设备I/O完成时向 CPU发中断后被调用。该函数对I/O完成作善后处 理,一般是找到等待刚完成I/O请求的阻塞进程, 将其就绪,使其能进一步作后续工作。如果存在I /O请求队列,则启动下一个I/O请求。
一、减少寻找时间的方法
减少寻找时间是提高磁盘传输效率的关键。 因为“寻找时间”在几十毫秒时间量级。 操作系统磁盘驱动程序可以通过合理调 度多道进程对磁盘的访问请求顺序,达到 减少磁盘平均服务时间的目的。
调度策略:
• FCFS(First Come First Served)
• SSTF(Shortest Seek Time First)
• SCAN调度(电梯调度法)
• C-SCAN调度(一个方向响应请求)
• LOOK调度、 C-LOOK调度(是scan和cscan的改进)
二、减少延迟时间的方法
一般常将盘面扇区交替编号; 磁盘迭中不同盘面错开命名。
37 0 4 6 1 2 5
63 7 0 2 4 5 1
26 3 7 5 0 1 4
•RAID级别5:称为block-interleaved分布式 奇偶校验,与级别4不同在于,把数据和奇偶 校验分布到所有的N+1个磁盘上,而不是把数 据存储在N个磁盘上,把奇偶校验值存储在另 一个磁盘上。RAID5避免了在RAID4中可能出 现的过度使用单独一个奇偶校验磁盘的情况。 •RAID级别6:RAID级别6,也叫做P+Q冗余模 式,很像RAID级别5,但存储了额外的冗余信 息来防止多块磁盘失效。这里不用奇偶校验, 而是用到错误校验码,例如Reed-Solomon码。
设备管理有关数据结构关系
设备表
设备表
设备表
请求包
请求包
6.2.4.
缓冲技术
在进程数据区与外设之间设立缓冲区 可以改善进程运行速度与I/O传输速度之间 的速差矛盾。
一、单缓冲 当用户进程发出I/O请求时,操作系统在 主存的系统空间为该操作分配一个缓冲区, 可以实现预读和滞后写。
二、双缓冲 可以实现用户数据区—缓冲区之间交换数 据和缓冲区—外设之间交换数据并行。
•RAID级别2:RAID级别2也叫做存储类型校 验码(ECC)结构。单个位的错误被存储器 系统检测出来。错误校验方案存储两个或更 多额外的位,可在单个位被破坏时重建数据。 •RAID级别3:称为bit-interleaved奇偶校 验结构,在级别2上进行了改善,磁盘控制 器可以检测扇区是否被正确读,因此一个单 独的奇偶校验位可用来进行错误校验,也可 以用于检测。 •RAID级别4:称为block-interleaved奇偶 校验结构,运用块级条带化,像在RAID0中 一样,此外,对于N个磁盘上的对应块,在 另外单独的磁盘上保存奇偶校验块。
二.设备管理有关的数据结构
•描述设备、控制器等部件的表格。系统中常常为 每一个部件、每一台设备分别设置一张表格,常 称为设备表或部件控制块。这类表格具体描述设 备的类型、标识符、进行状态,以及当前使用者 的进程标识符等。 •建立同类资源的队列。系统为了方便对I/O设备 的分配管理,通常在设备表的基础上通过指针将 相同物理属性的设备联成队列(称设备队列)。 •面向进程I/O请求的动态数据结构。每当进程发 出块I/O请求时,系统建立一张表格(称I/O请求 包)。将此次I/O请求的参数填入表中,同时也将 该I/O有关的系统缓冲区地址等信息填入表中。 I/O请求包随着I/O的完成而删除。 •建立I/O队列。如请求包队列 。
52 6 3 1 7 4 0
6.3.3.盘阵 •通过冗余提高可靠性 :如建立镜像盘。 •通过并行性提高性能 :如将原来在一个 物理盘连续的数据分条分布到多盘。 abcdefghijklmnopqrst
a A
aeimq bfjnr cgkos dhlpt
A为a的备份 将数据分布到多个盘中
RAID级别 •RAID级别0:指用到块级条带化的磁盘阵 列。 •RAID级别1:指磁盘镜像。
三、设备驱动与中断处理
• 设备驱动程序 包括了所有与设备相关的代码,其功能 是从与设备无关的软件中接收I/O请求,排 入请求队列或执行之。 • 中断处理 当进程进行I/O操作时,将其阻塞至I/O 操作结束并发生中断。中断发生时,由中断 处理程序启动请求排队的下一请求并解除等 I/O进程的阻塞状态,使其能够继续执行。
多磁头活动头盘示意图
存取装置 动臂
主轴
盘片
柱面
磁道 读写头
• 光学存储设备
• CD-ROM
• CD-R,CD-RW • DVD等
6.3.2 .磁盘调度 磁盘地址:台号+柱面号+盘面号+扇区号 读写一次磁盘信息所需的时间可分解为: 寻找时间、延迟时间、传输时间 为提高磁盘传输效率,软件应着重考虑减 少寻找时间和延迟时间
第十五讲 设备管理、磁盘设备
目的与要求:理解设备管理子系统的层次, 功能及技术、了解磁盘设备。 重点与难点:层次结构;设备驱动程序;缓 冲技术;磁盘调度的方法;盘阵选择。 作业: 6,8,11,16,18
6.2.2 输入输出层次结构
通常,操作系统将设备管理系统划分并组 织成三个层次: • 用户层I/O • 设备无关的I/O • 设备驱动及中断处理
6.2.3.设Leabharlann Baidu驱动程序
一.设备驱动程序接口函数 •驱动程序初始化函数:这个函数是为了使驱动程 序其它函数能被上层正常调用,而做一些针对驱 动程序本身的初始化工作。如向操作系统登记该 驱动程序的接口函数,该初始化函数在系统启动 时或驱动程序安装入内核时执行。 •驱动程序卸载函数:是驱动程序初始化函数的逆 过程,在支持驱动程序可动态加载卸载的系统中 才需要。 • 申请设备函数:该函数申请一个驱动程序所管 理的设备,按照设备特性进行独占式占用或者分 时共享式占用,如果是独占式申请成功还应该对 设备做初始化工作。 • 释放设备函数:是申请设备函数的逆过程。
用户层I/O 系统调用接口,设备无关的操作系统软件 设备驱动及中断处理 硬件
用户进程 用户层I/O
核 心 态 运 行
设备无关 的I/O 设备驱动及 中断处理 硬件
设 备 管 理 子 系 统 逻辑结构图
系统调用各模块关系图 用户程序 用户程序 系统调用接口
用户态
核心态
标准C库I/O函数
内核总控 系统调用处理总控