操作系统习题与解(含答案)答

2、 DMA:直接存储访问I/O控制方式,这种方式用于块设备的I/O,其特

点是数据传输的基本单位是数据块,所传送的数据是从设备直接送入内存的,或者相反,仅在传送一个或多个数据块的开始和结束时,才需CPU干预。

3、 设备控制器:设备控制器是计算机中的一个实体,其主要职责是控制一

个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。它是CPU与I/O设备之间的接口。

4、 设备独立性:指应用程序独立于具体使用的物理设备。为实现设备独立

性而引入了逻辑设备和物理设备两个概念。在应用程序中,使用逻辑设备名来请求使用某设备,而系统在实际执行时,还必须使用物理设备名。 5、 设备驱动程序:通常又称为设备处理程序,它是I/O进程与设备控制器

之间的通信程序,其主要任务是接收由上层软件发来的抽象要求,再把它转换为具体要求后,发送给设备控制器,启动设备去执行。 四、 问答

1、 瓶颈产生的原因?如何解决因通道不足而产生的瓶颈问题?

由于通道价格昂贵,致使机器中所设置的通道数量势必较少,这往往又使它成了I/O的瓶颈,进而千成整个系统吞吐量的下降。解决瓶颈问题的有效方法是增加设备到主机间的通路而不增加通道。即把一个设备连接到多个控制器上,而一个控制器又连接到多个通道上。 2、 有哪几种I/O控制方式?各适用于何种场合?

程序I/O方式——即在处理机向控制器发出一条指令后要对设备状态进行循环测试。它是在没有引入中断之前的早期计算机系统中使用的。

中断驱动I/O控制方式——当某个进程要启动某个I/O设备工作时,便由CPU向相应的设备控制器发出一条I/O命令,然后立即继续执行原来的任务,CPU与I/O设备并行工作。在现代计算机系统中,都毫无例外地引用了中断机构。

直接存储器访问DMA I/O控制方式——用于块设备的I/O控制方式,能更加提高CPU与I/O并行操作程度。

I/O通道控制方式——CPU只需进行一次干预,可以读取多个数据块且将它们分别传送到不同的区域,实现CPU、通道和I/O设备三者的并行操作。

21

适用于一次读多个块且分别传送到不同区域或者相反的大型系统中。 3、 试说明DMA的工作流程。

DMA方式下进行数据输入的过程如下:(以从磁盘读入数据为例来说明)

当CPU要从磁盘读入一个数据块时,便向磁盘控制器发送一条读命令。该命令被送到其中的命令寄存器CR中。同时还须发送本次要将数据读入的内存起始目标地址,该地址被送入内存地址寄存器MAR中;本次要读数据的安节数则送入数据计数器DC中,还须将磁盘中的源地址直接送至DMA控制器的I/O控制逻辑上。然后,启动DMA控制器进行数据传送,以后,CPU便可去处理其它任务。此后,整个数据传送过程便由DMA控制器进行控制。当DMA控制器已从磁盘中读入一个字节的数据并送入数据寄存器DR后,再挪用一个存储器周期,将该字节传送到MAR所批示的内存单元中。接着便对MAR内容加1,将DC内容减1,若减1后DC内容不为0,表示传送未完,便继续传送下一个字节;否则,由DMA控制器发出中断请求。 4、 引入缓冲的主要原因是什么?

A、 缓和CPU与I/O设备间速度不匹配的矛盾。

B、 减少对CPU的中断频率,放宽对CPU中断响应时间的限制。 C、 提高CPU和I/O设备之间的并行性。

5、 为何要引入设备独立性?如何实现设备的独立性?在考虑到设备的独

立性时,应如何分配独享设备?

设备独立性是指应用程序独立于具体使用的物理设备。引入设备独立性可带来以下好处:设备分配时的灵活性,易于实现I/O重定向。

