![操作系统设计与实现教材_第1页](http://file4.renrendoc.com/view/81edcb2f5bf175b4209ba543d2754985/81edcb2f5bf175b4209ba543d27549851.gif)
![操作系统设计与实现教材_第2页](http://file4.renrendoc.com/view/81edcb2f5bf175b4209ba543d2754985/81edcb2f5bf175b4209ba543d27549852.gif)
![操作系统设计与实现教材_第3页](http://file4.renrendoc.com/view/81edcb2f5bf175b4209ba543d2754985/81edcb2f5bf175b4209ba543d27549853.gif)
![操作系统设计与实现教材_第4页](http://file4.renrendoc.com/view/81edcb2f5bf175b4209ba543d2754985/81edcb2f5bf175b4209ba543d27549854.gif)
![操作系统设计与实现教材_第5页](http://file4.renrendoc.com/view/81edcb2f5bf175b4209ba543d2754985/81edcb2f5bf175b4209ba543d27549855.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、操作系统设计与实现第四章I/O设备管理主讲教师:史广顺 gsshigsshi1内容提要要I/O设设备管理理概述I/O硬硬件原理理与软件件原理进程死锁锁I/O设设备管理理实例剖剖析内容提要要2I/O设设备管理理系统结结构图设备管理理概述操作系统I/O硬件管理I/O软件管理上层用户户程序(应用层层)设备控制器命令寄存存器底层硬件设备(物理层)中断处理理程序设备驱动动程序设备无关关程序用户进程程状态寄存存器数据寄存存器3I/O设设备的特特点分析析操作系统统需要管管理的最最复杂的的资源I/O设备备I/O设设备种类类繁多,工作模模式各不不相同I/O设设备数据据多样,处理方方式各不不相同I/O设设备性能能
2、参差,运行控控制多种种多样最容易成成为计算算机系统统的瓶颈颈I/O设设备很多I/O设备备使用机机械操作作,导致致其速度度较CPU相差差很大进程运行行中的输输入输出出操作可可能造成成系统运运行的性性能瓶颈颈I/O管管理:如如何最大大限度保保证I/O设备备与CPU的并并行工作作最实用、最体现现操作系系统特色色的工作作I/O管管理兼容性:操作系系统最难难以完成成的使命命标准化:IT技技术迅速速普及发发展的本本质高性能:I/O设备发发展的主主要目标标I/O硬件管理理4I/O设设备分类类按照设备备的功能能特性划划分存储型设设备:保保存各类类数据(临时或或永久)输入输出出型设备备:提供供人机交交互手段段数
3、据通信信型设备备:实现现电子数数据交换换按照数据据的组织织形式划划分块设备:以数据据块为单单位存储储、传输输数据字符设备备:以字字节为单单位存储储、传输输数据按照资源源分配的的形式划划分独占式设设备:一一个时刻刻只能由由一个进进程使用用,一般般为低速速I/O设备共享式设设备:一一个时刻刻可由多多个进程程使用,资源利利用率很很高虚拟式设设备:用用高速设设备模拟拟低速设设备,用用共享设设备模拟拟独占设设备按照程序序使用的的方式划划分逻辑设备备:由操操作系统统维护,简便用用户操作作和控制制的“设设备结构构”物理设备备:由硬硬件结构构组成,真实完完成各类类I/O设备操操作I/O硬件管理理5I/O设设备
4、的差差别I/O设设备的评评价标准准设备的数数据传输输单位和和传输率率设备的数数据表示示和应用用目标设备的控控制方式式和出错错情况I/O硬件管理理6I/O管管理的任任务和目目标根据用户户请求,控制各各类I/O设备备实现用用户的目目标控制设备备操作,实现设设备与内内存的数数据交换换设备的分分配与回回收、设设备驱动动程序、设备中中断管理理、各类类缓冲区区管理等等向用户提提供方便便的I/O设备备接口,屏蔽底底层硬件件细节差差别虚拟机逻辑辑设备的的作用:用户能能够简单单方便的的使用I/O设设备设备接口口的方便便性、友友好性、透明性性、设备备无关性性利用各种种技术,提高I/O设设备的运运行效率率设备与CP
5、U之之间、设设备之间间的并行行设备负载载的均衡衡:保持持设备的的充分忙忙碌实现对I/O设设备的管管理和保保护设备的分分配与回回收:针针对独占占设备和和共享设设备,实实现合理理的资源源分配设备的数数据保护护:不同同设备之之间的保保护、设设备内部部的保护护I/O硬件管理理7内容提要要I/O设设备管理理概述I/O硬硬件原理理与软件件原理进程死锁锁I/O设设备管理理实例剖剖析内容提要要8I/O设设备硬件件组成I/O设设备的硬硬件结构构机械部分分(物理理装置):由模模拟信号号驱动的的各种机机械装置置控制器/适配器器(电子子装置):实现现与主机机的连接接和通信信设备控制制器的工工作方式式常以板卡卡的形式式
6、与主板板的总线线插槽连连接通过设备备的接口口寄存器器、缓冲冲区与CPU进进行通信信设备控制制器的工工作内容容地址译码码:实现现对I/O地址址空间的的正确映映射外部通信信:接受受或者发发送数据据/状态态信号执行指令令:将数数字化指指令转化化为机械械装置能能够理解解的模拟拟信号性能增强强:实现现内部硬硬件缓冲冲、完成成数据加加工等性性能提升升目标I/O硬件管理理9操作系统统的硬件件环境课程导论论10I/O设设备接口口的工作作流程I/O操操作过程程的细分分准备、启启动、测测试和等等待、结结果检查查和错误误处理I/O设设备接口口的作用用接口寄存存器:保保存命令令、状态态或者数数据接口缓冲冲区:用用来保
7、存存大量数数据的缓缓冲区通过I/O设备备接口,CPU可以设设定指令令或状态态、可以以读取状状态和结结果I/O设设备接口口的工作作方式设置命令令寄存器器和状态态寄存器器:CPU通过过总线与与I/O接口通通信I/O设设备与CPU并并行工作作:控制制器根据据指令完完成相应应I/O操作通过中断断向CPU发出出信号:工作完完成后通通过硬件件中断通通知CPUI/O硬件管理理11I/O设设备接口口的工作作流程(续)IBMPC的的软盘控控制器可接受15条指指令:READ、WRITE、SEEK、FORMAT等各条指令令均可带带参数,指令和和相关参参数均被被设置到到接口寄寄存器中中位串行工工作机制制:驱动动器提供
8、供“位流流”,控控制器负负责在缓缓冲区中中将其组组装为字字节,并并进行必必要的校校验和纠纠错显示器的的控制器器位串行工工作机制制:从显显示缓冲冲区中读读取可供供显示的的内容,而后产产生用来来调制CRT电电子束的的信号I/O设设备接口口的价值值屏蔽底层层硬件细细节,降降低应用用者的操操作难度度体现模块块化的特特点,适适应不同同的应用用环境通过对I/O设设备接口口进行标标准化,即可方方便实现现兼容I/O硬件管理理12计算机的的系统结结构图课程导论论13I/O设设备的连连接与地地址映射射I/O设设备的连连接方式式连接路径径:I/O设备备与CPU建立立连接时时,所有有有关组组件构成成连接路路径I/O端
9、端口:I/O设设备接口口中有多多个接口口寄存器器或缓冲冲区,每每一个寄寄存器或或缓冲区区被称为为一个I/O端端口I/O端端口地址址空间:实现对对I/O接口寄寄存器/缓冲区区的访问问I/O设设备端口口的编址址方式I/O端端口独立立编址:与内存存空间完完全独立立内存映射射I/O地址:在内存存空间中中划分固固定区域域映射I/O端端口I/O地地址空间间的编址址方式和和使用差差别指令运行行差别:访问的的地址空空间不同同系统资源源消耗:所需要要的资源源数不同同优缺点权权衡:总总线规格格、地址址信息传传输与过过滤、系系统性能能等因素素I/O硬件管理理14I/O端端口独立立编址模模式I/O地地址与内内存空间间
10、完全独独立使用专用用的I/O指令令对I/O端口口进行操操作优缺点分分析优点1:I/O设备不不占用内内存地址址空间,减少系系统资源源消耗优点2:技术实实现复杂杂度低,易于区区分I/O地址址和内存存地址缺点:由由于地址址空间独独立、狭狭小,导导致指令令类型少少,只能能使用简简单的汇汇编语言言编程I/O硬件管理理15I/O端端口的内内存映射射编址方方式I/O端端口地址址空间和和内存地地址空间间统一编编址I/O端端口地址址也被作作为物理理地址空空间的一一部分进进行存储储管理CPU访访问地址址空间时时,将对对地址空空间的范范围进行行判断,然后选选择读取取内存空空间或者者访问I/O端端口内存映射射编址的的
11、优缺点点分析优点1:使得技技术实现现手段更更加方便便,可用用C语言言编写驱驱动程序序优点2:不需要要对I/O地址址空间进进行特殊殊保护,只需要要利用现现有的存存储保护护机制(例如分分页式中中的页表表项设置置)优点3:使得I/O端端口的指指令更加加灵活多多样缺点1:内存映映射方式式中必须须保证I/O端端口的实实时性(禁用高高速缓存存)缺点2:对于双双总线或或者多总总线结构构而言,I/O端口的的地址映映射将比比较困难难和麻烦烦I/O硬件管理理16I/O端端口地址址的映射射与访问问I/O硬件管理理混合方案案中,内内存空间间负责管管理I/O端口,I/O独立编址址部分属属于数据据缓冲区区。例如如Pent
12、ium就使用了了这种方方式17系统总线线对I/O端口口编址的的影响I/O硬件管理理18系统总线线对I/O端口口编址的的影响I/O硬件管理理19I/O设设备的控控制方式式程序控制制I/O(轮询询或忙等等待模式式)CPU直直接与I/O设设备进行行通信,负责将将用户数数据传送送到I/O端口口用户程序序通过系系统调用用来使用用I/O设备CPU需需要不断断查询I/O设设备的端端口状态态,性能能较低中断控制制I/OCPU设设定I/O设备备的初始始值,然然后不再再忙等待待,运行行其他进进程,当当前进程程阻塞I/O设设备完成成对当前前数据的的处理后后,向CPU发发出中断断,I/O中断断处理程程序将负负责传送送
13、剩余数数据中断控制制模式依依然造成成CPU时间的的浪费,而且效效率不高高DMA控控制I/O使用独立立的DMA控制制器代替替CPU的工作作,I/O设备备与DMA通信信,DMA在传传输完成成一个数数据缓冲冲区之后后再向CPU发发中断DMA模模式减少少了中断断次数,同时又又集成了了程序控控制和中中断控制制的优点点I/O通通道机制制DMA机机制过于于简单,有时未未必能够够提高与与CPU并行效效率为此专门门增加了了I/O处理机机,专门门负责I/O设设备的控控制和操操作,与与CPU并行工工作I/O硬件管理理20程序控制制I/O的工作作流程I/O硬件管理理由操作系系统的“服务程程序”负负责将用用户数据据传送
14、至至打印机机端口服务程序序顺序传传送打印印数据,填满接接口缓冲冲区后就就等待(空循环环)每次循环环中都检检查接口口缓冲区区是否可可用,一一旦可用用就继续续传送数数据数据传送送完成后后“服务务程序”结束,用户进进程继续续运行缺点:靠靠CPU以“忙忙等待”的形式式与打印印机进行行通信,浪费CPU资资源21中断控制制I/O的工作作流程I/O硬件管理理“打印服服务程序序”只将将最开始始的数据据传送至至打印机机端口,然后阻阻塞CPU可可继续调调度其他他进程运运行,不不浪费CPU时时间一旦打印印缓冲区区空后,打印机机端口发发出硬件件中断CPU响响应中断断,恢复复“打印印服务程程序”运运行,继继续传送送数据
15、缺点:虽虽然节省省了CPU资源源,但是是中断响响应也消消耗较大大的系统统资源22DMA控控制I/O的工工作流程程I/O硬件管理理用户进程程发出系系统调用用后进入入阻塞态态,CPU直接接设置DMA端端口CPU与与DMA并行工工作,DMA负负责将用用户数据据传送给给打印机机当DMA完成所所有工作作后,向向CPU发出中中断,CPU响响应后唤唤醒用户户进程优点:只只有一次次中断、DMA与CPU并行行提高了了系统运运行效率率缺点:DMA速速度较慢慢,如果果CPU并不繁繁忙,那那么DMA机制制并无太太大意义义23DMA工工作方式式的深入入分析DMA内内部结构构的差异异单路I/O连接接:DMA中只只有一组组
16、寄存器器,只能能连接一一个I/O设备备多路I/O连接接:DMA中有有多组寄寄存器,可同时时连接多多个I/O设备备多路I/O连接接模式下下,DMA内部部也需要要进行适适当的调调度(轮轮转、优优先级)DMA工工作方式式的差异异数据总线线的工作作模式:块模式式和字符符模式,传输数数据的速速率不同同字符模式式(周期期窃取):DMA窃取取一个总总线周期期以传输输一个字字,造成成CPU轻微延延迟块模式(突发模模式):DMA获得总总线控制制权后连连续发出出多个请请求,提提高总线线利用效效率飞越模式式:DMA内部部存在数数据缓冲冲,设备备将数据据发送给给DMA,DMA再进进行转发发DMA模模式的权权衡与分分析
17、DMA保保存的地地址信息息:绝大大多数情情况下DMA保保存的是是物理地地址,CPU负负责将用用户地址址转换为为物理地地址,然然后将其其设置到到DMA中DMA的的数据缓缓冲:DMA内内部也会会使用数数据缓冲冲,这样样会大大大提高I/O通通信效率率DMA的的优劣分分析:DMA比比CPU慢好多多,简单单的应用用环境中中,用CPU要要比DMA好;只有存存在频繁繁的多道道程序并并发的情情况下,DMA才会体体现与CPU并并行的作作用I/O硬件管理理24I/O通通道机制制的引入入与实现现I/O通通道(Channel)的概概念如何以高高速、高高效的方方式控制制I/O设备,是I/O管理理的重要要问题DMA速速度
18、很慢慢,而且且结构简简单,无无法执行行相对复复杂的程程序引入I/O通道道(专门门的处理理机),可以运运行由通通道指令令组成的的通道程程序I/O通通道的工工作方式式和分类类分为字节节多路通通道、选选择通道道、成组组多路通通道三种种I/O通通道采取取“窃取取总线周周期”的的方式实实现对I/O设设备的控控制和数数据传输输I/O通通道就是是一个小小型的处处理机,和CPU共享享内存I/O通通道接到到CPU的指令令后即启启动通道道命令/程序,独立于于CPU控制I/O设设备工作作I/O通通道的结结构组成成CAW:通道地地址寄存存器,用用于记录录通道程程序在内内存中的的地址CCW:通道命命令寄存存器,用用于保
19、存存当前正正在运行行的通道道命令CSW:通道状状态寄存存器,用用于保存存命令执执行后的的结果CDW:通道数数据寄存存器,用用于存放放传输的的数据(起到缓缓冲的作作用)I/O硬件管理理25不同类型型的I/O通道道I/O硬件管理理26单通道与与多通道道I/O硬件管理理27I/O软软件原理理I/O软软件的设设计需求求有哪些些?解决同步步(阻塞塞)异异步(传传输)的的问题。底层:如如何传送送控制命命令?如如何传输输数据?上层:如如何向用用户屏蔽蔽此过程程?如何何调度I/O进进程实现对设设备访问问的错误误处理。简单情况况:可在在硬件底底层解决决的错误误复杂情况况:无法法有效解解决,只只能通知知高层的的错
20、误为便于人人的使用用,实现现设备无无关性统一一命名法法。如何让用用户无需需考虑各各种设备备的差别别,采用用相同的的习惯来来使用?如何管理理不同设设备的统统一命名名?实现现名称与与设备的的映射?I/O设设备的缓缓冲管理理缓冲区的的维护与与使用;实时I/O设设备中缓缓冲区的的预存和和实时性性保持实现对专专有设备备的和共共享设备备的有效效管理共享设备备:如何何记录共共享状态态?专有设备备:如何何实现对对专有设设备的互互斥性访访问?I/O软件管理理28I/O软软件体系系结构I/O软件管理理中断处理理程序底层硬件件设备设备驱动动程序用户I/O软件设备无关关软件I/O请求I/O响应提供系统统库调用用,供人
21、人员使用用;提供供类似Spooling这样的精精灵守护护进程管管理共享享设备命名、保保护、阻阻塞、缓缓冲建立设备备寄存器器、解决决错误处理中断断信号29中断处理理程序控制I/O设备备的基本本方法用户发出出系统调调用或直直接调用用I/O设备,然后用用户进程程阻塞设备驱动动程序启启动I/O操作作,然后后自己阻阻塞I/O设设备完成成操作后后产生中中断,对对应的中中断服务务程序更更新各种种状态信信息用户进程程恢复为为就绪,继续运运行中断处理理程序的的工作过过程保存CPU现场场信息:各类寄寄存器(最重要要的是PSW)为中断服服务程序序设定CPU上上下文:TLB、内核核堆栈等等应答中断断控制器器:屏蔽蔽同
22、类中中断、打打开其他他中断恢复中断断服务进进程的运运行,完完成对设设备控制制器接口口的操作作操作结束束后进行行调度,改变用用户进程程状态,选择下下一个运运行程序序用户进程程恢复正正常运行行,此时时设备驱驱动程序序无事可可干,又又陷入阻阻塞I/O软件管理理30设备驱动动程序设备驱动动程序的的特点用来控制制设备控控制器的的代码和和指令,被称为为设备驱驱动程序序目前的体体系结构构中,设设备驱动动程序属属于操作作系统的的内核部部分操作系统统实现过过程中,需要提提供标准准化的接接口函数数,用于于封装设设备驱动动程序设备驱动动的存在在形式:与操作作系统统统一编译译,或者者运行时时动态链链接设备驱动动程序的
23、的工作过过程接受上层层用户发发送的各各类参数数,并对对输入参参数进行行检查对硬件设设备的可可用性进进行检查查,并接接通或者者启动设设备控制设备备完成对对应的操操作(通通过设置置接口寄寄存器实实现)实现数据据的I/O,同同时返回回操作的的状态结结果。设备驱动动工作过过程中的的特殊考考虑设备驱动动的工作作方式:同步阻阻塞或持持续运行行同步阻塞塞模式下下,必须须考虑支支持“中中断嵌套套”的情情况,将将其设计计为可重重入热插拔系系统中,自动的的适应设设备插入入或者卸卸载I/O软件管理理31设备驱动动程序的的统一接接口I/O软件管理理32缓冲机制制的设计计与实现现I/O软件管理理33用户空间间的I/O软
24、件件I/O操操作相关关的库函函数或工工具包实现对OS内核核设备I/O管管理机制制的封装装向应用层层用户提提供规范范、简洁洁的操作作接口实现I/O管理理底层机机制与上上层用户户的交互互假脱机(Spooling)技术通过应用用软件来来实现对对独占式式I/O设备的的管理缓冲封封装:用用户只需需要管理理“特殊殊I/O文件”守护进程程(Daemon):实现假假脱机目目录利用应用用程序,将独占占式I/O设备备虚拟为为共享设设备I/O软件管理理34I/O设设备管理理小结I/O设设备管理理面对的的各种冲冲突和矛矛盾“独特性性”与“兼容性性”标准化化环境下下的发展展选择“高性能能”与“友好性性”系统资资源消耗耗
25、的代价价取舍硬件实现现与软件件模拟成本本与性能能之间的的权衡I/O设设备管理理的思维维方式统一、规规范的软软硬件平平台是一一切技术术发展的的基础性能稳定定和错误误处理机机制是一一切应用用普及的的前提系统观:软硬搭搭配、高高低结合合是复杂杂问题的的解决思思路未来趋势势:随着着硬件成成本的降降低,软软件的作作用越来来越大I/O设备管理理35内容提要要I/O设设备管理理概述I/O硬硬件原理理与软件件原理进程死锁锁I/O设设备管理理实例剖剖析内容提要要36进程死锁锁原理死锁举例例进程A:获得CD-ROM使使用权,申请打打印机进程B:获得打打印机使使用权,申请CD-ROM死锁:此此时进程程A、B均被阻阻
26、塞,无无法运行行进程死锁锁进程A进程B打印机CD-ROM37进程死锁锁原理死锁的定定义进程死锁锁若一个进进程集合合中的每每一个进进程都在在等待只只能由本本集合中中其他进进程引发发的事件件。则这这种情况况为死锁锁。死锁发生生的条件件互斥条件件:每一一个资源源或者空空闲,或或者被分分配给一一个进程程保持和等等待条件件:已占占有某些些资源的的进程需需申请新新的资源源后方可可继续运运行非剥夺条条件:被被进程占占用的资资源不可可剥夺,只能被被进程本本身显式式释放循环等待待条件:系统必必然存在在一条由由两个或或两个以以上进程程组成的的循环链链,该循循环链中中每个进进程都在在等待临临近的进进程释放放资源38
27、如何理解解死锁概念基础础资源、可可剥夺资资源与不不可剥夺夺资源可剥夺资资源会造造成死锁锁吗?(举例)发生条件件分析保持当前前资源,等待未未分配资资源存在循环环的保持持等待链链,造成成死锁情情况对比理解解死锁与互互斥有哪哪些异同同?操作系统统为什么么要解决决死锁问问题?在所有的的操作系系统中都都会发生生死锁问问题吗?进程死锁锁39死锁的形形式化描描述基于有向向图描述述死锁条条件进程死锁锁40死锁现象象与死锁锁过程产生死锁锁的进程程运行过过程示例例进程死锁锁41死锁现象象与死锁锁过程进程死锁锁产生死锁锁的进程程运行过过程示例例42死锁处理理策略不理会死死锁原因:为为什么耗耗费大量量的时间间在小概概
28、率事件件上呢?死锁检测测与恢复复目标:检检测死锁锁发生,通过撤撤销进程程恢复系系统运行行死锁预防防目标:对对进程加加以适当当限制以以防止死死锁情况况发生死锁避免免目标:不不对进程程加以限限制,由由操作系系统完成成死锁预预防进程死锁锁43鸵鸟算法法核心思想想:忽略略死锁问问题原因:死死锁问题题的发生生是小概概率事件件策略分析析方便性与与正确性性之间的的选择平均情况况与最坏坏情况的的选择进程死锁锁44死锁检测测与恢复复核心思想想:将系系统从死死锁中解解脱方法动机机:与其其耗费大大量时间间来避免免死锁的的发生,不如采采取有效效的手段段解决死死锁死锁检测测的解决决方法每个类型型的资源源只有一一个:基基
29、于图和和集合的的算法检检测是否否有闭环环每个类型型的资源源有多个个:基于于矩阵和和向量比比较方法法检测是是否存在在死锁死锁恢复复的解决决方法进行资源源抢占:将某个个进程的的资源强强制性分分配给其其他进程程利用回退退恢复:设定检检查点,发现存存在死锁锁情况后后则回退退杀死进程程恢复:直接杀杀掉占用用资源的的进程,使得其其他进程程得以运运行;最最关键的的问题是是选择杀杀死哪一一个进程程进程死锁锁45死锁检测测算法简简介每个类型型的资源源只有一一个建立资源源分配图图结构,记录了了所有的的进程、资源和和有向边边从任一结结点开始始进行深深度优先先遍历,如找到到闭环则则结束如某条遍遍历路径径已经到到达终点
30、点,则回回退至上上一结点点,继续续重复此此过程每个类型型的资源源有多个个建立现有有资源标标量、可可用资源源标量、当前分分配矩阵阵、请求求矩阵等等数据结结构对当前分分配矩阵阵,寻找找可满足足资源需需求的进进程,对对其标记记如果有进进程没有有被标记记,说明明该进程程是死锁锁进程进程死锁锁46死锁预防防核心思想想:对进进程加以以限制防防止死锁锁发生设计思路路:针对对四个死死锁条件件,逐一一避免具体解决决方法互斥条件件:使用用Spooling技技术来管管理设备备(保持和等等待条件件:资源源可用性性决定资资源分配配不可剥夺夺条件:由系统统直接剥剥夺此类类资源循环链条条件:资资源编号号,按预预定规则则申请
31、进程死锁锁47死锁避免免核心思想想:不对对进程进进行限制制,预防防死锁设计思路路:操作作系统分分析资源源分配情情况防止止死锁核心思想想安全状态态:存在在某种资资源调度度顺序,保证所所有进程程正常运运行完成成,则称称该状态态为安全全状态不安全状状态:不不存在可可满足所所有进程程正常运运行的资资源调度度顺序,则称该该状态为为不安全全状态具体实现现方法资源轨迹迹图:针针对两个个进程的的死锁避避免银行家算算法:单单种资源源和多种种资源的的算法进程死锁锁48使用资源源轨迹图图方法避避免死锁锁针对两个个进程、两种资资源的死死锁避免免方法条件:两个进程程A和B,两种种资源“打印机机”和“绘图仪仪”根据指令令
32、运行过过程来判判断是否否发生死死锁进程A:P点启启动,I1I3使用用打印机机,I2I4使用绘绘图仪;进程B:Q点启启动,I5I7使用用绘图仪仪,I6I8使用打打印机;进程死锁锁49使用资源源轨迹图图方法避避免死锁锁进程死锁锁50单种资源源银行家家算法核心思想想记录每个个进程的的已有资资源和所所需最大大资源数数对每一个个资源请请求进行行检查,判断是是否会造造成不安安全如果不安安全则不不分配,从而避避免死锁锁方法分析析对任何资资源请求求,都寻寻找是否否存在安安全状态态序列不抱侥幸幸心理,防止任任何死锁锁情况的的发生进程死锁锁51单种资源源银行家家算法进程死锁锁52多种资源源银行家家算法核心思想想对
33、单种资资源银行行家算法法进行扩扩充基于向量量操作来来运行银银行家算算法进程死锁锁53多种资源源银行家家算法处理步骤骤Step1:检检查“仍仍需资源源矩阵”中的每每一行,判断是是否存在在一行,其所需需资源总总数小于于向量A(剩余余资源总总数),失败则则系统死死锁。Step2:如如存在此此行,则则将所有有资源分分配给该该行对应应向量,并将其其状态标标识为结结束。Step3:重重复12步,直至所所有进程程状态为为结束。如果所有有进程状状态均可可标为结结束,则则状态安安全,否否则会发发生死锁锁。进程死锁锁54举例:历历史考研研题举例例北大1997年年OS考考研试题题系统中有有三种资资源(A,B,C)和
34、和5个进进程P1P5资源总数数为(17,5,20),T0时刻刻系统状状态如表表所示,系统采采用银行行家算法法实施死死锁避免免策略进程死锁锁最大资源需求量已分配资源量ABCABCP1559212P2536402P34011405P4425204P542431455举例:历历史考研研题举例例北大1997年年OS考考研试题题请解答以以下问题题:(1)T0时刻刻是否为为安全状状态?若若是则给给出安全全序列(2)在在T0时时刻P2请求资资源(0,3,4),是否能能够实施施资源分分配,为为什么?(3)在在(2)的基础础上,若若P4请请求资源源(2,0,1),是是否能够够实施分分配,为为什么?(4)在在(3
35、)的基础础上,若若P1请请求资源源(0,2,0),是是否能够够实施分分配,为为什么?进程死锁锁56内容提要要I/O设设备管理理概述I/O硬硬件原理理与软件件原理进程死锁锁I/O设设备管理理实例剖剖析内容提要要57Minix中的的I/O设备管管理设备驱动动方式(与Unix的的本质区区别,与与Linux类类似方式式)每一类设设备均有有单独的的设备驱驱动程序序,其中中硬件无无关的内内容形成成公共程程序、硬硬件相关关的内容容作为特特定驱动动。以模模块化组组织提高高系统灵灵活性采用进程程间通信信的方式式完成I/O设设备的使使用(Minix的进进程式组组织结构构)Unix采用过过程调用用的方式式,用户户进
36、程调调用驱动动程序,引发操操作系统统陷入,完成I/O操操作后由由中断处处理程序序唤醒用用户进程程设备管理理方法设备驱动动程序作作为独立立进程存存在,OS启动动时各个个设备驱驱动进程程完成基基本初始始化,而而后等待待消息(阻塞),直到到用户进进程发送送消息(使用I/O设设备)将将其唤醒醒与硬件相相关的设设备驱动动部分作作为过程程被设备备驱动程程序调用用,从而而实现无无关性封封装I/O软软件与死死锁处理理Minix将所所有与设设备无关关的I/O软件件封装在在文件系系统模块块中,所所有的块块设备均均作为一一种特殊殊的文件件用户空间间的I/O软件件主要是是供用户户程序调调用的函函数库Minix中对对死
37、锁的的处理采采用“鸵鸵鸟算法法”I/O管理实例例58进程式OS与整整体式OSI/O管理实例例59Windows中的I/O设设备管理理I/O管管理系统统结构I/O管管理系统统是一个个独立的的系统组组件,存存在于NTOSKRNL.exe文文件中I/O管管理系统统由多个个执行体体组件和和设备驱驱动程序序组成,负责接接受I/O请求求,并针针对性的的将设备备请求传传送到各各类对应应的设备备Windows中将所所有的I/O操操作均看看作对虚虚拟文件件的操作作,所有有的I/O数据据传输都都被看作作“流数数据”,由I/O管理理系统负负责将虚虚拟文件件映射到到对应的的物理设设备上I/O管管理系统统组成I/O管管
38、理器:负责定定义支撑撑设备驱驱动程序序的基本本架构,直接响响应I/O请求求设备驱动动程序:负责定定义并实实现某一一特定类类型设备备的I/O接口口管理PnP管管理器:与I/O管理理器和总总线驱动动程序协协同,检检测硬件件资源的的分配、设备的的变更电源管理理器:与与I/O管理器器协同工工作来检检测整个个系统和和单个设设备,完完成电源源状态转转换WDMWMI:WDM的WMI支支持例程程,负责责实现设设备与WMI服服务之间间的通信信注册表:作为一一个数据据库,存存储基本本硬件描描述信息息以及驱驱动程序序的初始始化和配配置信息息硬件抽象象层:将将设备驱驱动程序序实现为为二进制制可移植植的形式式,实现现对
39、硬件件平台的的独立Windows中的I/O系系统数据据结构文件对象象、驱动动程序对对象、设设备对象象、I/O请求求包I/O管理实例例60Windows中I/O系统统组件I/O管理实例例61Windows中的I/O数数据结构构文件对象象所有I/O设备备被看作作文件对对象,用用户程序序进行I/O操操作时就就像是对对一个文文件进行行操作文件对象象是可共共享的、有设备备无关命命名的、受保护护的、支支持同步步的结构构调用与实实现过程程:C库库函数Win32 DLLNTDLL.DLLNTOSKRNL.DLL驱动程序序对象与与设备对对象驱动程序序对象代代表一个个独立的的驱动程程序,I/O管管理器从从驱动程程
40、序对象象中获得得并且为为I/O记录每每个驱动动程序的的入口点点设备对象象在OS中代表表一个物物理/逻逻辑/虚虚拟的设设备,并并描述设设备的基基本特征征当驱动程程序被加加载时,I/O管理器器将创建建一个驱驱动程序序对象,然后调调用驱动动程序的的初始化化例程,初始化化例程将将创建一一个设备备对象。设备对对象接受受I/O操作请请求,驱驱动程序序对象实实现I/O操作作请求I/O请请求包由固定部部分(标标题)和和堆栈单单元(数数量不定定)组成成,包含含了I/O请求求的各类类信息IRP由由I/O管理器器构造,保存了了I/O请求的的相关信信息,同同时保存存了调用用者的相相关信息息所有的IRP均均保存在在IR
41、P队列中中,当用用户程序序终止后后,I/O系统统将清除除未完成成的IRPI/O管理实例例62I/O请请求涉及及到的数数据结构构I/O管理实例例63Windows中设备备驱动程程序层次次I/O管理实例例64设备驱动动程序的的内容组组成I/O管理实例例65Windows中的I/O处处理简述述设备驱动动程序的的同步操操作驱动程序序在访问问相关数数据时,必须实实现“同同步”操操作,即即以互斥斥的形式式保护各各类共享享数据。在单CPU的的机器上上,通过过同步例例程实现现;在多多CPU的机器器上,通通过“自自旋锁”实现I/O处处理的类类型同步I/O和异异步I/O:绝绝大部分分I/O操作是是以同步步方式实实
42、现的。但是也也可以通通过设定定CreatFile的参数数来使用用异步I/O,异步I/O要要求用户户程序在在设计和和实现时时必须保保证不访访问来自自I/O操作的的数据。在异步步方式下下,用户户程序通通过等待待同步对对象来实实现与异异步I/O操作作的“同同步”快速I/O:允允许I/O系统统不产生生IRP而直接接使用驱驱动程序序执行I/O请请求映射文件件I/O和文件件高速缓缓存映射文件件I/O是将磁磁盘中的的MappingFile作为进进程的虚虚拟内存存一部分分,直接接把文件件作为大大的数组组进行访访问Windows利用Mapping File可可实现文文件高速速缓存和和映象活活动分散/集集中式I/O:运行用用户程序序从虚拟拟内存的的多个缓缓冲区(映射文文件)中中读写数数据到磁磁盘文件件(非高高速缓存存打开)的一个个连续区区域中。I/O管理实例例66盘设备的的管理描描述盘的硬件件组成及及相关原原理磁盘:软软盘和硬硬盘,基基于电磁磁原理存存储数据据,盘面面附着可可磁化金金属氧化化物,磁磁头旋转转保持角角速度一一致即可可只读光盘盘:CD-ROM,基基于光学学原理,利用凹凹痕与槽槽脊的过过渡来
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 门面出租协议书范本
- 数字化合作协议书范本
- 人教版地理七年级上册第一节《多变的天气》听课评课记录5
- 湘教版数学七年级上册1.5.2《有理数的除法》听评课记录
- 常州信息职业技术学院《城市规划原理》2023-2024学年第二学期期末试卷
- 商丘工学院《区域地质与矿产调查》2023-2024学年第二学期期末试卷
- 成都医学院《医学创新》2023-2024学年第二学期期末试卷
- 广西工业职业技术学院《护理教育学》2023-2024学年第二学期期末试卷
- 榆林学院《中外语言文化比较》2023-2024学年第二学期期末试卷
- 西安明德理工学院《细胞生物学专题》2023-2024学年第二学期期末试卷
- AQ/T 6111-2023 个体防护装备安全管理规范(正式版)
- (2020版)煤矿安全生产标准化管理体系评分表
- 城乡低保待遇协议书
- 华为HCIA-Storage H13-629考试练习题
- 2024年注册安全工程师考试题库及参考答案【完整版】
- 辽宁省抚顺五十中学2024届中考化学全真模拟试卷含解析
- 府谷县飞马梁煤矿矿山地质环境保护与土地复垦方案
- 2024年中国科学技术大学少年创新班数学试题真题(答案详解)
- 卫生院药房工作计划
- 国家基本基药培训课件
- 部编版小学语文一年级下册第一单元教材解读分析
评论
0/150
提交评论