[精选]第7章-设备管理.pptx
《[精选]第7章-设备管理.pptx》由会员分享,可在线阅读,更多相关《[精选]第7章-设备管理.pptx(76页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第7 7章章 设备管理设备管理7.1 设备管理概述7.2 I/O控制方式7.3 I/O缓冲7.4 设备分配与设备处理7.5 I/O管理中的几个重要思想7.6 磁盘I/O7.7 小结7.1 设备管理概述一、I/O设备的分类1.按附属关系分类1系统设备 指在操作系统生成时已经登记在系统中的标准设备。如键盘、显示器、打印机等。2用户设备 指操作系统生成时未登记入系统的非标准设备。如绘图仪、扫描仪等。2.按传输速率分类I/O设备分类1低速设备 指传输速率为每秒钟几个字符至数百个字节的设备,如键盘、鼠标、语音输入等。2中速设备 指传输速率为每秒钟数千个字节至数万个字节的设备,如针式打印机、激光打印机等
2、。3高速设备 指传输速率为数兆字节的设备,如磁带机、磁盘机、光盘机等。1存储设备 是计算机用来保存各种信息的设备,如磁盘、磁带等。2I/O设备 是向CPU传输信息或输出CPU加工处理信息的设备。例如:键盘,CRT3.按使用特性分类I/O设备分类I/O设备分类4.按共享属性分类1独占设备 指在一段时间内只允许一个用户进程访问的设备。也就是在某个用户进程对设备的一次使用过程包含屡次I/O操作中,不允许其他用户进程使用该设备。一般是低速的I/O设备,如打印机等。因为独占设备属于临界资源,所以多个并发进程必须互斥地访问独占设备。2共享设备 指在一段时间内允许多个进程同时访问的设备,多个进程以交叉的方式
3、来使用设备,其资源利用率高,如硬盘。3虚拟设备 指通过虚拟技术将一台独占设备变换为假设干台供多个用户进程共享的逻辑设备。一般可以利用假脱机SPOOLing技术实现虚拟设备。按设备共享属性分类I/O设备分类5.按数据传送的基本单位分类1字符设备 以字节为单位传送数据,如键盘。传输速度慢。2块设备 以块如512B为单位传送数据,如磁盘。传输速度快。是可寻址的和可随机访问的设备7.1 设备管理概述二、设备管理的2个重要目标:效率、通用性1效率 提高设备的利用率和I/O效率 充分利用各种技术中断、DMA、通道、缓冲等提高CPU与设备、设备与设备之间的并行工作能力,充分利用资源,提高资源利用率,提高I/
4、O处理的效率n 并行性n 均衡性使设备充分忙碌 设备管理的2个重要目标2通用性 为用户提供方便、统一的接口,希望能用统一的方式处理所有的设备 屏蔽硬件细节设备的物理细节,错误处理,不同I/O的差异性,使用户摆脱繁琐的程序设计负担 方便性 接口的友好性 透明性7.1 设备管理概述三、设备管理的功能1设备分配。按照设备类型和相应的分配算法决定将I/O设备分配给哪一个要求使用该设备的进程。凡未分配到所需设备的进程被放入一个等待队列。2设备处理。设备处理程序实现CPU和设备控制器之间的通信。即当CPU向设备控制器发出I/O指令时,设备处理程序应启动设备进行I/O操作,并能对设备发来的中断请求作出及时的
5、响应和处理。3实现其他功能。包括对缓冲区的管理功能及实现设备独立性。7.2 I/O控制方式I/O控制方式:主机和I/O设备之间的数据传送方式4种I/O控制方式:1程序直接控制方式轮询2中断方式3DMA方式4通道方式开展的思路:解放CPU7.2 I/O控制方式1.程序直接控制方式轮询 由用户进程控制,不断测试设备状态缺点:n 忙等待n CPU与I/O设备只能串行工作7.2 I/O控制方式2.中断方式 为了减少设备驱动程序不断询问控制器状态存放器的开销 当I/O操作结束后,由设备控制器主动通知设备驱动程序缺乏:n 数据传送是在中断处理时由CPU控制完成n 每次传输的数据量小,比方1个字节或1个字。
6、尽管,通过在I/O控制器中设置字符缓冲区而增大每次的数据传输量n 可能造成数据由于CPU来不及取而丧失当外设速度快时7.2 I/O控制方式3.DMA方式在内存与I/O设备之间直接传送数据块CPU在开始时向设备发“传送一块命令,数据传送由DMA控制器控制完成,每次1个数据块传送结束时,由DMA控制器给CPU发送一个中断信号DMA的功能可以以独立的DMA部件在系统I/O总线上完成,或者整合到I/O部件中完成DMA方式DMA方式与中断的主要区别:中断方式是在数据缓冲存放器满后,发中断请求,CPU进行中断处理 DMA方式则是在所要求传送的数据块全部传送结束时要求CPU进行中断处理 大大减少了CPU进行
7、中断处理的次数中断方式的数据传送是由CPU控制完成的 DMA方式则是在DMA控制器的控制下不经过CPU控制完成的7.2 I/O控制方式4.通道方式通道:独立于CPU的专门负责数据输入/输出传输工作的处理机,对外部设备实现统一管理,代替CPU对输入/输出操作进行控制,从而使输入/输出操作可与CPU并行操作。引入通道的目的:为了使CPU从I/O事务中解脱出来,同时为了提高CPU与设备、设备与设备之间的并行工作能力 数据传送的方向、长度、内存地址等都由通道控制。7.3 I/O缓冲一、什么是I/O缓冲?缓冲buffering:为了缓解通信双方速度不匹配而引入的一个中间环节。I/O缓冲:在CPU和I/O
8、设备之间设立缓冲区,用以暂存CPU与外设之间交换的数据,从而缓和CPU与外设速度不匹配所产生的矛盾。其实,但凡数据到达和离去速度不匹配的地方均可采用缓冲技术。7.3 I/O缓冲引入I/O缓冲的目的:1 改善CPU与I/O设备之间速度不匹配的矛盾2 减少对CPU的中断频率,放宽对中断响应时间的限制3 减少访问I/O设备如磁盘的次数4 提高CPU与I/O设备之间的并行性7.3 I/O缓冲I/O缓冲的实现方式:1 硬件缓冲 I/O设备或控制器内部设置的纯硬件缓冲区2 软件缓冲 为I/O在内存开辟的缓冲区,由软件来管理 容量大,使用灵活下面要讲的是OS采用的I/O缓冲技术。7.3 I/O缓冲二、OS为
9、什么要引入I/O缓冲?【例】应用程序要从磁盘中读一块数据512B到自己的地址空间1000-1511虚拟地址。在执行I/O命令后阻塞,等待数据变成可用的。存在的问题:该进程的虚拟地址单元1000-1511必须锁定在内存中,不能换出,干扰了OS的交换决策;否则有可能造成单进程死锁。即进程发出I/O命令后阻塞,假设在开始I/O操作之前被换出,则I/O操作也会阻塞,以等待该进程被换入。7.3 I/O缓冲三、I/O缓冲的种类1.单缓冲 当用户进程发出I/O请求时,操作系统在内存的系统空间为该操作分配一个缓冲区输入:数据输入到系统缓冲区,传送完成时,用户进程将其复制到用户空间输出:用户进程将数据复制到系统
10、缓冲区,然后由OS输出。如果连续输入/输出多个数据块呢?I/O缓冲的种类2.双缓冲 由OS指定2个缓冲区 当用户进程从一个缓冲区取数据或向一个缓冲区写数据时,OS可以向另一个缓冲区输入数据或输出另一个缓冲区的数据。I/O缓冲的种类3.缓冲池 又称循环缓冲 多个缓冲区构成循环队列 类似于生产者/消费者问题7.4 设备分配与设备处理一、设备分配 当某进程向系统提出I/O请求时,设备分配程序按一定策略分配设备、控制器和通道,形成一条数据传输通路,以供主机和设备间信息交换。设备分配1.与设备分配有关的数据结构设备类表 系统中拥有1张设备类表 每类设备对应于表中一栏,包括内容有:设备类、总台数、空闲台数
11、、设备驱动程序入口和设备表起始地址等。设备表 每一类设备都有各自的设备表,用来登记这类设备中每一台设备的状态,包含的内容有:物理设备名、逻辑设备名、占有设备的进程号、已分配/未分配、好/坏等。与设备分配有关的数据结构采用通道结构的系统中设备分配采用的数据结构:系统设备表、通道控制表、控制器控制表和设备控制表系统建立1张系统设备表,记录配置在系统中的所有物理设备的情况。每个通道、控制器、设备各设置一张表,记录各自的地址标识符、状态忙/闲、等待获得此部件的进程队列指针、及一次分配后相互链接的指针,以备分配和执行I/O时使用。具体内容如下:与设备分配有关的数据结构设备控制块DCB设备控制表DCT 记
12、录本设备的使用情况。主要内容:设备类型、设备标识符、设备状态、与此设备相连的COCT、重复执行的次数或时间、等待队列的队首和队尾指针控制器控制块COCB控制器控制表COCT通道控制块CHCB通道控制表CHCT系统设备表SDT 整个系统一张表,记录系统中所有I/O设备的信息,表目包括:设备类型、设备标识符、设备驱动程序入口、DCT表指针等,是分配程序首先查找的数据结构。设备分配2.设备分配策略 由于在多道程序系统中,进程数多于资源数,引起资源的竞争。因此,要有一套合理的分配策略。考虑的因素:nI/O设备的固有属性nI/O设备的分配算法n设备分配的安全性n与设备的无关性设备分配策略1独占设备的分配
13、 所谓独占式共享使用设备是以一次设备使用过程包含屡次I/O操作为单位使用设备 在申请设备时,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放,才允许被其他进程申请使用 考虑效率问题,并且防止由于不合理的分配策略造成死锁静态分配:在进程运行前,完成设备分配;运行结束时,收回设备 缺点:设备利用率低动态分配:在进程运行过程中,当用户提出设备要求时,进行分配,一旦停止使用立即收回 优点:设备利用率高;缺点:分配策略不好时,产生死锁设备分配策略2分时式共享设备的分配 所谓分时式共享就是以一次I/O操作为单位分时使用设备,不同进程的I/O操作请求以排队方式分时地占用设备进行I/O
14、 由于同时有多个进程同时访问,且访问频繁,因此要考虑多个访问请求到达时效劳的顺序,使平均效劳时间越短越好3以SPOOLing方式使用外设 SPOOLing 技术是在批处理操作系统时代引入的,即所谓假脱机输入/输出技术。例如:所有输出数据已经写到文件当中,并排到打印输出队列,打印进程申请占用打印机后,成批读出文件中数据,并送打印机打印出去打打印印请请求求队队列列(含含要要打打印文件)印文件)打印打印daemon daemon 进程进程打印机打印机设备分配策略设备分配策略常用的I/O设备分配算法:n先来先效劳 n优先级高者优先设备请求队列:当多个进程对同一设备提出I/O请求时,系统响应后,为它们分
15、别建立I/O请求包,按先来先效劳或者优先级高者优先的原则组织成设备请求队列。设备分配程序总是把设备首先分配给队首进程。具体分配是从设备类表或者系统设备表开始顺序查找相应的数据结构进行的。7.4 设备分配与设备处理二、设备处理1.设备驱动程序 每类设备对应1个设备驱动程序,以控制I/O传输任务:主要负责接收和分析从设备分配转来的信息,把用户I/O请求转换为具体要求后,发送给设备控制器,启动设备执行。设备驱动程序设备驱动程序的处理过程:1 将抽象I/O请求转为具体要求 2 检查I/O请求的合法性 3 读出和检查设备的状态4 传送必要的参数,预置设备的初始状态5 设置设备的工作方式在有通道的系统中,
16、构造通道程序6 启动设备进行I/O操作7 响应来自设备的中断设备处理2.I/O中断处理程序处理来自设备或通道的中断包括正常结束,或异常结束7.5 I/O管理中的几个重要思想一、设备独立性Device Independence设备独立性是I/O软件设计中的一个重要目标。设备独立性的含义:用户在编写程序时,能独立于具体使用的物理设备,甚至不关心设备类型。应用程序与给定设备类型的哪一台具体设备无关;应用程序尽可能地与设备类型无关。设备独立性设备独立性的实现方法:1引入逻辑设备 由OS管理一个逻辑设备映射表,记录逻辑设备对应的物理设备。用户程序对I/O设备的请求不指定特定的设备,而采用逻辑设备名,程序
17、执行时由OS完成逻辑设备到物理设备的映射例如:用户申请使用设备时,只需要指定设备类型,而无须指定具体物理设备,系统根据当前的请求,及设备分配的情况,在相同类别设备中,选择一个空闲设备,并将其分配给一个申请进程。2统一命名,统一接口 对不同的设备采取统一的操作方式例如:把设备看作文件,所有设备和文件使用相同的方式路径名定位7.5 I/O管理中的几个重要思想二、SPOOLing技术SPOOLing:Simultaneous Peripheral Operation On Line 即外围设备同时联机操作,又称假脱机操作 SPOOLing的概念最早出现在作业处理中,那时多道程序的概念还没有提出 这个
18、概念至今还有很大的意义。SPOOLing技术1.脱机输入/输出Offline I/O脱机I/O:I/O是脱离主机的。目的:为了解决CPU和I/O设备的速度不匹配。输入:由一台低档计算机外围机将作业输入到磁盘磁带;CPU需要时,从磁盘读入内存。输出:CPU需要输出时,将数据从内存送到磁盘;由一台外围机将磁盘中的数据输出。脱机脱机I/OI/O示意图示意图读卡机读卡机外围机外围机磁盘磁盘磁盘磁盘主机主机打印机打印机外围机外围机SPOOLing技术SPOOLing技术2.什么是SPOOLing?假脱机:联机情况下,即在主机的控制下,模拟脱机I/O。方法:OS利用2个进程分别模拟脱机I/O时外围机的功能
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 设备管理
限制150内