清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 除了上述分类方法之外,在有的系统中还按信息组 织方式来画分设备。例如,UNI系统就把外部设 备画分为字符设备和块设备。键盘、终端、打印机 等以字符为单位组织和处理信息的设备被称为字符 设备;而磁盘、磁带等以字符块为单位组织和处理 信息的设备被称为块设备
除了上述分类方法之外,在有的系统中还按信息组 织方式来画分设备。例如,UNIX系统就把外部设 备画分为字符设备和块设备。键盘、终端、打印机 等以字符为单位组织和处理信息的设备被称为字符 设备;而磁盘、磁带等以字符块为单位组织和处理 信息的设备被称为块设备
清华大学出版社 000000 UNIVERSITY PRESS 8.12设备管理的功能和任务 设备管理是对计算机输入输出系统的管理,是操作 系统中最具多样性和复杂性的部分。其主要任务是 (1)选择和分配输入输出设备以进行数据传输操作; (2)控制输入输出设备和CPU(或内存)之间交换数 据 (3)为用户提供友好的透明接口,把用户和设备硬件 特性分开,使得用户在编制应用程序时不必涉及具 体设备,系统按用户要求控制设备工作。另外,这 个接口还为新增加的用户设备提供一个和系统核心 相连接的入口,以便用户开发新的设备管理程序; (4)提高设备和设备之间、CPU和设备之间,以及进 程和进程之间的并行操作度,以使操作系统获得最 佳效率
8.1.2 设备管理的功能和任务 设备管理是对计算机输入输出系统的管理,是操作 系统中最具多样性和复杂性的部分。其主要任务是: (1) 选择和分配输入输出设备以进行数据传输操作; (2) 控制输入输出设备和CPU(或内存)之间交换数 据; (3) 为用户提供友好的透明接口,把用户和设备硬件 特性分开,使得用户在编制应用程序时不必涉及具 体设备,系统按用户要求控制设备工作。另外,这 个接口还为新增加的用户设备提供一个和系统核心 相连接的入口,以便用户开发新的设备管理程序; (4) 提高设备和设备之间、CPU和设备之间,以及进 程和进程之间的并行操作度,以使操作系统获得最 佳效率
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 为了完成上述主要任务,设备管理程序一般要提供 下述功能: (1)提供和进程管理系统的接口。当进程要求设备资 源时,该接口将进程要求转达给设备管理程序; (2)进行设备分配。按照设备类型和相应的分配算法 把设备和其他有关的硬件分配给请求该设备的进程, 并把未分配到所请求设备或其他有关硬件的进程放 入等待队列;
为了完成上述主要任务,设备管理程序一般要提供 下述功能: (1) 提供和进程管理系统的接口。当进程要求设备资 源时,该接口将进程要求转达给设备管理程序; (2) 进行设备分配。按照设备类型和相应的分配算法 把设备和其他有关的硬件分配给请求该设备的进程, 并把未分配到所请求设备或其他有关硬件的进程放 入等待队列;
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (3)实现设备和设备、设备和CPU等之间的并行操作。 这需要有相应的硬件支持。除了装有控制状态寄存 器、数据缓冲寄存器等的控制器之外,对应于不同 的输入输出(O)控制方式,还需要有DMA通道等 硬件。从而,在设备分配程序根据进程要求分配了 设备、控制器和通道(或DMA)等硬件之后,通 道(或DMA)将自动完成设备和内存之间的数据 传送工作,从而完成并行操作的任务。在没有通道 (或DMA)的系统里,则由设备管理程序利用中 断技术来完成上述并行操作;
(3) 实现设备和设备、设备和CPU等之间的并行操作。 这需要有相应的硬件支持。除了装有控制状态寄存 器、数据缓冲寄存器等的控制器之外,对应于不同 的输入输出(I/O)控制方式,还需要有DMA通道等 硬件。从而,在设备分配程序根据进程要求分配了 设备、控制器和通道(或DMA)等硬件之后,通 道(或DMA)将自动完成设备和内存之间的数据 传送工作,从而完成并行操作的任务。在没有通道 (或DMA)的系统里,则由设备管理程序利用中 断技术来完成上述并行操作;
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS (4)进行缓冲区管理。一般来说,CPU的执行速度和 访问内存速度都比较高,而外部设备的数据流通速 度则低得多(例如键盘),为了减少外部设备和内 存与CPU之间的数据速度不匹配的问题,系统中 般设有缓冲区(器)来暂放数据。设备管理程序负 责进行缓冲区分配、释放及有关的管理工作。 下面,首先介绍各种输入输出的控制方式,然后再 介绍缓冲区管理、中断、陷入以及软中断等基本概 念。在此基础上,再介绍设备分配原则及有关分配 算法,最后介绍O进程的概念及设备驱动过程
(4) 进行缓冲区管理。一般来说,CPU的执行速度和 访问内存速度都比较高,而外部设备的数据流通速 度则低得多(例如键盘),为了减少外部设备和内 存与CPU之间的数据速度不匹配的问题,系统中一 般设有缓冲区(器)来暂放数据。设备管理程序负 责进行缓冲区分配、释放及有关的管理工作。 下面,首先介绍各种输入输出的控制方式,然后再 介绍缓冲区管理、中断、陷入以及软中断等基本概 念。在此基础上,再介绍设备分配原则及有关分配 算法,最后介绍I/O进程的概念及设备驱动过程