收藏 分销(赏)

操作系统62.pptx

上传人:a199****6536 文档编号:4169371 上传时间:2024-08-09 格式:PPTX 页数:25 大小:251.29KB
下载 相关 举报
操作系统62.pptx_第1页
第1页 / 共25页
操作系统62.pptx_第2页
第2页 / 共25页
操作系统62.pptx_第3页
第3页 / 共25页
操作系统62.pptx_第4页
第4页 / 共25页
操作系统62.pptx_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、6.2.2 6.2.2 输入输出层次结构输入输出层次结构 通常,操作系统将设备管理系统划分并组织通常,操作系统将设备管理系统划分并组织成三个层次:成三个层次:用户层用户层I/OI/O 设备无关的设备无关的I/OI/O 设备驱动及中断处理设备驱动及中断处理用户层I/O设备驱动及中断处理硬件系统调用接口,设备无关的操作系统软件第1页/共25页用户进程用户进程用户层用户层I/OI/O设备无关设备无关的的I/OI/O设备驱动及设备驱动及中断处理中断处理硬件硬件设设备备管管理理子子系系统统逻辑结构图逻辑结构图核核心心态态运运行行第2页/共25页用户程序用户程序标准标准C C库库I/OI/O函数函数内核总

2、控内核总控系统调用处理总控系统调用处理总控WriteWrite处理处理(文件系统、文件系统、TCP/IP)TCP/IP)磁盘控制器磁盘控制器/网卡网卡盘盘/网卡中断处理网卡中断处理用户态用户态核心态核心态异步调用接口异步调用接口磁盘驱动程序磁盘驱动程序/网卡驱动网卡驱动系统调用各模块关系图系统调用接口系统调用接口用户程序用户程序第3页/共25页一、用户层一、用户层I/OI/O 这一层与设备的控制细节无关,不直接这一层与设备的控制细节无关,不直接与设备打交道。与设备打交道。它将设备它将设备(或在设备上的逻辑对象)看或在设备上的逻辑对象)看作逻辑资源,为用户进程提供各类作逻辑资源,为用户进程提供各

3、类I/OI/O函数。函数。用户以设备标识符和一些简单的函数来使用用户以设备标识符和一些简单的函数来使用设备,如打开、关闭、读、写等。设备,如打开、关闭、读、写等。如如C C库中的函数库中的函数fopen();fread();fopen();fread();fwrite();fclose()fwrite();fclose()等等 。第4页/共25页二、设备无关的二、设备无关的I/OI/O 这一层的基本功能:执行适用于所有设这一层的基本功能:执行适用于所有设备的公共备的公共I/OI/O功能,并向其上层提供统一的功能,并向其上层提供统一的系统调用接口。主要任务:系统调用接口。主要任务:设备命名及与设

4、备驱动程序的映射。在设备命名及与设备驱动程序的映射。在UNIXUNIX中,如中,如/dev/tty00/dev/tty00唯一地确定了一个唯一地确定了一个inodeinode数据结构,其中包含了主设备号,通数据结构,其中包含了主设备号,通过主设备号可以找到相应的设备驱动程序。过主设备号可以找到相应的设备驱动程序。设备访问保护。设备访问保护。分配及释放独占型设备。分配及释放独占型设备。设备设备I/OI/O数据缓冲机制。数据缓冲机制。文件系统功能、文件系统功能、TCP/IPTCP/IP协议等协议等(支持设备支持设备上的逻辑存储、通讯对象)上的逻辑存储、通讯对象)第5页/共25页三、设备驱动与中断处

5、理三、设备驱动与中断处理 设备驱动程序设备驱动程序 包括了所有与设备相关的代码,其功能包括了所有与设备相关的代码,其功能是从与设备无关的软件中接收是从与设备无关的软件中接收I/OI/O的请求,的请求,排入请求队列或执行之。排入请求队列或执行之。中断处理中断处理 当进程进行当进程进行I/OI/O操作时,将其阻塞至操作时,将其阻塞至I/OI/O操作结束并发生中断。中断发生时,由中断操作结束并发生中断。中断发生时,由中断处理程序启动请求排队的下一请求(如果有)处理程序启动请求排队的下一请求(如果有)并解除等并解除等I/OI/O进程的阻塞状态,使其能够继进程的阻塞状态,使其能够继续执行。续执行。第6页