为了实现设备独立性,必须再在驱动程序之上设置一层软件,称为设备独立性软件,其主要功能有以下两方面:执行所有设备的公共操作,包括对独立设备的分配与回收,将逻辑设备名映射为物理设备名,对设备进行保护等;另一功能是向用户层软件提供统一接口。

6、 何谓设备虚拟?实现设备虚拟时所依赖的关键技术是什么?

通过SPOOLing技术将一台物理I/O设备虚拟为多台逻辑I/O设备,从而允许多个用户共享一台物理I/O设备。实现设备虚拟时所依赖的关键技术是SPOOLing技术。

22

7、 试说明SPOOLing系统的组成。

由三部分组成:输入井和输出井、输入缓冲区和输出缓冲区、输入进程SPi和输出进程SPo。

8、 设备中断处理程序通常需完成哪些工作? 设备中断处理程序的处理过程为: A、 唤醒被阻塞的驱动进程 B、 保护被中断进程的CPU环境 C、 转入相应的设备处理程序 D、 中断处理

E、 恢复被中断进程的现场

9、 磁盘访问时间由哪几部分组成? 由三部分组成:

A、 寻道时间Ts:指把磁臂移动到指定磁道上所经历的时间。 B、 旋转延迟时间Tr:指定扇区移动到磁头下面所经历的时间。 C、 传输时间Tt:指把数据从磁盘读出或向磁盘写入数据所经历的时间。 10、 设备分配时的数据结构?如何分配?

A、 设备控制表DCT:系统为每一个设备都配置一张设备控制表,用于记录

本设备的情况。

B、 控制器控制表COCT:为每一个控制器设置了一张用于记录本控制器情

况的控制器控制表。

C、 通道控制表CHCT:每个通道都配有一张通道控制表,用以记录通道的

状态及与通道相连的控制器及队列的情况。

D、 系统设备表SDT:这是系统范围的数据结构,其中记录了系统中全部设

备的情况,每个设备占一个表目。 系统分配设备可按下述步骤进行:

A、 分配设备:首先根据I/O请求的物理设备名,查找系统设备表SDT,从

中找出该设备的DCT,再根据DCT中的设备状态字段,可知该设备是否正忙。若忙,便将请求I/O的进程的PCB挂在设备队列上;否则,便按照一定的算法来计算本次设备分配的安全性。如果不会导致系统进入不安全状态,便将设备分配给请求进程;否则仍将其PCB插入设备等待

23

队列。

B、 分配控制器:在系统把设备分配给请求I/O的进程后,再到其DCT中找

出与该设备连接的控制器的COCT,从COCT的状态字段中可知该控制器是否忙碌。若忙,便将请求I/O的进程的PCB挂在该控制器的等待队列上;否则,便将该控制器分配给进程。

C、 在该COCT中又可找到与该控制器连接的通道的CHCT,再根据CHCT

内的状态信息,可知该通道是否忙碌。若忙,便将请求I/O的进程挂历在该通道的等待队列上;否则,将该通道分配给进程。只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功。然后,便可启动I/O设备进行数据传送。

六、 综合题

1、 假设磁盘有200个磁道,磁盘请求队列中是一些随机请求,它们按照到

达的次序分别处于55、58、39、18、90、160、150、38、184号磁道上,当前磁头在100号磁道上,并向磁道号增加方向移动。请给出先来先服务FCFS、最短寻道时间优先SSTF和扫描算法SCAN进行磁盘调度时满足请求的次序,并计算出它们的平均寻道长度。 解: 先来先服务FCFS 被访问的下一个磁道号 55 58 39 18 90 160 150 38

最短寻道时间优先SSTF 被访问的下一个磁道号 90 58 55 39 38 18 150 160 24

扫描算法SCAN 被访问的下一个磁道号 150 160 184 90 58 55 39 38 移动的磁道数 45 3 19 21 72 70 10 112 移动的磁道数 10 32 3 16 1 20 132 10 移动的磁道数 50 10 24 94 32 3 16 1

联系客服:779662525#qq.com(#替换为@)