操作系统原理与实践教程07

上传人:ji****72 文档编号:48566487 上传时间:2018-07-17 格式:PPT 页数:44 大小:536KB
返回 下载 相关 举报
操作系统原理与实践教程07_第1页
第1页 / 共44页
操作系统原理与实践教程07_第2页
第2页 / 共44页
操作系统原理与实践教程07_第3页
第3页 / 共44页
操作系统原理与实践教程07_第4页
第4页 / 共44页
操作系统原理与实践教程07_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《操作系统原理与实践教程07》由会员分享,可在线阅读,更多相关《操作系统原理与实践教程07(44页珍藏版)》请在金锄头文库上搜索。

1、第7章 设备管理 三两草上传7.1 设备管理的概念7.1.1设备的分类1、按传输速率分类n 低速设备:每秒几个到数百字节。如Modemn 中速设备:每秒数千到数万字节。如打印机n 高速设备:每秒数百K到数兆。如磁盘、磁带2、按信息交换的单位分类n 字符设备:I/O传输的单位是字节,如打印机、modem等。 特征:速率较低、中断驱动。n 块设备 : I/O传输的单位是块,如磁盘、磁带。特征: 速率高(几兆)、可随机访问任一块、DMA方式驱动。7.1 设备管理的概念3.按使用特性分类:图7-1 按使用特性对外部设备分类7.1 设备管理的概念7.1.2 设备管理的功能和任务设备管理是对计算机输入输出

2、系统的管理,是操作系统 中最具多样性和复杂性的部分。其主要任务是:n 选择和分配输入输出设备以进行数据传输操作;n 控制输入输出设备和CPU(或内存)之间交换数据;n 为用户提供友好的透明接口,把用户和设备硬件特性分 开,使得用户在编制应用程序时不必涉及具体设备,系统 按用户要求控制设备工作。 n 提高设备和设备之间、CPU和设备之间,以及进程和进 程之间的并行操作度,以使操作系统获得最佳效率。7.1 设备管理的概念n 设备管理具有以下功能:(1) 提供和进程管理系统的接口。(2) 进行设备分配。(3) 实现设备和设备、设备和CPU等之间的并行操作。(4) 进行缓冲区管理。 7.1.3 I/O

3、系统的结构n 通常把I/O设备及其接口线路、控制部件、通道和管理软件 称为I/O系统,把计算机的主存和外围设备的介质之间的信 息传送操作称为输入输出操作。n 不同的计算机系统,其I/O系统差别很大,大多数计算机系 统都采用基于总线的I/O结构。 7.1 设备管理的概念图7-2 典型PC总线结构7.1 设备管理的概念7.1.4 设备控制器n I/O设备一般由机械和电子两部分组成。为了达到模块化和 通用性要求,设计时往往将这两部分分开处理。电子部分 称做设备控制器或适配器。n 在小型和微型机中,控制器常以印刷电路板的形式插入主 机主板插槽中。它可以管理端口、总线或设备,实现设备 主体(机械部分)与

4、主机间的连接与通信。n 通常,一台控制器可以控制多台同一类型的设备。n 设备控制器是一个可编址的设备。n 设备控制器有两个方向的接口:一个是与主机之间的系统 接口;另一个是与设备驱动电路之间的低层次接口,用于 根据主机发来的命令控制设备动作。7.1 设备管理的概念n 设备控制器具有以下功能: 实现主机和设备之间的通信控制,进行端口地址译码。 把计算机的数字信号转换成机械部分能够识别的模拟信 号,或者反过来。 实现数据的缓冲。 接收主机发来的控制命令。当控制器接受一条命令后, 可独立于CPU完成指定操作,CPU可以转去执行其它运算。 命令完成时,控制器产生一个中断,CPU响应中断,控制 转给操作

5、系统。 将设备和控制器当前所处的状态提供给主机。CPU通过读 控制器寄存器中的信息,获得操作结果和设备状态。7.2 I/O 控制方式7.2.1 轮询方式 轮询方式又称程序直接控制方式,就是由用户进程来直接控制内存或CPU和外围设备之间的信息传送。 一旦CPU启动I/O设备,便不断查询I/O设备的准备情况,终止原程序的执行,浪费CPU时间; I/O准备就绪后,CPU参与数据传送工作,而不能执行原程序, CPU和I/O设备串行工作,使主机不能充分发挥效率,外围设备也不能得到合理使用,整个系统效率很低。7.2 I/O 控制方式7.2.2 中断方式 CPU启动I/O设备后,不必查询I/O设备是否就绪,