6、/共25页6.2.3.6.2.3.缓冲技术缓冲技术一、单缓冲一、单缓冲 当用户进程发出当用户进程发出I/OI/O请求时,操作系统在请求时,操作系统在主存的系统空间为该操作分配一个缓冲区,主存的系统空间为该操作分配一个缓冲区,可以实现预读和滞后写。可以实现预读和滞后写。在进程数据区与外设之间设立缓冲区在进程数据区与外设之间设立缓冲区可以改善进程运行速度与可以改善进程运行速度与I/OI/O传输速度之间传输速度之间的速差矛盾。的速差矛盾。第7页/共25页二、双缓冲二、双缓冲 可以实现用户数据区可以实现用户数据区缓冲区之间交换数缓冲区之间交换数据和缓冲区据和缓冲区外设之间交换数据并行。外设之间交换数据

7、并行。三、循环缓冲三、循环缓冲 引入系统缓冲池,采用有限缓冲区的生产引入系统缓冲池,采用有限缓冲区的生产者者/消费者模型对缓冲池中的缓冲区进行循消费者模型对缓冲池中的缓冲区进行循环使用。环使用。缓冲区结合预读和滞后写技术对具有重复缓冲区结合预读和滞后写技术对具有重复性及阵发性性及阵发性I/OI/O进程提高进程提高I/OI/O速度很有帮助。速度很有帮助。第8页/共25页缓冲A缓冲G缓冲E缓冲C缓冲B缓冲D缓冲F缓冲HHash表方式的设备缓冲队列空闲队列头 缓冲区管理示例第9页/共25页6.2.4.6.2.4.设备驱动程序设备驱动程序 一设备驱动程序接口函数一设备驱动程序接口函数驱动程序初始化函数

8、驱动程序初始化函数:这个函数是为了使驱动程:这个函数是为了使驱动程序其它函数能被上层正常调用,而做一些针对驱序其它函数能被上层正常调用,而做一些针对驱动程序本身的初始化工作。如向操作系统登记该动程序本身的初始化工作。如向操作系统登记该驱动程序的接口函数,该初始化函数在系统启动驱动程序的接口函数,该初始化函数在系统启动时或驱动程序安装入内核时执行。时或驱动程序安装入内核时执行。驱动程序卸载函数驱动程序卸载函数:是驱动程序初始化函数的逆:是驱动程序初始化函数的逆过程,在支持驱动程序可动态加载卸载的系统中过程,在支持驱动程序可动态加载卸载的系统中才需要。才需要。申请设备函数申请设备函数:该函数申请一

9、个驱动程序所管理:该函数申请一个驱动程序所管理的设备,按照设备特性进行独占式占用或者分时的设备,按照设备特性进行独占式占用或者分时共享式占用,如果是独占式申请成功还应该对设共享式占用,如果是独占式申请成功还应该对设备做初始化工作。备做初始化工作。释放设备函数释放设备函数:是申请设备函数的逆过程。:是申请设备函数的逆过程。第10页/共25页I IO O操作函数操作函数:这个函数实现对设备的:这个函数实现对设备的I IO O。如。如果对独占型设备,包含了启动果对独占型设备,包含了启动I IO O的指令,对分的指令,对分时共享型设备,该函数通常将时共享型设备,该函数通常将I IO O请求形成一个请求

10、形成一个请求包,将其排到设备请求队列,如果请求队列请求包,将其排到设备请求队列,如果请求队列空,则直接启动设备。空,则直接启动设备。中断处理函数中断处理函数:这个函数在设备:这个函数在设备I IO O完成时向完成时向CPUCPU发中断后被调用。该函数对发中断后被调用。该函数对I IO O完成作善后处理,完成作善后处理,一般是找到等待刚完成一般是找到等待刚完成I IO O请求的阻塞进程,将请求的阻塞进程,将其就绪,使其能进一步作后续工作。如果存在其就绪,使其能进一步作后续工作。如果存在I IO O请求队列,则启动下一个请求队列,则启动下一个I IO O请求。请求。第11页/共25页5.5.设备管

