清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 第8章设备管理 81引言 82数据传送控制方式 83中断技术 84缓冲技术 85设备分配 86o进程控制 87设备驱动程序 本章小结 习题
第8章 设备管理 8.1 引言 8.2 数据传送控制方式 8.3 中断技术 8.4 缓冲技术 8.5 设备分配 8.6 I/O进程控制 8.7 设备驱动程序 本章小结 习题
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 设备管理是操作系统的重要组成部分之一。本章主 要讨论设备管理的基本概念,包括中断、缓冲、设 备分配和控制等。 8.1引言 8.11设备的类别 在计算机系统中,除了CPU和内存之外,其他的大 部分硬设备称为外部设备。它包括常用的输入输出 设备、外存设备以及终端设备等。本节先从系统管 理的角度将各种设备进行简单的分类,然后再介绍 设备管理的主要功能与任务。 早期的计算机系统由于速度慢、应用面窄,外部设 备主要以纸带、卡片等作为输入输出介质,相应的 设备管理程序也比较简单
设备管理是操作系统的重要组成部分之一。本章主 要讨论设备管理的基本概念,包括中断、缓冲、设 备分配和控制等。 8.1 引 言 8.1.1 设备的类别 在计算机系统中,除了CPU和内存之外,其他的大 部分硬设备称为外部设备。它包括常用的输入输出 设备、外存设备以及终端设备等。本节先从系统管 理的角度将各种设备进行简单的分类,然后再介绍 设备管理的主要功能与任务。 早期的计算机系统由于速度慢、应用面窄,外部设 备主要以纸带、卡片等作为输入输出介质,相应的 设备管理程序也比较简单
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 由于个人计算机、工作站以及计算机网络系统等的 发展,外部设备开始走向多样化、复杂化和智能化 再者,除了硬件设备之外,以某种硬件设备为基础 的虚拟设备和仿真设备技术也得到了广泛应用。例 如,虚终端技术和仿真终端技术等。实际上,近年 来最为流行的窗口系统中的 X-WINDOW等都是作 为一种设备和操作系统相连的。这使得设备管理变 得越来越复杂化。 首先,我们介绍设备的分类。按设备的使用特性分, 可分为存储设备、输入输出设备、终端设备以及脱 机设备等,如图8.1所示
由于个人计算机、工作站以及计算机网络系统等的 发展,外部设备开始走向多样化、复杂化和智能化。 再者,除了硬件设备之外,以某种硬件设备为基础 的虚拟设备和仿真设备技术也得到了广泛应用。例 如,虚终端技术和仿真终端技术等。实际上,近年 来最为流行的窗口系统中的X-WINDOW等都是作 为一种设备和操作系统相连的。这使得设备管理变 得越来越复杂化。 首先,我们介绍设备的分类。按设备的使用特性分, 可分为存储设备、输入输出设备、终端设备以及脱 机设备等,如图8.1所示
手华 磁带 盘 磁盘 存储设备 硬盘 其他(磁鼓,光盘等) 键盘 打印机 显示器 图形输入/输出设备 输入/输出设备 图像输入/输出设备 绘图机 外部设备 音声输入/输出设备 网绪通信板 其他 会话型 通用终端 批处鋰型 终端设备 智能终端 专用终端 虚终端 脱机设备 图81按使用特性对外部设备的分类
图8.1 按使用特性对外部设备的分类
清华大学出版社 000000 TSINGHUA UNIVERSITY PRESS 另外,按设备的从属关系,可把设备画分为系统设 备和用户设备。系统设备是指那些在操作系统生成 时就已配置好的各种标准设备。例如,键盘、打印 机以及文件存储设备等。而用户设备则是那些在系 统生成时没有配置,而由用户自己安装配置后由操 作系统统一管理的设备。例如,网络系统中的各种 网板、实时系统中的AD、D/A变换器、图像处理 系统的图像设备等 对设备分类的目的在于简化设备管理程序。由于设 备管理程序是和硬件打交道的,因此,不同的设备 硬件对应于不同的管理程序。不过,对于同类设备 来说,由于设备的硬件特性十分相似,从而可以利 用相同的管理程序或只需做很少的修改即可
另外,按设备的从属关系,可把设备画分为系统设 备和用户设备。系统设备是指那些在操作系统生成 时就已配置好的各种标准设备。例如,键盘、打印 机以及文件存储设备等。而用户设备则是那些在系 统生成时没有配置,而由用户自己安装配置后由操 作系统统一管理的设备。例如,网络系统中的各种 网板、实时系统中的A/D、D/A变换器、图像处理 系统的图像设备等。 对设备分类的目的在于简化设备管理程序。由于设 备管理程序是和硬件打交道的,因此,不同的设备 硬件对应于不同的管理程序。不过,对于同类设备 来说,由于设备的硬件特性十分相似,从而可以利 用相同的管理程序或只需做很少的修改即可
清华大学出版社 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进程的概念及设备驱动过程