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