11、理有关的数据结构设备管理有关的数据结构描述设备、控制器等部件的表格描述设备、控制器等部件的表格。系统中常常为系统中常常为每一个部件、每一台设备分别设置一张表格,常称每一个部件、每一台设备分别设置一张表格,常称为部件控制块或设备表。这类表格具体描述设备的为部件控制块或设备表。这类表格具体描述设备的类型、标识符、进行状态,以及当前使用者的进程类型、标识符、进行状态,以及当前使用者的进程标识符等。标识符等。建立同类资源的队列建立同类资源的队列。系统为了方便对系统为了方便对I/OI/O设备的设备的分配管理,通常在设备表的基础上通过指针将相同分配管理,通常在设备表的基础上通过指针将相同物理属性的设备联成

12、队列(称设备队列)。物理属性的设备联成队列(称设备队列)。面向进程面向进程I/OI/O请求的动态数据结构请求的动态数据结构。每当进程发出每当进程发出块块I/OI/O请求时,系统建立一张表格(称请求时,系统建立一张表格(称I/OI/O请求包)。请求包)。将此次将此次I/OI/O请求的参数填入表中,同时也将该请求的参数填入表中,同时也将该I/OI/O有有关的系统缓冲区地址等信息填入表中。关的系统缓冲区地址等信息填入表中。I/OI/O请求包请求包随着随着I/OI/O的完成而删除。的完成而删除。建立建立I/OI/O队列队列。如请求包队列如请求包队列。第12页/共25页设备表设备表设备表请求包请求包设备

13、管理有关数据结构关系 第13页/共25页6 63 3存储设备存储设备6.3.1.6.3.1.常见存储外设常见存储外设 磁盘磁盘 数据组织数据组织 (一个磁盘有多个盘面组成,盘面有一个磁盘有多个盘面组成,盘面有同心圆磁道组成,磁道由扇区组成,同心圆磁道组成,磁道由扇区组成,扇区为基本传输单位)扇区为基本传输单位)物理特性物理特性 (单磁头,多磁头)(单磁头,多磁头)第14页/共25页存取装置存取装置主轴主轴动臂动臂盘片盘片柱面柱面磁道磁道读写头读写头多磁头活动头盘示意图 第15页/共25页 光学存储设备光学存储设备 CD-ROMCD-ROM CD-R,CD-RW CD-R,CD-RW第16页/共

14、25页6.3.2.6.3.2.磁盘调度磁盘调度磁盘地址:设备号磁盘地址:设备号+柱面号柱面号+盘面号盘面号+扇区号扇区号 读写一次磁盘信息所需的时间可分解为:读写一次磁盘信息所需的时间可分解为:寻找时间、延迟时间、传输时间寻找时间、延迟时间、传输时间 为提高磁盘传输效率,软件应着重考虑减为提高磁盘传输效率,软件应着重考虑减少寻找时间和延迟时间少寻找时间和延迟时间第17页/共25页一、减少寻找时间的方法一、减少寻找时间的方法 减少寻找时间是提高磁盘传输效率的关键。减少寻找时间是提高磁盘传输效率的关键。因为因为“寻找时间寻找时间”在几十毫秒时间量级。在几十毫秒时间量级。操作系统磁盘驱动程序可以通过

15、合理调度操作系统磁盘驱动程序可以通过合理调度多道进程对磁盘的访问请求顺序,达到减少多道进程对磁盘的访问请求顺序,达到减少磁盘平均服务时间的目的。磁盘平均服务时间的目的。第18页/共25页调度策略调度策略:FCFSFCFS(First Come First ServedFirst Come First Served)SSTFSSTF(Shortest Seek Time FirstShortest Seek Time First)SCANSCAN调度调度(电梯调度法)电梯调度法)C-SCANC-SCAN调度(一个方向响应请求)调度(一个方向响应请求)LOOKLOOK调度、调度、C-LOOKC-L

16、OOK调度(是调度(是scanscan和和c-c-scanscan的改进)的改进)第19页/共25页二、减少延迟时间的方法二、减少延迟时间的方法一般常将盘面扇区交替编号;一般常将盘面扇区交替编号;磁盘迭中不同盘面错开命名。磁盘迭中不同盘面错开命名。04157362704136253704625163702514第20页/共25页6.3.3.6.3.3.盘阵盘阵通过冗余提高可靠性通过冗余提高可靠性 :如建立镜像盘。如建立镜像盘。通过并行性提高性能通过并行性提高性能 :如将原来在一个物如将原来在一个物理盘连续的数据分条分布到多盘。理盘连续的数据分条分布到多盘。aAA A为为a a的备份的备份abc

