6设备管理.docx
《6设备管理.docx》由会员分享,可在线阅读,更多相关《6设备管理.docx(20页珍藏版)》请在冰豆网上搜索。
![6设备管理.docx](https://file1.bdocx.com/fileroot1/2022-11/30/89c1ebcc-7251-4f3f-83f2-ef69c7d3dac6/89c1ebcc-7251-4f3f-83f2-ef69c7d3dac61.gif)
6设备管理
6.设备管理
例题解析
例6.2.1何谓虚拟设备?
请说明SPOOLing系统是如何实现虚拟设备的。
解本题的考核要点是虚拟设备的实现方法。
虚拟设备是指利用软件方法,比如SPOOLing系统,把独享设备分割为若干台逻辑上的独占的设备,使用户感受到系统有出若干独占设备在运行。
当然,系统中至少一台拥有物理设备,这是虚拟设备技术的基础。
SPOOLing系统又称“假脱机I/O系统”,其中心思想是,让共享的、高速的、大容量外存储器(比如,磁盘)来模拟若干台独占设备,使系统中的一台或少数几台独占设备变成多台可并行使用的虚拟设备。
SPOOLing系统主要管理外存上的输入井和输出井,以及内存中的输入缓冲区和输出缓冲区。
其管理进程主要有输入和输出进程,负责将输入数据装入到输入井,或者将输出井的数据送出。
它的特点是:
提高了I/O操作的速度;将独占设备改造为共享设备;实现了虚拟设备功能。
例6.2.2有关设备管理要领的下列叙述中,()是不正确的。
A.通道是处理输入、输出的软件
B.所有外围设备都由系统统一来管理
C.来自通道的I/O中断事件由设备管理负责处理
D.编制好的通道程序是存放在主存贮器中的
E.由用户给出的设备编号是设备的绝对号
解本题的考核要点是设备管理的基本概念。
(1)通道是计算机上配置的一种专门用于输入输出的设备,是硬件的组成部分。
因此A是错误的。
(2)目前常见I/O系统其外部设备的驱动和输入输出都由系统统一管理。
因此B是对的。
(3)设备管理模块中的底层软件中配有专门处理设备中断的处理程序。
通道中断属于设备中断的一种。
因此C是对的。
(4)通道设备自身只配有一个简单的处理装置(CPU),并不配有存储器,它所运行的通道程序全部来自内存。
因此D是对的。
(5)系统在初启时为每台物理设备赋予一个绝对号,设备绝对号是相互独立的。
由用户给出的设备号只能是逻辑编号,由系统将逻辑号映射为绝对号。
因此E是错误的。
例6.2.3在关于SPOOLING的叙述中,描述是不正确的。
A.SPOOLING系统中不需要独占设备
B.SPOOLING系统加快了作业执行的速度
C.SPOOLING系统使独占设备变成共享设备
D.SPOOLING系统利用了处理器与通道并行工作的能力。
本题的考核要点是SPOOLING技术。
涉及的概念有4方面:
(1)该项技术应有外存空间作为物质基础,同时应当至少有一台独占设备实现输入或输出,因此选项A错误。
(2)SPOOLING技术又称“脱机输入输出系统”。
它将独享设备改造成与共享设备,使进程避免长期等待I/O操作的完成,因此加快了作业执行的速度。
所以说B是正确的。
(3)SPOOLING技术将外存空间模拟成多台独占设备,功能上看,它将一台独占设备变成一台共享设备,因而C是对的。
(4)在计算机系统中安装上通道设备,使处理器与通道可以并行工作。
这作为一种硬件配置,与没有通道的系统相比,系统的资源利用率得到提高。
不过,无论有没有配置通道,SPOOLING系统都是可以运行的。
因此D是不正确的。
例6.2.4I/O软件一般分为4个层次,用户层、与设备无关软件层、设备驱动程序以及中断处理程序。
请说明以下各工作是在哪一层完成的?
(1)向设备寄存器写命令;
(2)检查用户是否有权使用设备;
(3)将二进制整数转换成ASCII码以便打印。
解本题的考核要点为设备管理模块的结构。
有些系统的结构分为本题所说的4层结构,而有的系统将设备驱动程序与中断处理程序合并为1层,共分为3层(见汤子瀛《计算机操作系统》,P221)。
无论如何划分并不影响本题的回答。
设备驱动程序是设备管理的底层软件,用于控制I/O设备进行具体输入输出操作。
其功能是:
1)将抽象的要求转换为具体的要求;
2)检查用户I/O请求的合法性,了解外设的状态,设置设备的工作方式;
3)向设备发出I/O命令,启动设备,实现I/O。
(1)由于“向设备寄存器写命令”属于直接操作设备控制器的操作,因此属于设备驱动程序。
(2)用户层软件是用户与设备管理模块的接口,负责解释用户的应用请求,并将这种请求转化为具体的输入输出操作。
不过,该层软件并不检查用户的访问权限,因此,“检查用户是否有权使用设备”属于设备驱动程序。
(3)与设备无关软件层软件主要负责将逻辑设备名转换为物理设备,实现设备的分配和回收,进行缓冲区管理等。
“将二进制整数转换成ASCII码以便打印”不属于该层软件。
它应当是将抽象要求转换为具体要求的一部分,所以也属于设备驱动程序。
例6.2.5在缓冲池中有3个队列,分别为空白缓冲队列em,输入缓冲队列in,以及输出缓冲队列out。
过程add_buf(type,numb)和take_buf(type,numb)分别用来把缓冲区numb插入type队列和从type队列中取出缓冲区numb。
试描述进程从任一缓冲队列得到一个缓冲区的过程get_buf(type,numb)和将一个缓冲区numb放入缓冲队列的过程put_buf(type,numb)。
解设队列type的互斥信号量为S(type),初值为1。
设描述资源数目的信号量RS(type),初值为n。
信号量的定义及初始化过程,以及get_buf()过程和put_buf()过程的描述如下:
SemaphoreS(type):
=1;
SemaphoreRS(type):
=n;/*n为type队列长度*/
PROCEDUREget_buf(type,number)
BEGIN
P(RS(type));
P(S(type));
Pointerofbuffer(number)=take_buf(type,number)
V(S(type));
END;
PROCEDUREput_buf(type,number)
BEGIN
P(S(type));
add_buf(type,number)
V(S(type));
V(RS(type));
END。
例6.7描述操作系统中使用公用缓冲池时数据块插入缓冲队列的输入过程。
本题考核的要点是缓冲池技术。
缓冲池由多个缓冲区组成,其中每个缓冲区包括缓冲区首部和缓冲体两部分。
系统通过操作缓冲池首部,实现对缓冲区的管理。
解通常,缓冲池中有3个队列:
em队列(空白缓冲区队列)、in队列(装满输入数据的缓冲区队列)、out队列(装满输出数据的缓冲区队列)。
令参数type表示缓冲队列类型,number表示缓冲区号。
缓冲池管理中负责数据输入的过程可包括:
(1)过程get_buf(type,number):
以某种选取规则从type指定的缓冲区队列中摘取一个缓冲区number。
(2)过程put_buf(type,number):
将number缓冲区程将缓冲区放入相应缓冲区队列。
使用上述操作,输入过程可被描述如下:
(1)输入进程调用过程get_buf(em,number)从空白缓冲区队列em中取出一个缓冲区,返回的号码为number。
将该空白缓冲区命名为hin。
(2)将输入的数据装入缓冲区hin,当hin中装满了由输入设备输入的数据之后,系统调用过程put_buf(in,hin)将该缓冲区插入输入缓冲队列in中。
例6.8逻辑设备表(LUT)的主要功能是()和()。
设备驱动程序是一种低级的系统例程,它通常分为()和()两个部分。
本题的考核要点是设备管理的基本概念。
涉及的内容有:
设备管理的功能之一是,将用户输入的逻辑设备名映射为系统内的物理设备。
可使系统在设备分配中更灵活,设备管理更具独立性。
在多用户系统中,LUT是系统为每个进程配置的一种数据结构。
该结构被保存到进程的PCB中,内含两个域:
逻辑设备名和指向系统设备的指针。
因此,该问题的正确答案应为:
(实现逻辑设备到物理设备的映射)和(实现设备独立性)。
②.设备驱动程序是设备管理的底层软件,用于控制I/O设备进行具体输入输出操作。
此外,当输入输出操作完成时,产生的外中断信号由系统予以响应,转入设备中断处理程序,根据操作的状态进行相应的处理。
因此正确答案应为:
控制I/O设备进行具体输入输出操作程序、设备中断处理程序
例6.9(论述题)试给出两种I/O调度算法,并说明为什么I/O调度中不能采用时间片轮转法。
本题的考核要点是I/O调度算法。
两种常用的I/O调度算法是:
①.先来先服务算法。
当系统中多个进程对同一I/O设备提出输入输出请求时,该算法把它们按请求顺序排成一个等待队列,并将该I/O设备分配给队列中的第一个进程。
②.优先权高者优先算法。
当系统中多个进程对同一I/O设备提出输入输出请求时,该算法把它们按优先权由高到低的顺序排成一个等待队列。
并将该I/O设备分配给队列中的第一个进程(其优先权最高)。
时间片轮转算法是不能用于I/O调度中的。
因为在I/O操作中,大部分外部设备都是独占设备,其固有属性决定了设备只能独占使用,不能共享使用。
这种设备一旦被某进程占用,直到使用完才能被释放。
而且在通道程序控制的输入输出系统中,通道程序的执行是不受中断影响的。
时间片中断信号并不能中断通道程序的操作。
所以I/O调度中不能采用时间片轮转法。
例6.10某操作系统采用双缓冲传送磁盘上的数据。
设从磁盘将数据传送到缓冲区所用时间为T1,将缓冲区中数据传送到用户区所用时间为T2(假设T2<(A)T1+T2+T3(B)MAX(T2,T3)+T1
(C)MAX(T1,T3)+T2(D)MAX(T1,T3)
分析:
系统采用双缓冲传送某磁盘数据时:
①.如果T3>T1,即CPU处理数据快,数据传送慢。
此时意味着I/O设备可连续输入,磁盘将数据传送到缓和冲区,再传送到用户区,与CPU处理数据可视为并行处理。
时间的花费取决于CPU最大花费时间,则系统的用总时间为T3。
②.如果T3答案应为D。
例6.11下面是一段简单的通道程序,则四个选项中叙述不正确的是()。
操作
P
R
计数
内存地址
WRITE
0
1
90
743
WRITE
0
1
100
250
READ
0
1
230
1200
WRITE
0
0
120
400
WRITE
0
1
120
350
READ
1
1
70
2000
(A)该段通道程序包括六条、两类通道指令
(B)这些指令涉及的数据内存地址有相邻接的地方
(C)该段通道程序共处理了5条记录
(D)单记录最大为230个字节
本题考核的是通道程序的功能。
涉及的概念有:
①.每一行就是一条指令;该段通道程序的6条指令可分为WRITE和READ两类通道指令。
1.在6条指令中,第2条和第5条指令访问的内存地址是邻接的。
2.在通道指令中,域R是记录的结束标志。
R=0表明本通道指令与下一条通道指令处理的数据属于同一条记录;R=1表明本指令处理完数据后,记录就结束了。
因此上面的程序涉及5条记录。
3.程序中的第4条指令和第5条指令共同处理一条记录,即第4条记录。
记录的长度为240(120+120)字节。
答案应为D。
例6.12(填空题)进行设备分配时所需的数据表格主要有()、()、()和()等。
本题的考核要点是设备分配中使用的数据结构。
主要包括:
设备控制表(UC或DCB):
记录设备的使用情况。
主要有设备类型、设备标识符、设备状态、出错后的重复执行次数、控制器表指针,及其他信息。
控制器控制表(CC或COCB):
记录控制器的使用情况。
主要有控制器标识符、控制器状态、通道控制表指针,及其他信息。
通道控制表(CH或CHCB):
记录通道的使用情况。
主要有通道标识符、通道状态、控制器控制表指针,及其他信息。
系统设备表(SDT):
这是系统范围内的数据结构,记录全部设备的使用情况。
主要有设备类型、设备标识符、设备控制表指针、设备驱动程序入口等。
上述前3个表的组织结构如下图所示。
例6.13(填空题)某操作系统中,采用中断驱动I/O控制方式,设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计算,若系统时钟中断频率为100HZ,则,CPU的利用率为()。
(A)60%(B)90%
(C)80%(D)70%
本题的考核要点是时钟中断处理时CPU的利用率。
首先根据中断频率确定两次中断的间隔时间T为:
T=1/100=0.01s=10ms
其次,在10ms时间间隔内,CPU需要花费1ms去处理中断,生硬杀时间用来进行计算。
因此CPU的利用率p为:
p=1-1ms/10ms=90%
例6.14(问答题)某操作系统中采用单缓冲传送磁盘数据。
设从磁盘将数据传送到缓冲区所用时间为T1,将缓冲区数据传送到用户区所用时间为T2,CPU处理数据所用时间为T3。
问系统处理该数据所用总时间为多少?
。
本题考核的要点是系统利用单缓冲区进行数据输入的原理。
在单缓冲区情况下,磁盘将数据传送到缓冲区的操作,与CPU处理数据可视为并行操作。
处理过程见下图。
当第一个数据块从外存输入缓冲区,并将缓冲区数据送入用户区后,第二个数据块从外存输入缓冲区的操作就可以与CPU运行用户区的程序操作并行操作。
见下图。
从图中可以看出,处理一个数据块的时间可以估算为MAX(T1,T3)+T2。
例6.15(填空题)利用通道实现了()之间数据的快速传输。
(A)CPU和外设(B)内存和CPU
(C)内存和外设(D)外设和外设
本题的考核要点是通道的作用。
涉及的概念有:
①.计算机系统中设置通道设备,是为了使一些原来由CPU处理的输入输出操作转给通道,由通道来完成。
这样一来可以按CPU从繁杂的输入输出操作中解脱出来。
设有通道的硬件结构为:
②.通道设备与CPU之间的连接实现的是接收CPU来的参数设置、启动外设的命令,及向CPU报告操作状态等。
通道设备与内存之间的连接,主要实现内存和外设之间的数据快速传输。
另外,通道与内存的连接还在于通道设备本身没有自己的内存,它所执行的通道程序必须来自于内存中。
例6.16(填空题)设备驱动程序是系统提供的一种通道程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。
下面的选项中不是设备驱动程序功能的是()。
(A)检查用户I/O请求的合法性
(B)及时响应由控制器或通道发来的中断请求
(C)控制I/O设备的I/O操作
(D)了解I/O设备的状态,传送有关参数,设置设备的工作方式
本题考核的要点是设备驱动程序的功能。
设备驱动程序的功能有以下5种:
1.将接收到的抽象要求转换为具体要求。
2.检查拥护I/O的合法性,了解I/O设备的状态,传递有关部门参数,设置设备的工作方式。
3.发出I/O操作命令,启动I/O设备,完成I/O操作。
4.响应通道发来的中断请求,根据中断类型调用响应的中断处理程序。
5.构造通道程序。
例6.17(填空题)下列哪种设备不是从设备分配策略角度来说的()。
(A)系统设备(B)独享设备
(C)共享设备(D)虚拟设备
本题的考核要点是设备的分类问题。
主要涉及的概念有:
1.按设备的所属权划分,设备可分为系统设备和用户设备。
2.按设备分配方式划分,设备可分为3种:
独享设备(又称独占设备)、共享设备和虚拟设备。
其中,
独享设备采用独享分配策略,采用的是“请求-分配-使用-回收”分配方式。
共享设备和虚拟设备采用的是共享分配策略,比如用P、V操作实现临界资源的使用,用任务排队方式实现磁盘的分时访问等。
例6.18(选择题)对于速率为9.6KB/s的数据通信来说,如果说设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间大约分别为()。
(A)0.8ms,0.8ms(B)8ms,1ms
(C)0.8ms,0.1ms(D)0.1ms,0.1ms
本题的考核要点是中断时间和响应时间的计算。
设计的内容为:
①.已知传输速率为9.6KB/s的数据通信,产生中断的频率为9.6KHZ。
题中引用了8位的缓冲寄存器可使中断频率降为1/8,即,9.6*1024/8。
那么,CPU的中断时间为T1:
T1=8/(9.6*1024)≈0.8ms。
②.CPU的响应时间T2为:
T2=1/(9.6*1024)≈0.1ms。
(注意:
若再增设一个8位的缓冲寄存器,响应时间也可放宽到0.8ms。
)
例6.19(问答题)在设备管理中,保持设备独立性有何意义?
本题的考核要点是设备分配原理。
当用户需要一台系统设备时,用户请求中给出一个逻辑设备名。
据此,系统就在多台同类的物理设备中分配一台具体的物理设备。
这样一来,就在逻辑设备与物理设备之间建立了一个映射。
系统将这一映射保存在进程的PCB中。
以后该进程需要利用设备进行I/O时,系统就查阅PCB,根据设备的映射关系去启动物理设备。
设备独立性的优点有:
方便用户编程。
用户不必知道设备在系统中的标识。
便于程序移植。
程序中使用的是逻辑设备,与具体的物理设备无关,因此便于移植到其他系统中。
资源利用率提高。
如果一台设备忙或者有故障,可换另外一台。
能适应多用户多进程的需要。
例6.20(问答题)用流程图描述设备中断的处理过程。
本题的考核要点是中断的处理。
其处理过程可分为以下几步:
1.唤醒被阻塞的驱动程序进程。
2.保护被中断进程的CPU现场信息。
3.分析中断原因,转入相应的中断处理程序执行。
4.进行中断处理。
对于输入设备中断处理来说,需要将读入的数据从缓冲区转到用户区;对于输出设备来说,可将用户区中的下一批数据转到缓冲区。
无论输入还是输出,都可重新启动外部设备进行下一次I/O,同时,还要将等待I/O的进程唤醒。
5.恢复被中断程序的现场。
流程图为:
例6.21(问答题)在一个CPU和输入设备I、输出设备O并行执行的系统中,设输入设备I和输出设备O的启动受CPU指令的控制,且输出设备O的启动还受输出缓冲是否装满输出数据的限制。
只有装满输出数据,输出设备才能被启动。
试描述中断处理方式下的CPU动作过程。
本题的考核要点是系统响应中断的处理过程。
在一个多道程序运行环境中,当进程A正在使用CPU运行自己的程序且需要进行输入输出。
系统一方面启动输入输出设备,令一方面系统需要选择另一个进程B使用CPU,该处理过程可见下图所示。
CPU的动作过程为:
1.当前进程A有输入输出请求时,CPU发出“启动外设”命令。
2.A被阻塞起来等待外设的输入输出操作完成,进程调度原语从就绪队列上选择一个新的就绪进程B使用CPU。
3.当外设的输入输出完成后,I/O控制器向CPU发出中断信号(比如INTR)。
4.CPU在收到中断信号之后,保护B的现场信息,转向预先设计好的中断处理程序对数据传输的结果进行处理。
5.中断处理结束后,恢复B的现场信息,继续执行被中断的进程B。
在以后的进程调度中,只要选中了请求I/O的进程A,A才可以继续工作。
习题
一、选择最合适的答案
1.在下面的I/O控制方式中,需要CPU干预最少的方式是()。
(A)程序I/O方式
(B)中断驱动I/O控制方式
(C)直接存储器访问DMA控制方式
(D)I/O通道控制方式
2.某操作系统中,采用中断驱动I/O控制方式,设中断时,CPU用1ms来处理中断请求,其它时间CPU完全用来计算,若系统时钟中断频率为100HZ,则,CPU的利用率为()。
(A)60%(B)70%
(C)80%(D)90%
3.下列哪一条不是磁盘设备的特点()。
(A)传输速率较高,以数据块为传输单位
(B)一段时间内只允许一个用户(进程)访问
(C)I/O控制方式常采用DMA方式
(D)可以寻址,随机地读/写任意数据块
4.利用通道实现了()之间数据的快速传输。
(A)CPU和外设(B)内存和CPU
(C)内存和外设(D)外设和外设
5.假脱机技术中,对打印机的操作实际上是用对磁盘存储实现的,用以替代打印机的部分是指()。
(A)共享设备(B)独占设备
(C)虚拟设备(D)物理设备
6.设从磁盘将一块数据传送到缓冲区所用时间为80μs,将缓冲区中数据传送到用户区所用时间为40μs,CPU处理数据所用时间为30μs,则处理该数据,采用单缓冲传送某磁盘数据,系统所用总时间为()。
(A)120μs(B)110μs
(C)150μs(D)70μs
7.对于速率为9.6KB/s的数据通信来说,如果说设置一个具有8位的缓冲寄存器,则CPU中断时间和响应时间大约分别为()。
(A)0.8ms,0.8ms(B)8ms,1ms
(C)0.8ms,0.1ms(D)0.1ms,0.1ms
8.在调试程序时,可以先把所有输出送屏幕显示而不必正式输出到打印设备,其运用了()。
(A)SPOOLing技术(B)I/O重定向
(C)共享技术(D)缓冲技术
9.设备驱动程序是系统提供的一种通道程序,它专门用于在请求I/O的进程与设备控制器之间传输信息。
下面的选项中不是设备驱动程序功能的是()。
(A)检查用户I/O请求的合法性
(B)及时响应由控制器或通道发来的中断请求
(C)控制I/O设备的I/O操作
(D)了解I/O设备的状态,传送有关参数,设置设备的工作方式
10.下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是()。
(A)设备控制器和通道可以分别控制设备
(B)设备控制器控制通道和设备一起工作
(C)通道控制设备控制器,设备控制器控制设备
(D)设备控制器控制通道,通道控制设备
二、选择所有正确的答案
1.下列哪一个选项是引入缓冲的原因()。
(A)缓和CPU和I/O设备间速度不匹配的矛盾
(B)减少对CPU的中断频率,放宽对中断响应时间的限制
(C)减少CPU对I/O控制的干预
(D)提高CPU和I/O设备之间的并行性
2.从设备分配的角度来看,设备分成()。
A.独享设备B.系统设备
C.用户设备D.共享设备
E.虚拟设备
3.在操作系统中,下列选项属于软件机制的是()。
(A)缓冲池(B)通道技术
(C)覆盖技术(D)Spooling技术
4.下列哪种设备是从设备分配策略角度来说的()。
(A)系统设备(B)独享设备
(C)共享设备(D)虚拟设备
5.下列关于通道、设备、设备控制器三者之间的关系叙述中正确的是()。
(A)控制器和通道可以分别控制设备
(B)控制器、通道和设备一起工作
(C)通道控制设备控制器,设备控制器控制设备
(D)设备控制器控制通道,通道控制设备
6.在假脱机I/O技术中,对打印机的操作实际上是用对磁盘存储的访问。
那么,用以替代打印机的部分通常称作()。
(A)共享设备(B)独占设备
(C)虚拟设备(D)物理设备
7.下列存储设备中,适合作为共享设备的是()。
(A)语音输入输出设备(B)打印机
(C)鼠标