操作系统第五章参考答案.pdf
第五章参考答案
1、设备控制器位于设备与CPU之间,它要与CPU、设备进行通信。
设备控制器一般都由3部分构成:设备控制器与CPU的接口、
设备控制器与设备的接口、I/O逻辑。
2、设备控制器应具备下列功能
1)接收与识别命令:接收与识别CPU发送的命令,这些命令放在寄
存器中。由设备驱动程序进行解释与执行。
2)交换数据:
3)标识与报告设备状态
4)地址识别:如内存的每一个单元都有地址,每个设备已都有一个
地址。CPU就是通过这些地址来控制与识别设备。
5)数据缓冲:由于CPU和内存的速度较高,而I/O设备的速度较低,
因此在他们中间必要通过缓冲区进行速度匹配。
6)差错控制
9、引入缓冲主要原因有
(1)缓和CPU与I/O设备间速度不匹配的矛盾。
凡是数据到达和离去速度不匹配的地方均可采用缓冲技术。在操作系
统中采用缓冲是为了实现数据的I/O操作,以缓解CPU与外部设备之
间速度不匹配的矛盾,提高资源利用率
(2)减少对CPU的中断次数(频率)。
14、
1)安全分配方式:当进程发I/O请求后,便进入阻塞状态,直到
I/O完成才被唤醒。不可能造成死锁
2)不安全分配方式:在这种方式中,当进程提I/O请求后,仍然
进行运行,需要时又提出第二个I/O请求。可能造成死锁。
设备独立性是指应用程序独立于具体使用的物理设备。
引入设备独立性有二:
1)设备分配具有灵活性:当进程以物理设备名来请求某设备时,如
果该设备已经分配,而尽管这是还有其它的相同设备正在空闲(但名
字不同),该进程仍然要被阻塞。但如果用逻辑设备名来请求,系统
就会从这类设备中进行分配。
2)易于实现I/O重定向:/O重定向—用于I/O操作的设备可以更换
(即重定向)而不必改变应用程序。
为了实现设备独立性必须引入逻辑设备与物理设备(设备的独立
性是通过逻辑设备来实现的)。在应用程序中使用的是逻辑设备(通
过逻辑设备名来请求设备);而系统执行时,是使用的物理设备。因
此必须有将逻辑设备转化为物理设备的功能(OS要做的事情)
将一台物理I/O设备虚拟为多个逻辑I/O设备,让多个用户共享一台
物理I/O设备,实现设备虚拟的关键技术是SPOOLing技术。设备驱
动程序属于低级系统程序,它与一般的应用或系统程序比较有下列特
点
(1)驱动程序主要在请求I/O的进程与设备控制器之间的通信与转
换程序
(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关,因而
不同设备有不同的倾动程序。
(3)驱动程序与I/O控制方式相关
(4)由于驱动程序与硬件紧密相关,因而其中有一部分必须用汇编
语言书写。
21、设备驱动程序完成的功能功能
(1)接受由I/O进程发出的命令与参数,并将这些命令转化为具体
的操作步骤。
(2)检查用户I/O的请求合法性,了解设备的状态,传递有关参数,
设置设备的有关工作方式。
(3)发出I/O命令(完成具体的操作)。
(4)即使响应由控制器发来的中断请求。
22、P169(除了过程的6点)