There are different ways that operating systems can carry out software I/O procedures. Which of the following is used when the C

admin2013-12-19  46

问题 There are different ways that operating systems can carry out software I/O procedures. Which of the following is used when the CPU sends data to an I/O device and then works on another process’s request until the I/O device is ready for more data?

选项 A、I/O using DMA
B、Interrupt-driven I/O
C、Programmable I/O
D、Premapped I/O

答案B

解析 B正确。如果操作系统使用的是中断驱动型I/O(输入/输出),这就意味着CPU向I/O设备发送数据后便转而去处理另外一个进程的请求。当I/O设备准备接受更多数据时,它会向CPU发送一个中断请求。CPU将停止它正在进行的工作,发送更多的数据,然后再转向另一个工作。这个过程(发送数据——离开,做其他事——中断——发送数据)将持续进行直到该进程结束。
A不正确。因为直接内存访问(Direct Memory Access,DMA)是一种不使用CPU而直接在I/O设备和系统内存之间传输数据的方法。这种方式大大提高了数据传输速度。当用于I/O活动时,DMA控制器在不打扰CPU的情况下向I/O设备发送数据。这种方法有时叫未映射I/O。
C不正确。因为当操作系统使用可编程I/O时,这意味着该CPU向I/O设备发送数据,并轮询该设备是否准备接收更多数据。如果该设备不准备接收更多数据,那么CPU等待该设备做好数据接收的准备就是在浪费时间。例如,CPU向打印机发送一个字节的数据(一个字符),然后询问打印机是否准备接收另外一个字节的数据。CPU每次仅发送一个字节去打印。这是一个非常慢的工作方式,非常浪费CPU的宝贵时间。
D不正确。因为在预映射的I/O系统中,CPU把发出请求进程的物理内存地址发送给I/O设备;而该I/O设备足够可信,可以和内存的内容直接进行交互。所以CPU并不控制I/O设备和存储器之间的交互活动。该操作系统相信该设备会循规蹈矩。因此,预映射型I/O并不像其他方法一样是性能相关的,而是提供一个能直接影响安全的方法。完全映射型I/O也影响安仝性。然而,在这种情况中操作系统并不完全相信I/O设备,它并不为I/O设备分配物理地址。相反,I/O设备使用纯粹的逻辑地址,并(在安仝环境中)代表提出请求的进程进行工作。所以,该操作系统并不相信直接与内存进行交互的设备。操作系统不会信任进程或者设备,而是作为控制它们之间通信的代理。
转载请注明原文地址:https://kaotiyun.com/show/xyhZ777K
0

最新回复(0)