一、设备的分类
1、按照设备传输速率分类
(1)低速设备:传输速率在几字节到几百字节的设备,如鼠标、键盘灯输入输出设备。
(2)中速设备:指传输速率在每秒钟数千个字节至数十千个字节的设备。典型的设备有行式打印机、激光打印机等
(3)高速设备:指传输速率在数百千个字节至数兆字节的设备。典型的设备有磁带机、磁盘机、光盘机等存储设备。
2、按功能分类
(1)输入输出设备:键盘、鼠标、显示器、打印机等设备,主要的任务就是输入或者输出。
(2)存储设备:磁带机、磁盘、光盘机,他们同时是输入输出设备,但是主要的功能是进行存储。
3、按数据传输的单位分类
(1)块设备(Block Device):指以数据块为单位来组织和传送数据信息的设备。这类设备用于存储信息,有磁盘和磁带等。它属于有结构设备。典型的块设备是磁盘,每个盘块的大小为512B~4KB,磁盘设备的基本特征是:①传输速率较高,通常每秒钟为几兆位;②它是可寻址的,即可随机地读/写任意一块;③磁盘设备的I/O采用DMA方式。
(2)字符设备(Character Device):指以单个字符为单位来传送数据信息的设备。这类设备一般用于数据的输入和输出,有交互式终端、打印机等。它属于无结构设备。字符设备的基本特征是:①传输速率较低;②不可寻址,即不能指定输入时的源地址或输出时的目标地址;③字符设备的I/O常采用中断驱动方式。
4、按资源分配角度分类
(1)独占设备:指在一段时间内只允许一个用户(进程)访问的设备,只有等到操作完成后才能释放资源,大多数低速的I/O设备,如用户终端、打印机等属于这类设备。因为独占设备属于临界资源,所以多个并发进程必须互斥地进行访问。
(2)共享设备:指在一段时间内允许多个进程同时访问的设备。宏观上是轮询访问,通过调度完成访问。显然,共享设备必须是可寻址的和可随机访问的设备。典型的共享设备是磁盘。共享设备不仅可以获得良好的设备利用率,而且是实现文件系统和数据库系统的物质基础。
(3)虚拟设备:指通过虚拟技术将一台独占设备变换为若干台供多个用户(进程)共享的逻辑设备。一般可以利用假脱机技术(SPOOLing技术)实现虚拟设备。
二、设备控制器
设备的电子部分叫做设备控制器或适配器。设备控制器的主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。在小型和微型机中,它常采用印刷电路卡插入计算机中,控制器卡上通常有一个插座,通过电缆与设备相连,控制器和设备之间的接口是一个标准接口,它符合ANSI、IEEE或ISO这样的国际标准。
设备控制器是CPU与I/O设备之间的接口,它既要与CPU通信,又要与设备通信、还应具有按照CPU所发来的命令去控制设备工作的功能。因此,现有的大多数控制器都是由以下三部分组成的:设备控制器与处理器的接口、设控制器与设备的接口、I/O逻辑。设备控制器与处理机的接口用于实现CPU与设备控制器之间的通信。共有三类信号线:数据线、地址线和控制线。数据线是双向的,地址线和控制线是单向的。
数据线通常与三类寄存器相连接,它们有不同的地址。第一类是数据寄存器(可能有多个),用于存放从设备送来的数据(输入)或从CPU送来的数据(输出);第二类是控制寄存器(也可能有多个),用于存放从CPU送来的控制信息信息;第三类是状态寄存器(可以简单到只有一位状态位),用于存放设备的状态信息。数据的传递通过数据线传输。
I/O逻辑是对设备进行控制和记录设备的数据和状态信息,与cpu通过控制线和地址线相连接。I/O逻辑的功能是将cpu发送的I/O命令(通过控制线)解析然后控制设备进行操作,还有将cpu发送的设备地址(通过地址线)进行解析选择设备接口。在I/O逻辑中还有中断控制逻辑,产生中断请求线INT输出,在控制状态寄存器上有相应的中断允许位,然后将中断通过控制线传递给cpu进行中断处理程序和唤醒设备驱动程序。
图4-1所示,核心是I/O逻辑。
设备控制器是可寻址的,跟内存的寻址方式是相同的,设备控制器的地址个数根据所连接的设备的个数确定,每个连接到设备控制器的设备都有唯一的地址。
设备控制器的功能:接收和识别cpu发来的命令,实现cpu和控制器及控制器和设备之间的数据交换,记录和报告设备的状态,设备的地址识别。
三、设备管理的目标
(1)提高设备的利用率。为此,应尽量提高CPU与I/O设备之间的并行操作程度,主要利用的技术有:中断技术、DMA技术、通道技术、缓冲技术。
(2)为用户提供方便、统一的界面。所谓方便,是指用户能独立于具体设备的复杂物理特性之外而方便地使用设备。所谓统一,是指对不同的设备尽量使用统一的操作方式,例如各种字符设备用一种I/O操作方式。这就要求用户操作的是简便的逻辑设备,而具体的I/O物理设备由操作系统去实现,这种性能常常被称为设备的独立性(设备无关性)。