5.1
设备控制器也就是IO控制器
A对于一些简单的IO设备 控制他也许用不到IO寄存器
B 只是设备控制器与CPU(主机)交互的接口
D 只是 接口
C 对IO控制器所接收到的CPU的信息进行译码 并送到外设中 IO逻辑是个芯片
数据通路是逻辑上的 实际上还是通过总线
10.
DR 数据寄存器
MAR 主存(内存)地址寄存器
DC 数据计数器
CR 命令寄存器
许多DMA控制器中 命令寄存器和状态寄存器是合二为一的
SP在CPU中
设备独立性:逻辑设备到物理设备的映射 一个逻辑设备名可以对应多个物理设备 P1 P2申请同一类逻辑设备 但系统能分配给他分配不同的物理设备
及时性不要求的 一般都是慢速设备
选C
A.通道不能直接控制设备
B 对于同一组输入输出命令,只能指明一个位置,指明通道的某个寄存器 或者某个特定的设备控制器的某个寄存器 而无法同时指向两个地方
A 硬件
A,:”执行“启动I/0”指令而被通道拒绝接收“这个事件是由指令引发的,因此是内部异常,而不是中断。通道会通过控制总线对CPU告知异常
19
等于:哪一层在接收系统调用参数
用户 可以使用用户层软件提供的库函数(eg:printf)
而库函数又会使用到read write系统调用 系统调用参数是又用户层软件层发出
由设备独立性软件接收
20
IO应答是自下往上的
初始化DMA:
5.2
3.A
B C D 都是专用缓存 只能用于两个进程之间
cache在cpu中
5.回到初始状态
6.如果加上该系统要处理多个数据块 会更加严谨合理
7.被我理解错了
有缓存区的话 是先从磁盘输入到内核缓冲区 可以使用DMA传送 当缓冲区满了之后 再放到用户空间供用户使用 为什么是先放到内核缓冲区???
只有满1KB才能唤醒用户 否则用户读到的数据可能不是他想要的
I 若没有缓冲 鼠标的操作会被覆盖
II 磁带 是互斥的 若已经被P1进程占用 P2只能阻塞等待 有缓冲区的话 数据会被先放到系统内核区的缓冲区的 放完后 P2就可以被唤醒 继续运行
III
磁盘是块设备 如果没有缓冲区 进程只能一字节一字节写到内核空间 再写到设备 有缓冲区的话 在内核空间开辟一片和块一样大小的缓冲区
IIII 如果没有显存(显卡的缓冲区) 没法缓冲图像 没法正常显示
有缓存 把接下来要显示的5帧先放到显存中