1、IO设备
IO设备管理是操作系统设计中最凌乱也最具挑战性的部分。由于它包含了很多领域的不同设备以及与设备相关的应用程序,因此很难有一个通用且一直的设计方案。所以在理解设备管理之前,应该先了解具体的IO设备类型。
计算机系统中的IO设备按使用特性可以分为一下类型:
1)人机交互类外部设备,又称慢速IO设备,用于桶计算机用户之间交互的设备,如打印机、显示器、鼠标、键盘等。这类设备数据交换速度相对较慢,通常是以字节为单位进行数据交换。
2)存储设备,用于存储程序和数据的设备,如磁盘、磁带、光盘等。这类设备用于数据交换,速度较快,通常以多字节组成的块为单位进行数据交换。
3)网络通信设备,用于与远程设备通信的设备,如各种网络接口、调制解调器等。其数据交换速度介于外部设备与存储设备之间。网络通信设备在使用和管理上与前两者设备有很大的不同。
1)低速设备,传输速率仅为每秒钟几个字节至数百个字节的一类设备,如键盘、鼠标等。
2)中速设备,传输速率在每秒数千个字节至数万个字节的一类设备,如行式打印机、激光打印机等。
3)高速设备,传输速率在数百个千字节至千兆字节的一类设备,如磁带机、磁盘机、光盘机等。
(2)按信息交换的单位分类
1)块设备
由于信息的存取总是以数据块为单位,所以存储信息的设备称为块设备。它属于有结构设备,如磁盘等。磁盘设备的基本特征是传输速率高,以及可寻址,即对他可随机地读写任意块。
2)字符设备
用于数据输入输出的设备为字符设备,因为其传输的基本单位是字符。它属于无结构类型,如交互式终端机、打印机等。他们的传输速率低、不可寻址、并且在输入输出时常采用中断驱动方式。
对于IO设备,有以下三种不同类型的使用方式:
独占式使用设备。独占式使用设备是指在申请设备是,如果设备空闲,就将其独占,不再允许其他进程申请使用,一直等到该设备被释放才允许其他进程申请使用。例如:打印机。
分时式共享使用设备。独占式使用设备时,设备利用率低,当设备没有独占使用的要求时,可以通过分时共享使用,提高利用率。例如:对磁盘设备的IO操作,各进程每次IO操作请求可以通过分时来交替进行。
以SPOOLing方式使用外部设备。SPOOLing技术是在批处理操作系统时代引入的,即假脱机IO技术。这