6、继续执行现行程序。 直到在启动指令后的某条指令,响应了I/O中断请求,CPU才转至I/O中断处理程序执行。 中断处理程序中,CPU全程参与数据传输操作,它从I/O接口读一个字(字节) 并写入主存,如果I/O设备上的数据尚未传送完成,转向现行程序再次启动I/O设备,重复上述过程;否则,中断处理程序结束后,继续从K+1条指令执行。 7.2 I/O 控制方式7.2.3 DMA方式n DMA方式又称直接存储器访问(Direct Memory Access)方式。其基本思想是在外设和主存之间开辟直接的数据交换通路。n DMA方式的特点是:(1)数据传送的基本单位是数据块。(2)所传送的数据是从设备送内存

7、,或者相反。 (3)仅在传送一个或多个数据块的开始和结束时,才需中断CPU,请求干预,整块数据的传送是在DMA控制器控制下完成的。7.2 I/O 控制方式图7-3 DMA方式的传送结构7.2 I/O 控制方式7.2.4 通道控制方式n 通道控制(channel control)方式与DMA方式相类似,也是一种以内存为中心,实现设备和内存直接交换数据的控制方式。n 与DMA方式不同的是,在DMA方式中,数据的传送方向、存放数据的内存始址以及传送的数据块长度等都由CPU控制,而在通道方式中,这些都由专管输入输出的硬件通道来进行控制。n 与DMA方式时每台设备至少一个DMA控制器相比,通道控制方式可

8、以做到一个通道控制多台设备与内存进行数据交换,从而,通道方式进一步减轻了CPU的工作负担和增加了计算机系统的并行工作程度。7.2 I/O 控制方式n 通道是一个独立于CPU的专管输入输出控制的处理机,它控制设备与内存直接进行数据交换。它有自己的通道指令,这些通道指令受CPU启动,并在操作结束时向CPU发中断信号。n 在通道方式下,CPU只需发出启动指令,指出通道相应的操作和I/O设备,该指令就可启动通道并使该通道从内存中调出相应的通道指令执行。n 通道指令一般包含有被交换数据在内存中应占据的位置、传送方向、数据块长度以及被控制的I/O设备的地址信息、特征信息等,通道指令在通道中没有存储部件时存

9、放在内存中。7.2 I/O 控制方式图7-4 通道控制方式数据传输结构7.3 缓冲技术7.3.1 缓冲的引入n 在CPU和外设之间设立缓冲区,用以暂存CPU和外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。n 凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。n 在操作系统中引入缓冲的目的如下:(1)改善CPU与I/O设备间速度不匹配的矛盾。(2)减少对CPU的中断频率,放宽对中断响应时间的限制。(3)提高CPU和I/O设备之间的并行性。7.3 缓冲技术7.3.2 缓冲技术的分类n 单缓冲是操作系统提供的最简单的一种缓冲形式。每当一个进程发出一个I/O请求时,操作系统便在主存

10、中为之分配一缓冲区,该缓冲区用来临时存放输入/输出数据。n 解决两台外设、打印机和终端之间的并行操作问题的办法是设置双缓冲。有了两个缓冲器之后,CPU可把输出到打印机的数据放入其中一个缓冲器(区),让打印机慢慢打印,然后,它又可以从另一个为终端设置的缓冲器(区)中读取所需要的输入数据。n 环形缓冲技术是在主存中分配一组大小相等的存储区作为缓冲区,并将这些缓冲区链接起来,每个缓冲区中有一个指向下一个缓冲的指针,最后一个缓冲区的指针指向第一个缓冲区,这样n个缓冲区就成了一个环形。此外,系统中有个缓冲区链首指针指向第一个缓冲区。7.4 设备分配7.4.1 设备分配的数据结构u系统设备表SDT用来登记

11、系统中的所有设备,每个设备使 用一个表项。u每台设备设置一个设备控制块DCB。它记录了设备的特性 、使用的状态等信息。所有设备的DCB集合在一起形成了 设备控制表DCT。u控制器控制块COCB描述控制器的特性和状态。每个控制 器有一个COCB。所有控制器的COCB集合在一起形成了控 制器控制表COCT。u每个通道有一个通道控制块CHCB。所有通道的CHCB集合 成通道控制表CHCT。7.4 设备分配7.4 设备分配7.4.2 设备分配的策略7.4 设备分配7.4.3 设备分配技术p 所谓独享设备是指这类设备被分配给一个作业后,被这 个作业所独占使用,其他的任何作业不能使用,直到该 作业释放该设

