设备管理是操作系统的主要功能之一,它负责管理所有输入输出设备以完成期望的数据传设备管理;由于计算机系统中存在着大量的输入/输出设备,其性能和应用特点可能完全不同。所以要建立一个通用的、一致的设备访问接口,使用户和应用程序开发入员能够方便地使用输入/输出设备。
设备管理的主要任务有:缓冲区管理、设备分配、设备处理、虚拟设备以及实现设备独立性。操作系统主要通过缓冲技术、中断技术和虚拟技术来解决I/0设备系统的性能。操作系统需要在设备管理和系统的其他部分之间提供简单而易于使用的接口;对于设备拥有者而言,多用户多任务环境中的设备使用应该通过协调避免冲突,设备不能被破坏。
按设备的使用特性分类,可以分为I/0设备和存储设备。
I/O 设备:①是计算机与外部世界交换信息的设备;②)输入设备是计算机用来接受指令和数据等信息的设备(键盘、鼠标等);③输出设备是计算机用来传送处理结果的设备(显示器、打印机等);④ 在计算机数据采集和过程控制等应用中,各种传感器、传动器、模拟/数字转换器、数字/模拟转换器等也属于 I/O 设备;⑤ 调制解调器、网络适配器(网络接口卡)等数据通信设备也属于 I/0设备,这类设备用于构建计算机网络通信系统。
存储设备:① 是计算机用来存放信息的设备,例如磁带、磁盘、光盘、U盘等各种外存设备。②)其中,可移动的磁带或磁盘在用于不同机器间传送数据时也可看作是 I/0设备。
按信息组织方式来划分设备,可以把 I/O设备划分为字符设备(character device)和块设备(b1ockdevice)。
字符设备:①) 键盘、终端、打印机等以字符为单位组织和处理信息的设备;②字符设备通常以字符为单位发送或者接收字符流,而不存在任何块结构;③ 字符设备不可寻址,所以没有任何寻址操作。除磁盘以外的大多数设备,例如网络接口卡、打印机、鼠标等可看作字符设备。
块设备:①磁盘、磁带等以数据块为单位组织和处理信息的设备②基本特性:能够随时读写其中的任何一块而与所有别的块无关。③外存类设备通常是块设备,因其记录长度通常为一个数据块,例如磁盘的扇区或者由若干扇区组成的簇。
按设备的共享属性可以将设备分为共享设备、独占设备和虚拟设备
(1)其享设备:共享设备是指在一段时间内允许多个进程使用的设备。磁盘是典型的共享设备。
(2)独占设备:独占设备也称为独享设备,是指在一段时间内只允许一个进程使用的设备。独占设备的使用效率低是造成死锁的条件之一。
(3)虚拟设备:虚拟设备是指利用虚拟技术把独占设备改造成可由多个进程共享的设备。SPOOLing系统是一种非常重要的虚拟设备技术。
有程序直接控制方式、中断控制方式、D4方式和通道控制方式,
指由用户进程直接控制内存或CPU和外围设备之间进行信息传送的方式也称为“忙-等”方式、轮询方式或循环测试方式,控制者是用户进程。
过程:① 用户进程从外围设备输入数据时,通过 CPU 发出启动设备准备数据的启动命令(通常是把一个启动位为1的控制字通过数据总线写入设备的控制寄存器中)。② 用户进程进入测试等待状态。在等待时间,CPU 不断地用一条测试指令检查设备的状态寄存器是否为完成状态(通常是检测状态寄存器的完成位是否为1),而外围设备只有将输入数据送入数据缓冲寄存器之后,才将该寄存器置为完成状态。③ 当 CPU检测到设备的状态寄存器为完成状态,则从设备的数据缓冲寄存器读取数据到内存或 CPU。④)反之,当用户进程需要向输出设备输出数据时,也必须同样发出启动命令和等待设备准备好之后才能输出数据。
优点:CPU 和外设的操作能通过状态信息得到同步,而且硬件结构比较简单;
缺点:CPU 效率较低,传输完全在 CPU控制下完成,对外部出现的异常事件无实时响应能力。所以,程序直接控制方式只适用于那些 CPU执行速度较慢,而且外围设备较少的系统,如单片机系统
I/O 设备数据传送控制方式中,实现程序直接控制方式需要的关键部件包括设备状态寄存器、地址总线和数据总线、设备控制寄存器、设备数据缓冲区和地址译码器。
中断是在发生了一个异常事件时,调用相应处理程序(通常称为中断服务程序)进行服务的过程。中断服务程序与中断时 CPU正在执行的进程是相互独立的,相互不传递数据。
优点:①CPU与外设在大部分时间内并行工作,有效地提高了计算机的效率。②具有实时响应能力,可适用于实时控制场合。③ 及时处理异常情况,提高计算机的可靠性。
CPU 通过数据总线发出命令,启动外设工作,当前进程阻塞,调度程序调度其他进程;外设数据准备好,置位中断请求触发器。若此时接口中断屏蔽触发器状态为非屏蔽状态,则接口向CPU发出中断请求(IR);CPU 接受中断请求(设备控制器的功能),且中断为允许中断状态,则中断判优电路工作;中断判优电路对优先级最高的中断请求给予响应(INTA),CPU中断正在执行的其他进程,转而执行中断服务程序。所以需要的关键部件是:中断控制器、地址总线和数据总线、设备控制器。
(1)目的:① 减少I/0数据交换消耗的处理时间;②提升高速的外围设备以及成组交换数据的速度。
(2)DMIA 方式的数据块传送过程可分为3个阶段:传送前预处理、数据传送、传送后处理。
① 预处理阶段--由 CPU执行 I/0指令对 DMAC进行初始化与启动。
②数据传送阶段--由 DMAC控制总线进行数据传输。当外设数据准备好后发 DMA请求,CPU 当前机器周期结束后响应 DMA请求,DMAC从 CPU接管总线的控制权,完成对内存寻址,决定数据传送的内存单元地址,对数据传送字进行计数,执行数据传送的操作。
③ 后处理阶段--传送结束,DAC向 CPU发中断请求,报告 DA操作结束。CPU响应中断,转入中断服务程序,完成DMA结束处理工作,包括校验数据,决定是否结束传送等。DMA 方式一般用于高速传送成组的数据。
(3)优点:①操作均由硬件电路实现,传输速度快;②CPU 仅在初始化和结束时参与,对数据传送基本上不干预,可以减少大批量数据传输时 CPU 的开销;③CPU与外设并行工作,效率高。
(4)局限性:①DMA方式在初始化和结束时仍由CPU控制;②)在大型计算机系统中,为了进一步减轻 CPU的负担和提高计算机系统的并行工作程度,除了设置DMA器件之外,还设置了专门的硬件装置--通道。
实现 DMA控制方式需要的关键部件包括:DMA控制器、地址总线和数据总线。