设备管理
1 I/O硬件组成
设备的类型:
- 块设备:如:磁盘、磁带,块大小512B~32KB,通常为512B。块设备的特点是速度高、随机访问、I/O采用DMA。
- 字符设备:如:键盘、行式打印机。特点是速度低、不可寻址、I/O采用中断驱动。
设备控制器:
设备控制器或适配器是I/O设备的电子部分,它是CPU与I/O设备之间的接口,它接收从CPU发来的命令,并控制I/O设备工作。通常一台控制器可控制多台同一类型的设备。
在微机中,设备控制器常做成印刷电路卡的形式,如I/O卡。
设备控制器的种类很多,需要不同的软件来控制它,这样的软件就是设备驱动程序。
控制器的功能:
- 接收和识别CPU发来的命令——控制寄存器
- 数据交换——数据寄存器
- 了解设备的状态,报告给CPU——状态寄存器
- 地址识别——地址译码器
设备控制器的组成:
控制器与CPU之间接口——用于控制设备与总线之间交换数据。
控制器与设备之间接口——用于根据CPU发来的命令,控制设备的动作。
I/O逻辑——用于实现对设备的控制。I/O逻辑对收到的地址进行译码,在根据译出的命令对设备进行控制。
2 设备通道
虽然有控制器可以对设备进行控制,但当外设很多时,CPU负担过重,为此在CPU与控制器之间增加通道。
增加通道的目的“是建立独立的I/O操作,不仅使数据的传送能独立于CPU,而且有关I/O操作的组织、管理及结束也尽量独立,以保证CPU有更多的时间去进行数据处理。
通道是特殊的处理机,它指令单一,没有内存。
通道的类型:
数组选择通道:
- 连接磁盘等高速外设。
- 以块为传送单位。
- 通道随与多个外设相连,但通常被一个设备专用,用完释放后才让给其他设备。
数组多路通道:
- 连接高速外设。如磁盘。
- 综合字节多路通道的”并行“和选择通道的”高速“的优点。通道利用一台设备”读写定位“的时间,再与另一外设交换信息。
字节多路通道:
- 连接中、低速外设。如打印机、终端等。
- 以字节为传送单位。
- 传送时,通道与多个外设交叉传递,当一个外设交换一个字节后,立即腾出,将通道让给另一个设备使用。
通道的连接方式:
3 I/O控制方式
I/O数据控制方式的发展经历了四个阶段:
- 程序直接控制方式
- 中断驱动方式
- DMA控制方式
- 通道方式
在I/O控制的整个发展过程中,始终贯穿着一条宗旨,尽量减少主机对I/O控制的干预,把主机从繁杂的I/O控制事物中解脱出来,以更多地去完成数据处理任务。
通道方式:
DMA方式比中断方式、程序I/O方式以显著地减少了CPU的干预,即从字节为单位的干预减少到以数据块为单位的干预。
I/O通道方式是DMA方式的发展,把以数据块为单位的干预,减少到对一组数据块为单位的干预。
在DMA方式中,每发出一个I/O指令,能读(写)一个连续的数据块,当需要一次去读多个离散的数据块且将它们分别传送到不同的内存区域时,则需多条I/O指令和多次中断,而通道只需一次即可完成。
通道有一系列通道指令构成。
4 I/O系统
设备的独立性
设备独立性也称设备无关性:指用户程序独立于具体物理设备。即用户只需说明使用哪类设备,如打印机或显示器(逻辑设备名),无需指定某个具体设备(物理设备名)。操作系统统一合理地进行设备分配。
设备独立性的优点–设备分配时的灵活性–易于实现I/O重定向
设备独立性的实现——逻辑设备表–操作系统实现逻辑设备到物理设备的转换。
5 SPOOLing技术
打印机是经常要用的输出设备,属于独享设备。利用SPOOLing技术,可将它改造为一台供多用户共享的设备,从而提高了设备的利用率。具体过程:
1>用户要求打印
2>输出进程SPO在“输出井”为之申请一空闲盘区,并将要求打印的数据送入其中。
3>SPO为用户进程申请“用户请求打印表”,将打印要求填入其中,并将该表挂到请求打印队列上。
4>打印机空闲时,SPO从打印队列上取出一张“请求打印表”将要打印数据从“输出井”送到内存“输出缓冲区”,由打印机进行打印。
5>重复4。
SPOOLing特点:
- 提高I/O速度
- 将独占设备改造为共享设备
- 实现虚拟设备功能
6 中断
中断是指在计算机执行期间,系统内部发生任何非寻常和非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序,而转去执行相应的事件处理程序,待处理完毕后又返回原来被中断处,继续执行或调度新的进程执行的过程。
禁止中断也被称为关中断。PSW的中断允许位的被重新设置被称为开中断。中断请求、关中断和开中断都是由硬件实现的。
中断屏蔽。通过在每一类中断源设置一个中断屏蔽触发器,来屏蔽它们的中断请求。
中断的分类:硬中断(内中断,外中断),软中断。