操作系统第6章(设备管理习题与解答)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第6章设备管理习题与解答

6.1 例题解析

例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.4 I/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()

过程的描述如下:

Semaphore S(type):=1;

相关文档
最新文档