17、defghijklmnopqrstaeimq bfjnr cgkos dhlpt将数据分布到多个盘中将数据分布到多个盘中第21页/共25页RAIDRAID级别级别RAIDRAID级别级别0 0:指用到块级条带化的磁盘阵列。:指用到块级条带化的磁盘阵列。RAIDRAID级别级别1 1:指磁盘镜像。:指磁盘镜像。冗余(a)RAID 0:无冗余条带化(b)RAID1:镜像磁盘 C 第22页/共25页RAIDRAID级别级别0+10+1:是指:是指RAIDRAID级别级别0 0和和1 1的结合。的结合。RAID0 RAID0 提供性能,提供性能,RAID1RAID1提供可靠性。它通提供可靠性。它通常用

18、于性能和可靠性都很重要的环境中。常用于性能和可靠性都很重要的环境中。RAIDRAID级别级别1+01+0,其中磁盘被镜像成对,然后,其中磁盘被镜像成对,然后最后所得到的镜像对被条带化。这种最后所得到的镜像对被条带化。这种RAIDRAID比比起起RAID0+1RAID0+1有理论上的优势。例如,如果在有理论上的优势。例如,如果在RAID0+1RAID0+1中单独一个磁盘失效,其他盘上的中单独一个磁盘失效,其他盘上的对应条带都不可访问。对于对应条带都不可访问。对于RAID1+0RAID1+0中的一中的一个磁盘失效,这个单独的磁盘不可用,但它个磁盘失效,这个单独的磁盘不可用,但它的镜像盘仍然可用。的

19、镜像盘仍然可用。第23页/共25页RAIDRAID级级别别2 2:RAIDRAID级级别别2 2也也叫叫做做存存储储类类型型校校验验码码(ECCECC)结结构构。单单个个位位的的错错误误被被存存储储器器系系统统检检测测出出来来。错错误误校校验验方方案案存存储储两两个个或或更更多额外的位,可在单个位被破坏时重建数据。多额外的位,可在单个位被破坏时重建数据。RAIDRAID级别级别3 3:称为:称为bit-interleavedbit-interleaved奇偶校奇偶校验结构,在级别验结构,在级别2 2上进行了改善,磁盘控制上进行了改善,磁盘控制器可以检测扇区是否被正确读,因此一个单器可以检测扇区

20、是否被正确读,因此一个单独的奇偶校验位可用来进行错误校验,也可独的奇偶校验位可用来进行错误校验,也可以用于检测。以用于检测。RAIDRAID级别级别4 4:称为:称为block-interleavedblock-interleaved奇偶奇偶校验结构,运用块级条带化,像在校验结构,运用块级条带化,像在RAID0RAID0中中一样,此外,对于一样,此外,对于N N个磁盘上的对应块,在个磁盘上的对应块,在另外单独的磁盘上保存奇偶校验块。另外单独的磁盘上保存奇偶校验块。第24页/共25页RAIDRAID级别级别5 5:称为:称为block-interleavedblock-interleaved分布

21、式分布式奇偶校验,与级别奇偶校验,与级别4 4不同在于,把数据和奇偶不同在于,把数据和奇偶校验分布到所有的校验分布到所有的N+1N+1个磁盘上,而不是把数个磁盘上,而不是把数据存储在据存储在N N个磁盘上,把奇偶校验值存储在另个磁盘上,把奇偶校验值存储在另一个磁盘上。一个磁盘上。RAID5RAID5避免了在避免了在RAID4RAID4中可能出中可能出现的过度使用单独一个奇偶校验磁盘的情况。现的过度使用单独一个奇偶校验磁盘的情况。RAIDRAID级别级别6 6:RAIDRAID级别级别6 6,也叫做,也叫做P+QP+Q冗余模冗余模式,很像式,很像RAIDRAID级别级别5 5,但存储了额外的冗余信,但存储了额外的冗余信息来防止多块磁盘失效。这里不用奇偶校验,息来防止多块磁盘失效。这里不用奇偶校验,而是用到错误校验码,例如而是用到错误校验码,例如Reed-SolomonReed-Solomon码。码。第25页/共25页

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 通信科技 > 操作系统相关

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服