chap8-设备管理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• 缓冲是由输入输出控制系统进行管理的,在设备管理中 采用了缓冲技术,可以明显改善系统内信息流动的状况, 提高CPU与输入输出设备之间的并行性,显著提高系统 性能。
中断技术
• 中断技术是一种非常重要的计算机技术。所谓中断,是指 CPU对系统中发生的异步事件的响应。异步事件是指无一定 时序关系的随机发生的事件,如外部设备完成了数据的输入 或输出,实时控制设备的服务请求等。当有中断请求时, CPU中断当前程序的执行,转去处理该异步事件,直到处理 完后,又回到原来程序的中断点继续执行。 • 中断技术不仅解决了主机与外部设备之间速度不匹配的问题, 实现了主机与外部设备并行工作,而且有利于实时处理和故 障处理。 • 常见的中断: – 输入输出中断 – 程序中断 – 外部中断 – 机器检验中断
• 按用户来分,譬如在大型批处理系统中,字符设备往 往是由管理员以用户为单位分配;在分时系统中,带 键盘的 CRT 显示终端也是以用户为单位分配的,即谁 使用哪台终端进入系统,那么该终端就分给那个用户。
• 一般的分配方式是以进程为单位的动态(隐含式)分配。 由多个进程共享的块设备(磁盘、磁鼓、磁带等)往往采 取这种分配方式。实行这种分配的时机有两个,一是 为程序创建进程时进行分配,二是在进程运行时提出 了资源申请时进行分配。无论什么时间进行分配,都 必须给出分配设备的逻辑名以及设备类型。
• 可以使用更多个缓冲区构成一个缓冲器,并把它们按顺 序组成一个环形的先进先出队列,由发送装置和接收装 置依次向各个缓冲区装入和从其中取出信息,进一步提 高缓冲器的效率。
ቤተ መጻሕፍቲ ባይዱ
• 在实际的操作系统中,通常是把所有设备的缓冲区合并 在一起构成缓冲池,每台设备在需要时可以使用其中的 任何一个空闲的缓冲区。缓冲池由操作系统中的缓冲池 管理程序来管理,它负责对缓冲池内的空白缓冲区、各 种队列和工作缓冲区等进行组织,并协调输入输出控制 程序与用户程序的运行。
– 处在“输入输出控制系统”下面一层的是“设备驱动 程序”,它直接与设备打交道,控制设备控制器,完 成具体的输入输出。
• 设备驱动程序
– 一种低级的系统过程,它直接控制硬件设备的操作。 因为设备驱动程序直接与设备控制、设备提供的寄 存器打交道,所以一般使用汇编语言来编写。设备 驱动程序是和具体的硬件设备以及所处的系统紧密 相关的。驱动程序可以负责数据的传输,在数据传 送完成之后,驱动程序把操作情况报告给“输入输 出控制系统”。
设备管理的体系结构
• 计算机系统的输入输出设备种类、型号、规格繁多,所以 必须屏蔽众多的输入输出设备的物理特性,向用户提供一 个统一、简便的使用接口,实现所谓的设备无关性。 • 实现设备无关的一个好办法就是采用分层思想,逐层抽象 (分层是计算机技术中常用而又极其重要的思想,如网络 协议)。一般来说,设备管理分为两层 – 处在最上面的与用户进程交互的是“输入输出控制系 统”,它完成设备的分配、调度并向程序员提供一个 统一的编程接口,实现了逻辑设备向物理设备的转换。
• 要分配输入输出资源,首要的是必须记录所有的输入 输出设备。一般来说,设备管理程序使用一些表数据 结构,如设备控制表、控制器表、系统设备表、通道 表等来记录系统所有设备的配置、设备类型、状态、 驱动程序、使用情况等信息,然后根据预先确定的算 法进行分配。分配时首先检查系统表,查看是否有符 合要求的设备,若有,则进行分配。分配成功后,就 可调用驱动程序完成具体的输入输出操作。
è ± É · Ç ù ¶ ¯ ³ Ì Ð ò ³ õ Ê ¼ » ¯ É è ± · ù ¾ Ê Ý ´ « Ë Í µ » · Ø Ê ä È ë Ê ä ³ ö ¿ Ø Ö Æ µ Í Ï ³
逻辑设备与物理设备
• “输入输出控制系统”的主要职责之一就是对每一个输 入输出请求,确定其所使用的设备。因为进程使用的是 一种逻辑设备,仅仅是实际的一种抽象,所以输入输出 控制系统必须把逻辑设备映射到实际的物理设备 ,把 所有的传送逻辑设备的请求转化为对与逻辑设备相对应 的实际的物理设备的操作指令。为此,系统必须保存一 张记录了物理设备信息的表,我们把这张表称之为逻辑 设备表(Logical Unit Table---LUT)。
• Cache、二级Cache
• 设置I/O缓冲器的主要原因
– 解决数据的接受和发送的速率不匹配的矛盾;串口、 NT安装 – 使用缓冲,可以使一次输入的信息能多次使用,减 少输入工作量;命中率
– 在通道或控制器内设置局部寄存器作为缓冲器,可 暂存I/O信息,以减少中断CPU的次数,提高系统运 行效率。
• 如果中断处理程序设计成允许在处理某一中断请求过程中再 响应优先级更高的中断请求,则要在中断处理过程开始时开 中断。此时应分清层次,避免混淆。
• 以上工作,有的系统由硬件自动完成,另外一些系统中则由 软件完成,不同的计算机系统处理方法是不同的。
设备的分配与调度
• 按照用户的要求,合理、公平地进行设备分配是一件 复杂的事情。设备的分配方法是多种多样的。
• 设备驱动程序是操作系统的核心例程,不可或缺。一般来说, 操作系统中应配备不同类型设备的驱动程序。但是,由于驱 动程序与硬件设备紧密相关,而硬件设备种类繁多并且各个 厂家的硬件产品又不尽相同,显然,要求操作系统配备所有 硬件设备的驱动程序是不可能的。事实上,一般是由操作系 统提供一套设备驱动程序的标准框架,由硬件厂商根据标准 编写设备驱动程序并随同设备一起提交给用户。
Ê ä È ë Ê ä ³ ö ¿ Ø Ö Æ Ï µ Í ³ ×È è ø µ ôÓ Ã ½ ÷ ³ Ì é Ö Ñ ¤I/OÇ ë Ç ó ôÓ µ Ã Ç ù ¶ ¯ ³ Ì Ð ò ´ Ì × ¬ ¼ ì Ñ é ½ Ð » Ñ µ ôÓ Ã ½ ÷ ³ Ì µ » · Ø µ ôÓ Ã ½ ÷ ³ Ì
•
“输入输出管理系统”通过进程传送过来的参数获得逻 辑设备号,然后通过逻辑设备表( LUT )查找到响应 的物理设备及其驱动程序,调用设备驱动程序,完成 实际的操作。大体思路如此,但不同的操作系统,其 具体的实现可能会有所不同。
缓冲技术
• 在现代计算机系统中,通常使用中断机制和通道技术 来提高 CPU 与外部设备之间并行操作的程度。但是 CPU 与外设、内存与外设、外设与外设之间的处理速 度是不匹配的,处理速度极慢的外设频繁地中断 CPU 的运行,将会大大降低 CPU 的使用效率,影响整个计 算机系统的运行效率,为此人们引入了缓冲技术,利 用输入输出缓冲器来提高 CPU 与输入输出设备之间的 并行程度,提高整个系统的运行效率。
• 各中断源需要中断服务时,都要向主机发出中断请求信号, 主机将按轻重缓急来安排响应和处理这些中断请求的顺序。 这就是中断的优先级概念。当一个中断请求信号被 CPU 响应之后,CPU就自动做以下工作: – 关中断 – 保留断点地址
– 转去执行相应的中断处理程序
• 在中断处理程序中,一般应包括以下工作: – 保护现场,保存程序断点处的寄存器的内容和标志位。 – 对中断请求信号进行相应的处理 – 恢复现场,将保存的内容还原。 – 开中断并返回
8.6.3 设备管理
• 操作系统的设备管理应当完成几方面的任务: 根据各类设备的特点确定相应的分配策略;按照进程的 请求把进程需要的输入 / 输出设备分配给提出请求的进 程。计算机系统的设备可分为三类:共享设备、独享设 备和虚拟设备。操作系统应该根据各类设备的不同特性, 进行妥善的管理。 启动设备完成实际的输入输出操作。输入输出设备都有 一个控制器,它直接控制设备完成具体的输入输出。一 般通过控制该控制器来完成具体的输入输出。
• Windows DDK、VXD,PNP • 设备驱动程序的主要任务是:负责接收和分析从设 备分配程序转来的信息以及设备控制表中的信息, 结合设备特性,进行信息格式转换,把执行信息转换成设
备能够执行的形式,驱动设备进行I/O操作。
• 当某一进程需要使用某种输入 ÷ ³ ½ Ì 输出设备时,首先向“输入输 出控制系统”发出请求,该子 系统阻塞进程、分析进程发出 的请求,并根据进程的请求调 用适当的设备驱动程序。设备 驱动程序接到“输入输出控制 系统”发出的调用请求后,写 设备控制器的寄存器,完成设 备的初始化,操作设备完成具 体的输入输出工作,完成数据 传输之后,把设备的状态信息 反馈给“输入输出控制系统”。 “输入输出控制系统”检验设 备状态,唤醒请求进程,并把 操作状态信息返回给请求进程。
向用户提供一个统一的、友好的使用界面。我们知道, 操作系统的主要功能之一就是向用户提供一个方便、易 用的操作接口。对于输入输出设备来说,这一点尤为重 要。一般通过设备无关性(即对任何设备,其逻辑接口 都是一样的)来实现。 优化设备的调度、提高设备的利用率。提高资源使用率, 是操作系统的主旋律。一般来说,与CPU相比,输入输 出设备的运行速度是极慢的,所以,提高设备和主机的 并行工作能力、尽可能优化设备的运行效率对提高整个 计算机系统的性能有着极其重要的意义。一般常采用虚 拟技术和缓冲技术。
• 总之,为了有效地进行I/O操作,在信息传输的 路径上,特别是在内存中,设置各种缓冲区是 完全必要的。
• 缓冲器实际上就是由几个存储单元构成的存储器。它可 以占用内存中一部分存储空间作为缓冲器,也可以单独 设置一个存储器作为缓冲器。由于缓冲器是一片连续的 存储单元,所以也叫缓冲区。采用了缓冲区,可以减少 发送装置和接收装置的等待时间,提高了设备的并行操 作程度。