操作系统—第五章I/O管理—I/O核心子系统—选择题
1什么是设备管理数据结构?
设备分配依据的主要数据结构有设备控制表(Device control table,即DCT),控制器控制表(Controller control table,即COCT),通道控制表(Channer control table),系统设备表(System device table,即SDT)。
(1)设备控制表:
我们可以认为,一个设备控制表就表征一个设备,而这个控制表中的表项就是设备的各个属性。
设备控制表中有设备的类型type,设备标识符deviceid,设备状态:等待/不等待,忙/闲,指向控制器表的指针,重复执行次数或时间,设备队列的队首指针。

(2)控制器控制表
前面我们学过4种I/O控制方式,通道方式显然要比其他几种方式更加优越,因而现代操作系统的I/O控制采用的都是通道控制。设备控制器控制设备与内存交换数据,而设备控制器又需要请求通道为它服务,因此每个COCT必定有一个表项存放指向相应通道控制表(CHCT)的指针,而一个通道可以为多个设备控制器服务,因此CHCT中必定有一个指针,指向一个表,这个表的信息表达的是CHCT提供服务的那几个设备控制器。CHCT与COCT的关系是一对多的关系。


(3)系统设备表SDT
整个系统只有一张SDT,它记录已连接到系统中的所有物理设备的情况,每个物理设备占一个表目。

2什么是设备的独立性?
设备的独立性主要是指用户使用设备的透明性,即使用户程序和实际使用的物理设备无关。
应用程序按逻辑设备名访问设备,再经驱动程序的处理来控制物理设备,若更换物理设备,则只需更换驱动程序。
可以使用文件名访问物理程序。设备可视为特殊文件,用户使用逻辑设备名来访问物理文件,有利于设备独立性。
用户程序可以使用逻辑设备名访问物理程序。
需要建立物理设备与逻辑设备之间的映射关系。
3什么是SPOOLing技术?
(1)SPOOLing技术的特点是什么?
提高了I/O的速度;将独占设备改造为共享设备;实现了虚拟设备功能。
(2)为什么说SPOLLing技术是以空间换时间的技术?很有意思啊,请求分页是用时间换空间,它则相反。
磁盘是一种高速设备,在与内存交换数据的速度上优于打印机,键盘,鼠标等中低速设备。试想一下,若没有SPOLLing技术,CPU要向打印机输出要打印的数据,打印机的打印速度比较慢,CPU必须迁就打印机,在打印机把数据打印完后才能继续做其他的工作,浪费了CPU的不少时间。在SPOOLing技术下,CPU要打印机打印的数据可以先输出到磁盘的输出井中(这个过程由输出进程控制),然后做其他的事情。若打印机此时被占用,则SPOOling系统就会把这个打印请求挂到等待队列上,带打印机有空时再把数据打印出来。向磁盘输出数据的速度比向打印机输出数据的速度快,因此就节省了时间。
(3)SPOOLing技术的组成
spolling技术由三部分组成,分别是输入井与输出井,输入缓冲区和输出缓冲区,输入进程和输出进程。
输入井和输出井是在磁盘上开辟的两大存储空间。输入井模拟脱机输入时的磁盘设备,用于暂存I/O设备输入的数据;输出井模拟脱机输出时的磁盘,用于暂存用户程序的输出数据。为了缓和CPU,打印结果首先送到位于磁盘固定区域的输出井。
输入进程模拟脱机输入时的外围控制机,将用户要求的数据从输入机通过输入缓冲区再送到输入井。当CPU需要输入数据时,直接将数据从输入井读入内存。
输出进程模拟脱机输出时的外围控制机,把用户要求的数据先从内存送到输出井,待输出设备空闲时,再将输出井中的数据经过输出缓冲区送到输出设备。
(4)缓冲技术的缓冲池通常建立在主存中。
4单用户计算机上的什么I/O操作需要使用缓冲技术?
(1)图形用户界面下使用鼠标
若有高优先级的操作产生,为了记录鼠标活动的情况,必须使用缓冲技术
(2)多任务操作下的磁带驱动器
由于磁盘驱动器和目标或源I/O设备之间的吞吐量不同,必须采用缓冲技术。
(3)包含用户文件的磁盘驱动器
为了能使数据从用户作业空间传送到磁盘或从磁盘传送到用户作业空间,必须采用缓冲技术。
(4)使用存储区映射I/O,直接和总线相连的图形卡。
为了便于多幅图形的存取及提高性能,缓冲技术是可以采用的,特别是在显示当前一副图形,又要得到下一幅图形时,应采用双缓冲技术。
5虚拟技术是干嘛的?
6提升单机资源利用率的关键技术是多道程序设计技术。
在单机系统中,最关键的资源是处理器资源,最大化地提高处理器利用率,就是最大化地提高系统效率。多道程序设计技术是提高处理器利用率的关键技术,其他均为设备和内存的相关技术。
7I/O接口的作用,接口是软件层面的,驱动是硬件层面的。
(1)实现数据格式的变换:如串-并互转,模拟-数字互转。
(2)传递控制命令和状态信息,如设备忙信号,就绪信号
(3)实现主机和外设的通信控制
(4)中断功能,必要时可实现程序中断
(5)实现数据缓冲:可以解决速度不匹配问题
(6)进行设备选择,通过CPU送来的地址选择设备
8CPU内部的寄存器按名访问
9I/O端口指I/O接口电路中用户编程可用的寄存器,和内存单元类似,每个I/O端口具有一个端口地址。通常存在数据,控制,状态三类端口。CPU外部的寄存器按地址访问。
(1)独立编址:外设端口与主存单元分别编址,具有独立零地址空间,需要通过专门的I/O指令访问。
(2)同一编址:外设端口与主存单元统一编址,即外设接口的寄存器就相当于主存单元。CPU可以使用主存读写指令访问外设,不需要专门的I/O指令。

