1.02k likes | 1.23k Views
操作系统原理. principles of operating systems. 作者申明. 本版内容的著作权为作者所有。因为教学目的使用本版内容时,请注明所用资料来自本网站或由本作者发送,并保留作者版权标记“ 200 7 孟静制作 版权所有”。将本版内容用于其他目的前,须征得作者同意。. 操作系统原理. 第一章 概论 第二章 CPU 管理 第三章 内存管理 第四章 文件系统 第五章 设备管理 第六章 进程通信 第七章 分布式、并行和网络操作系统 第八章 性能和设计. 第五章 设备管理. 5.1 设备管理概述
E N D
操作系统原理 principles of operating systems
作者申明 本版内容的著作权为作者所有。因为教学目的使用本版内容时,请注明所用资料来自本网站或由本作者发送,并保留作者版权标记“ 2007 孟静制作 版权所有”。将本版内容用于其他目的前,须征得作者同意。 孟静制作 版权所有
操作系统原理 第一章 概论 第二章 CPU管理 第三章 内存管理 第四章 文件系统 第五章 设备管理 第六章 进程通信 第七章 分布式、并行和网络操作系统 第八章 性能和设计 孟静制作 版权所有
第五章 设备管理 5.1 设备管理概述 5.2 简单UNIX设备管理实例分析 5.3 OS设备管理原理通述 5.4 Windows设备管理实例分析 5.5 本章小结
I/O 在计算机中的重要地位: • I/O速度是导致并发技术的直接原因,I/O设备多杂也是操作系统所管资源多杂的主要原因 • I/O性能是系统总体性能的重要决定因素、重要表现指标和常见瓶颈之一 • I/O能力和特点是现代计算机系统分类的重要依据 孟静制作 版权所有
5.1 设备管理概述 5.1.1 计算机外部设备的定义与分类 5.1.2 外部设备硬件接口特性 5.1.3 用户对外设的使用要求 5.1.4 操作系统设备管理功能的任务 回章首 孟静制作 版权所有
5.1.1 计算机外部设备的定义与分类 • 1.按设备作用可分为输入输出设备(字符设备)和外存设备(块设备) • 2.其他分类方法 • 按输入输出的另一端(Partner)分类 • 按是否交互分类 • 按数据传输率分类 • 按主被动I/O进行分类 • 按是否可并发共享 回节首 孟静制作 版权所有
图5.1 外设分类 孟静制作 版权所有
表5.1 外设分类 孟静制作 版权所有
5.1.2外部设备硬件接口特性 5.1.2.1 设备与控制器的功能关系 5.1.2.2 控制器与CPU(或通道)间的接口 5.1.2.3 设备与控制器间的接口 5.1.2.4 I/O连接模式(及其发展)总述 孟静制作 版权所有
5.1.2外部设备硬件接口特性 • 图5.3 主机与外设间的最简单最基本的连接方式 • 图5.4 PC连接 • 图5.5 通道连接 • 图5.6 服务器连接 回节首 孟静制作 版权所有
图5.3 主机与外设间最简单最基本连接 孟静制作 版权所有
图5.4 PC连接 孟静制作 版权所有
图5.5 通道连接 孟静制作 版权所有
图5.6 服务器连接 孟静制作 版权所有
5.1.2.1 设备与控制器的功能关系 • 外设电子部分完成以下工作: • (端口)地址译码 • 接口寄存器的设备方读写 • A\D,D\A转换 • 实现设备内部硬件缓冲存储、数据加工、DMA等 • 在使主机与设备相连接这一点上,使主机与设备的相互适应范围大 • 控制多台设备 孟静制作 版权所有
5.1.2.2控制器与CPU(或通道)间接口 • 1.接口寄存器 • (图5.7控制器I/O过程) • (表5.2IBM PC的I/O地址和中断向量) • 2.接口缓冲区 孟静制作 版权所有
图5.7控制器I/O过程 孟静制作 版权所有
表5.2IBM PC的I/O地址和中断向量 孟静制作 版权所有
5.1.2.3 设备与控制器间接口 • 图5.8 I/O数据的硬件流程 • 设备命令为什么要夹在正常输出数据中? • (1)是给设备的命令,控制器并不识别它们,通过数据接口寄存器传送就可以不经控制器处理而直接传送给设备,而通过控制接口寄存器传送的应是给控制器的命令 • (2)设备命令条数多,且多是带参数的,控制接口寄存器容纳不了 孟静制作 版权所有
图5.8 I/O数据的硬件流程 孟静制作 版权所有
5.1.2.4 I/O连接模式(及其发展)总述 • 最基本连接的特点 缺点:不通用,效率低 优点:代价小,实现简单,成本低廉 • 改善着眼点 • (1) 使CPU脱离I/O的负担、减轻CPU的负担 • (2)提高设备利用率:脱机->假脱机,交叉访问,等 • (3)在设备与主机的硬连接上引入设备控制器、总线 • 具体的4种改善途径: • 一是提高I/O设备本身的绝对速度或改善相对速度 • 二是减少或缓解速差 • 三是通过并发、并行使CPU不等待I/O • 四:使CPU尽量不负担I/O操作,如DMA/通道/外围机等 孟静制作 版权所有
I/O连接成分或技术(8种): • ·CPU ·高速缓冲存储器 ·主存储器 • ·CPU、存储器与I/O间的总线 • ·I/O控制器或I/O通道及其中所采取的缓冲技术、设备完成技术、DMA技术、 非编程式I/O技术 • ·I/O设备及其与主机间的三种连接方式 • ·I/O软件的速度 • ·I/O软件使用I/O设备的效率 孟静制作 版权所有
图5.9 I/O连接技术发展关系图 孟静制作 版权所有
5.1.3 用户对外设的使用要求 • 1.希望使用最方便的设备命名、操作类型和操作单位 • 2.程序对设备独立 • 3.效率和利用率 • 4.安全正确地使用保证 • 5.对设备的系统管理方面,要求了解设备的(动态)配置和装卸、设备使用情况 • 6.代价、成本、价格 回节首 孟静制作 版权所有
程序对设备的独立性 • 程序会随着设备的变化而变化,体现在两方面: • (1) 口地址出现在用户可执行目标程序中,在同一个程序的不同次执行中,使用的同一个设备,但这个设备在这不同次执行中的I/O口地址不同 • (2) 在同一个程序的不同次执行中,所需要使用的设备是不同的 • 解决办法: • A.当不同次执行需要使用不同设备时,在执行前先修改并重编译用户程序 • B.设备的口地址和符号名都不出现在用户可执行目标程序中,当不同次执行需要使用不同设备时,使用设备重定向功能来指定本次执行所需要的设备 孟静制作 版权所有
5.1.4 操作系统设备管理功能的任务 • (1) 负责登记系统的设备,并跟踪登记这些设备的使用情况和状态 • (2) 提供和实现方便的用户界面(上接口) • (3) 实现效率和利用率 • (4) 采用各种技术,来提供设备的正确和安全使用,提供设备保护 • (5) 以最小代价和最高性能实现上述任务 回节首 孟静制作 版权所有
界面具有以下性质: • ①向用户和用户程序提供设备符号名(逻辑名),自动实现从设备符号名到设备I/O口地址间的转换(映射),并负责相应的设备分配和回收工作 • ②提供设备高级逻辑操作,自动将这些逻辑操作转化为最终的实际物理操作 • ③提供设备管理与文件系统的统一接口,并向用户程序提供设备重定向功能,以保证程序对不同设备和文件的独立性 • ④该界面要有方便的系统管理手段 孟静制作 版权所有
实现保护的方式: • ①掩盖细节的高级接口 • ②命名与权限管理 • ③只有管态下的程序(即特权指令)才能直接使用设备硬件接口,即对相应I/O地址的直接读写列入特权指令范围,这是硬件实现的 孟静制作 版权所有
5.2 简单UNIX设备管理实例分析 5.2.1 用户界面 5.2.2 内部实现过程和结构 回节首 孟静制作 版权所有
5.2.1 简单UNIX用户界面 • 1.设备命名与操作(设备特别文件) • 2.标准输入输出和重定向 • 3.系统调用级的标准输入输出 • (图5.10) 孟静制作 版权所有
比较: 在操作级,要打印机 /dev/pt1打印一个文件f1 cat f1 >/dev/pt1 或cp f1/dev/pt1 在编程级,要在程序中往打印机/dev/pt1上打印"HELLO” fd=open(“/dev/pt1”); write(“hello”); close(fd); 孟静制作 版权所有
重定向的例子: • 用户在启动AP1时用了重定向功能 • 如用"AP1 > /dev/prt3"来启动AP1, • 那么程序AP1此次执行所用的标准输出设备就是/dev/prt3,即3号打印机 孟静制作 版权所有
图5.10I/O代码:从源程序(库)到EXE(SC) 孟静制作 版权所有
5.2.2 内部实现过程和结构 • 1.程序启动时如何打开和重定向标准输入输出设备(图5.11,5.12 UNIX I/O实现机制总瞰图) • 2.系统调用“打开设备”的内部实现过程(图5.13) • 3.系统调用“读/写设备”的内部实现过程(图5.14,5.15) • 4.对以上诸过程的分析(图5.16) 孟静制作 版权所有
图5.11 UNIX I/O实现机制总粗 孟静制作 版权所有
图5.11 UNIX I/O实现机制总细 孟静制作 版权所有
图5.12 标准重定向的实现 孟静制作 版权所有
图5.13 设备开关表 孟静制作 版权所有
图5.14 读设备 孟静制作 版权所有
图5.15 写设备 孟静制作 版权所有
图5.16 5.2.1节内容总结 孟静制作 版权所有
5.3 操作系统设备管理原理通述 5.3.1 OS设备管理用户界面通述 5.3.2 OS设备管理内部实现结构通述 5.3.3 OS设备管理内部实现过程通述 5.3.4 速度匹配专题1:设备完成技术、同异步IO 5.3.5 速度匹配技术专题讨论2:缓冲技术 5.3.6 设备分配与共享专题:独占、共享、虚拟设备 5.3.7 速度匹配专题3:联机、脱机和假脱机技术 5.3.8 非编程I/O专题:DMA、通道等 5.3.9 设备驱动程序 回章首 孟静制作 版权所有
5.3.1 OS设备管理用户界面通述 • (1)设备命名 • (2)逻辑操作 • (3)程序对设备的独立性 • (4)使用户了解设备使用情况 • (5)接口中的保护 回节首 孟静制作 版权所有
5.3.2 OS设备管理内部实现总体结构 两层: 设备无关层(独立层) 设备相关层(驱动层) 思想依据: 可移植性 可扩充性 四层: 设备中断处理程序 设备驱动程序 与设备无关的操作系统软件 用户级软件 回节首 孟静制作 版权所有
图5.17 OS设备管理功能总体分层 孟静制作 版权所有
1. 中断层 • 中断层的主要工作有: • (1) 检查状态 • (2) 需要时的后续驱动 • (3) 可能要改变有关进程状态 • 中断即异步中的同步技术 孟静制作 版权所有
2. 驱动层 • (1) 包括操作系统中所有设备驱动程序 • (2) 驱动程序中的代码是设备硬件相关的 • (3) 每个设备驱动程序处理一种设备类型 • (4)一个设备驱动程序有多个子程序组成,每个子程序实施一个或一组物理操作 • 驱动层具体工作过程 孟静制作 版权所有
驱动层的具体工作过程 • (1) 确定是否实施物理操作 • (2) 确定发出什么物理操作 • (3) 实施物理操作 • (4) (后处理)监督物理操作的正确执行和等待物理操作的完成 (冻结与非冻结) • (5) 中断时被调用的驱动层的物理操作后续处理 • 策略: • ①检查结果状态和传送结果数据 • ②可能的错误处理(指冻结的情况) • ③可能的唤醒 • ④可能的下一次I/O操作的启动,或因无请求而冻结 孟静制作 版权所有