12、备为止。针对独享设备,系统一般采用静 态分配方式。即在一个作业执行前,将它所需要使用的 这类设备分配给它,当作业结束撤离时,才将分配给它 的独享设备收回。 p 所谓共享设备是指允许多个用户共同使用的设备。设备 的共享有两层含义:一是指对设备介质的共享,如磁盘 上的各扇区。二是指对磁盘等驱动器的共享,多个用户 访问这些设备上的信息是通过驱动器来实现的。对共享 设备的分配一般采用动态分配这一方式 。7.4 设备分配p 所谓虚拟设备是指代替独享设备的那部分存储空间及有关的控制结构。对虚拟设备采用的是虚拟分配,其过程是:当进程中请求独享设备时,系统将共享设备的一部分存储空间分配给它。进程与设备交换信息

13、时,系统把要交换的信息存放在这部分存储空间,在适当的时候对信息作相应的处理。如打印时,把要打印的信息送到某个存储空间中,在打印机空闲时将存储空间上的信息送到打印机上打印出来。7.4 设备分配7.4.4 SPOOLing技术p 在单道批处理时期,用脱机I/O可以提高CPU利用率。多 道程序出现后,可以利用一道程序来模拟脱机I/O中的卫 星机,这样可实现在主机控制下的脱机I/O功能。我们把 这种在联机情况下实现的同时外围操作称为SPOOLing( Simultaneaus Periphernal Operting On_Line),也称 为假脱机操作。p SPOOLing技术是对脱机输入、输出系统

14、的模拟,因此, 它必须建立在具有多道程序功能的操作系统上,而且还 应有高速随机外存的支持。p SPOOLing系统的组成如下:(1)输入和输出井;(2) 输入和输出缓冲区;(3)输入进程和输出进程。 7.4 设备分配7.5 I/O软件原理7.5.1 I/O软件的设计目标和原则I/O软件设计时要考虑的以下问题:设备无关性。程序员写出的软件在访问不同的外围设备时应该尽可能地与设备的具体类型无关。出错处理。总的来说,错误应该在尽可能靠近硬件的地方处理,在底层软件能够解决的错误就不让高层软件感知,只有底层软件解决不了的错误才通知高层软件解决。同步(阻塞)异步(中断驱动)传输。独占性外围设备和共享性外围

15、设备。7.5 I/O软件原理为了合理、高效地解决I/O系统设计存在的问题,操作系统通常把I/O软件组织成四个层次。 I/O中断处理程序。 设备驱动程序。 与设备无关的操作系统I/O软件。 用户层I/O软件。7.5 I/O软件原理用户进程进行I/O调用;格式化I/O; SPOOLING设备无关软件命名;保护;阻塞;缓冲;分配设备驱动程序建立设备寄存器;检查状态硬件执行I/O操作中断处理程序当I/O结束时,唤醒驱动程序层次I/O应答I/O功能I/O请求7.5 I/O软件原理7.5.2 I/O 中断处理程序n 中断(Interrupt)是指计算机在执行期间,系统内发生任何非寻常的或非预期的急需处理事

16、件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。引起中断发生的事件被称为中断源。中断源向CPU发出的请求中断处理信号称为中断请求,而CPU收到中断请求后转相应的事件处理程序称为中断响应。n 中断是应该尽量加以屏蔽的概念,应该放在操作系统的底层进行处理,系统的其它部分尽可能少地与之发生联系。 7.5 I/O软件原理7.5.3 设备驱动程序n 设备驱动程序包括所有与设备相关的代码,它的工作是把用户提交的逻辑I/O请求转化为物理I/O操作的启动和执行,如设备名转化为端口地址、逻辑记录转化为物理记录、逻辑操作转化为物理操作等。7.5 I/O软件原理7.5.4 与设备无关的软件通常,设备无关软件应完成以下功能: 对设备驱动程序的统一接口 设备命名 设备保护 提供独立于设备的块大小 缓冲区管理 块设备的存储分配 独占性外围设备的分配和释放 错误报告7.5 I/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号