10轮询方式
CPU在程序中主动查询外设的工作状态。CPU与外设串行工作。
中断与查询的区别就是,程序中断能够发现和处理预先无法估计的错误和异常。
11设备独立性软件:设备的命名,保护,分配及回收,差错控制,为设备管理和数据传输提供必要的存储空间。

12逻辑设备有利于I/O输出输入重定向。
13逻辑设备表将逻辑设备名转换成物理设备名。
14鼠标,键盘,打印机,串口,控制台,LED设备是典型的流设备。常采用程序中断方式。块设备常以DMA方式
15缓冲区的作用
减少CPU的中断频率;放宽对CPU中断响应时间的限制;提高CPU与I/O设备的并行性;缓解CPU与I/O设备之间的速度矛盾;解决传输双方数据粒度的不匹配问题
16I/O设备往缓冲区送数据和CPU处理数据是可以并行的。
假设I/O设备将数据输入内存缓冲区的时间为I,操作系统将缓冲区的数据传送至内存用户区的时间为T,CPU对该数据的处理时间为P。也就是说I和P是可以并行的,一般情况下,T值较小
单缓冲下系统对数据的处理时间为T+max(I,P)
没有缓冲区就是I+P
17双缓冲
若I>P,则可以实现连续的输入,在I/O设备向第一个缓冲区输入数据的时候,此时CPU处理完数据处于等待状态,这段空闲时间刚好可以将数据从第二个缓冲区送入CPU,总的而言,所需时间为I。若P>I,则CPU不停的工作,在I/O设备将数据送到第一个缓冲区的时候停止工作,单CPU不停。
因此双缓冲中系统对数据的处理时间为max(I,P)
若字符设备采用行输入方式,双缓冲机制一般可以消除用户的等待时间。即用户输入完第一行以后,立刻切换缓冲区输第二行。
双缓冲能够实现数据的双向同时传输
只有通信的双方速度相当的时候,效果才理想。如果速度矛盾比较大,双缓冲效果不理想。
18固态硬盘SLC,MLC,TLC每个存储单元分别存储1,2,3位数据。读写速度可靠性价格随之降低。
固态硬盘的写:
第0到7逻辑页分别写入第0到7通道flash块的第0物理块。
第8到15逻辑页分别写入第0到7通道flash块的第1物理块。
FLASH写不具有覆盖性,修改之后重新换一个位置写,随着读写操作逐渐进行,FLASH空间越来越小。
垃圾回收:将若干FLASH的有效数据集中到一个空闲FLASH后,擦除原来FLASH的内容
FLASH的有效数据越少,速度越快。
增加速度,可以通过底层并行FLASH数。
磨损均衡,动态优先动PE值小的,静态也是修改PE小的。将用户的请求均匀分布到所有FLASH块
19缓冲池有面向对象的思想
20SPOLLING技术需要通道技术和多道程序设计技术,它以高速外存为后援存储器。
输出井和输出井都在高速磁盘之中,它缓解的是低速设备和主机之间的速度矛盾
输入缓冲区和输出缓冲区都在内存,它缓解的是外部设备和CPU之间的速度矛盾
输入缓冲区由输入设备,最终送往输入井
将CPU对低速设备的操作转换为CPU和磁盘缓冲区之间的数据交换。
SPOLLing仅提高了设备利用率,没有提高CPU利用率
21设备相同,不同的操作系统设备驱动程序不同
如linux系统和windows系统使用鼠标的驱动程序必然不同
1万+



被折叠的 条评论
为什么被折叠?



