《操作系统课件os05设备管理课件.ppt》由会员分享,可在线阅读,更多相关《操作系统课件os05设备管理课件.ppt(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、操作系统操作系统Operating SystemsWINDOWSWINDOWSUNIXUNIXLINUXLINUXOS2OS2VxWorksVxWorksMac OSMac OS第五章第五章 设备管理设备管理 5.4 I/O5.4 I/O软件软件 I/OI/O软件的软件的总体总体设计目标设计目标l高效性高效性提高主机和外设的并行工作能力,提高系统效率。提高主机和外设的并行工作能力,提高系统效率。l通用性通用性设法消除或屏蔽设备硬件内部的低级处理过程设法消除或屏蔽设备硬件内部的低级处理过程为用户提供一个简便、易用、抽象的逻辑设备接口为用户提供一个简便、易用、抽象的逻辑设备接口保证用户安全、方便地
2、使用各类设备。保证用户安全、方便地使用各类设备。层次式结构的层次式结构的I/OI/O软件软件用户层软件用户层软件设备独立性软件设备独立性软件设备驱动程序设备驱动程序硬件硬件中断处理程序中断处理程序用户可直接调用在用户层提供用户可直接调用在用户层提供的、与的、与I/OI/O操作有关的库函数。操作有关的库函数。硬件相关,负责实现系统对设备硬件相关,负责实现系统对设备发出操作指令、驱动发出操作指令、驱动I/OI/O设备工作设备工作用于保存被中断进程的用于保存被中断进程的CPUCPU环境,环境,转入相应的中断处理程序进行处转入相应的中断处理程序进行处理,处理完后再恢复被中断进程理,处理完后再恢复被中断
3、进程的现场后,返回到被中断进程的现场后,返回到被中断进程负责实现与设备驱动器的统一接负责实现与设备驱动器的统一接口、设备命名、设备保护及设备口、设备命名、设备保护及设备分配与释放分配与释放5.4.2 中断处理程序中断处理程序中断处理程序是设备驱动的组成部分之一,位于中断处理程序是设备驱动的组成部分之一,位于OS底层。底层。当设备向当设备向CPU提出中断请求时,提出中断请求时,OS响应请求,并转入中断处响应请求,并转入中断处理程序执行。理程序执行。l检查设备状态寄存器的内容,判别产生中断的原因检查设备状态寄存器的内容,判别产生中断的原因l根据根据I/O完成情况,进行相应处理;完成情况,进行相应处
4、理;l若数据传输有错,应向上层软件报告设备出错信息;若数据传输有错,应向上层软件报告设备出错信息;l若有等待传输的若有等待传输的I/O命令,应通知相关软件启动下一个命令,应通知相关软件启动下一个I/O请求;请求;l 若正常结束,应唤醒等待传输的进程,使其转为就绪。若正常结束,应唤醒等待传输的进程,使其转为就绪。设备驱动程序设备驱动程序设备驱动程序(设备处理程序)设备驱动程序(设备处理程序)l它是它是I/O进程与设备控制器之间的通信程序,进程与设备控制器之间的通信程序,l它常以进程的形式存在,简称为设备驱动进程它常以进程的形式存在,简称为设备驱动进程其主要任务是:其主要任务是:l接收上层软件发来
5、的抽象接收上层软件发来的抽象I/O要求,如要求,如read或或write命令命令在把它转换为具体要求后,发送给设备控制器,在把它转换为具体要求后,发送给设备控制器,启动设备去执行;启动设备去执行;l它也将由设备控制器发来的信号传送给上层软件。它也将由设备控制器发来的信号传送给上层软件。5.4.4 5.4.4 设备独立性软件设备独立性软件1 1设备独立性(设备独立性(设备无关性设备无关性)的概念)的概念l应用程序应用程序独立于独立于具体使用的物理设备。具体使用的物理设备。l在请求在请求使用某类设备使用某类设备时,应用程序中使用逻辑设备名;时,应用程序中使用逻辑设备名;l系统在系统在实际执行实际执
6、行时使用物理设备名。时使用物理设备名。实现设备独立性的功能后,可带来两方面的好处:实现设备独立性的功能后,可带来两方面的好处:1)1)设备分配时的灵活性设备分配时的灵活性。2)2)易于实现易于实现I/OI/O重定向重定向。l用于用于I/OI/O操作的设备可以更换,而不必改变应用程序。操作的设备可以更换,而不必改变应用程序。5.4.5 5.4.5 用户层的用户层的I/OI/O软件软件大部分大部分I/OI/O软件都在操作系统内部,但仍有一小部分在用户软件都在操作系统内部,但仍有一小部分在用户层层用户层软件须通过一组系统调用来取得操作系统服务。用户层软件须通过一组系统调用来取得操作系统服务。l在现代
7、的高级语言和在现代的高级语言和C C语言中,通常提供了与各语言中,通常提供了与各系统调用系统调用一一对应的一一对应的库函数库函数。l许多现代操作系统中,使用许多现代操作系统中,使用C C语言编写的程序中可直接使语言编写的程序中可直接使用这些系统调用。用这些系统调用。count=write(fdcount=write(fd,bufferbuffer,nbytes)nbytes);5.5设设 备备 分分 配配 5.5.1 5.5.1 设备分配中的数据结构设备分配中的数据结构设备控制表设备控制表(DCT)(DCT)、控制器控制表、通道控制表和系统设、控制器控制表、通道控制表和系统设备表备表设备控制表
8、设备控制表系统为系统为每一个每一个I/O设备设备都配置了一张用于记录本设备情况都配置了一张用于记录本设备情况的设备控制表(的设备控制表(Device Control Table,DCT)。)。控制器控制表控制器控制表系统为系统为每一个控制器每一个控制器都配置了一张记录本控制器情况的控都配置了一张记录本控制器情况的控制器控制表(制器控制表(COntroler Control Table,COCT)。)。通道控制表通道控制表每个通道每个通道都有一张通道控制表(都有一张通道控制表(CHannel Control Table,CHCT)。)。该表只有在通道控制方式的系统中存在。该表只有在通道控制方式的
9、系统中存在。系统设备表系统设备表系统建立系统建立一张系统设备表一张系统设备表记录配置在系统中的所有物理设备的情况。记录配置在系统中的所有物理设备的情况。每台物理设备占用一栏,包括每台物理设备占用一栏,包括设备类型、台数、设备号、设备控制表指针等设备类型、台数、设备号、设备控制表指针等5.5.2 5.5.2 设备分配时应考虑的因素设备分配时应考虑的因素1 1设备的固有属性设备的固有属性独占独占性性应采用独享分配策略应采用独享分配策略共享共享性性;须注意对这些进程访问该设备的须注意对这些进程访问该设备的先后次序先后次序进行合理的调度进行合理的调度可虚拟可虚拟设备设备l指设备本身虽是独占设备,但经过
10、某种技术处理,可以指设备本身虽是独占设备,但经过某种技术处理,可以把它改造成虚拟设备。把它改造成虚拟设备。l可虚拟设备是可共享的设备可虚拟设备是可共享的设备l对这些访问该对这些访问该(物理物理)设备的设备的先后次序先后次序进行控制进行控制设备分配时应考虑的因素设备分配时应考虑的因素2 2设备分配算法设备分配算法先来先服务;先来先服务;该算法是根据诸进程对某设备提出请求的先后次序,将这些该算法是根据诸进程对某设备提出请求的先后次序,将这些进程排成一个进程排成一个设备请求队列设备请求队列,设备分配程序总是把设备首先,设备分配程序总是把设备首先分配给队首进程。分配给队首进程。优先级优先级本算法总是将
11、设备分配给优先级最高的进程;本算法总是将设备分配给优先级最高的进程;通常在形成设备队列时,是将优先级高的进程排在前面;通常在形成设备队列时,是将优先级高的进程排在前面;对于相同优先级的对于相同优先级的I IO O请求,则按先来先服务原则排队。请求,则按先来先服务原则排队。设备分配时应考虑的因素(设备分配时应考虑的因素(1 1)3 3分配中的安全性分配中的安全性安全分配方式安全分配方式进程获得某种设备后便阻塞,使该进程不可能再请求任何进程获得某种设备后便阻塞,使该进程不可能再请求任何资源,而在它运行时又不保持任何资源。资源,而在它运行时又不保持任何资源。CPUCPU与与I/OI/O设备是串行工作
12、的。设备是串行工作的。优点:优点:l摒弃了摒弃了“请求和保持请求和保持”条件,不会产生死锁条件,不会产生死锁缺点:缺点:l推进速度缓慢推进速度缓慢设备分配时应考虑的因素(设备分配时应考虑的因素(2)不安全分配方式不安全分配方式进程发出进程发出I/O请求后仍继续运行,继续申请请求后仍继续运行,继续申请I/O设备设备仅当进程所请求的设备己被另一进程占用时,进程才进入仅当进程所请求的设备己被另一进程占用时,进程才进入阻塞状态。阻塞状态。优点:可操作多个设备,推进迅速优点:可操作多个设备,推进迅速缺点:可能产生死锁缺点:可能产生死锁应增加死锁的应增加死锁的安全性计算安全性计算,仅当安全情况下才进行设备
13、分,仅当安全情况下才进行设备分配。配。独占设备的分配程序独占设备的分配程序分配设备分配设备分配设备分配设备1 1分配控制器分配控制器分配控制器分配控制器1 1分配通道分配通道分配通道分配通道1 1申请设备申请设备申请设备申请设备1 1按设备物理名查按设备物理名查SDT设备忙?设备忙?根据安全策略进行分配根据安全策略进行分配由由DCT查查COCT分配控制器分配控制器由由COCT查查CHCT分配通道分配通道否否是是由由SDT查设备查设备 DCT进程的进程的PCBPCB放入放入此设备队列此设备队列2 2设备分配程序的改进设备分配程序的改进上述基本的设备分配程序后可以发现上述基本的设备分配程序后可以发现:进程是以进程是以物理设备名物理设备名来提出来提出I/O请求的;请求的;采用的是采用的是单通路单通路的的I/O系统结构,容易产生系统结构,容易产生“瓶颈瓶颈”现象现象从以下两方面对基本的设备分配程序加以改进从以下两方面对基本的设备分配程序加以改进1 1)增加设备的独立性)增加设备的独立性2 2)考虑多通路情况)考虑多通路情况作业作业P202 15
限制150内