操作系统原理8 华中科技大学.ppt

  1. 1、本文档共54页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统原理8 华中科技大学

第八章 I/O管理 第八章 输入输出管理 8.1 I/O 管理的概念 8.1.1 引言 计算机外部设备 在计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。 8.1 I/O管理的概念 存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等; I/O设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。 在现代计算机系统中有些设备既可以做存储设备,也可以做I/O设备,例如,软盘、硬盘等。 I/O管理就是设备管理,它是操作系统的一个重要的组成部分,负责管理系统中所有的外部设备。 8.1 I/O管理的概念 计算机外部设备种类繁多,特性各异。 主要表现在以下几个方面: 1.速度 不同的外部设备的传输速度的差别相当大,如键盘的传输速度不过几十,上百个字符,而磁盘的传输速度则是60万字节/每秒。 2.传输单位 有的设备的传输单位是字节,如键盘、打印机、显示器; 有的传输单位是字符块,如软盘、硬盘、磁带等; 有的传输单位是位,如个人计算机中的Serial Port(s) COM1、COM2 8.1 I/O管理的概念 3.容许的操作(操作特性) 设备完成的操作种类各不相同,如打印机只允许写操作,键盘只能做读操作,而磁盘既可读,也可写。 4.出错条件 不同的设备,其出错条件也不相同,即数据传输失败的原因各种各样,如打印机有缺纸错,磁盘I/O有奇偶校验错等。 8.1.2 设计目标 1.字符代码的独立性 现在使用的ASCII码(美国信息交换标准码) 2.设备独立性 3.效率 4.设备处理的一致性 8.1.3 I/O管理功能 1.状态跟踪 设备控制块是存放设备管理和控制信息的数据结构。 系统要掌握设备的状态。 2.设备存取 实现对设备的存取操作。 3.设备分配 在多用户的环境下,负责设备的分配和回收。 4.设备控制 设备控制包括设备的驱动、完成和故障中断处理。 8.1.4 设备独立性 一、设备独立性的概念 设备独立性是指用户在编程序时所使用的设备与实际 设备无关。 两类设备独立性: 1. 一个程序应独立于分配给它的某类设备的具体设备。即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。 2. 程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至如信息I/O使用的设备不需用户指明。 8.1.4 设备独立性 二、设备独立性的实现 在UNIX系统中,把设备与文件统一处理,这比前两种设备独立性又算了一步,对于用户来说,就没有设备的概念。 8.1.4 设备独立性 三、设备独立性的优点 1.方便用户编程 2.使用程序运行不受具体的机器环境的限制,如UNIX系统环境下,系统提供标准输入和输出,在用户程序中的输入输出都使用这两个标准的I/O,实际运行时,根据具体情况而定。 如果配备打印机,则将输出信息送到打印机打印,如果没有配备打印机,就把输出重向到某个指定文件,把要打印的信息送到该文件中。 3.便于程序移植 8.1.5 设备控制块 一、设备控制块 设备控制块是设备管理的数据结构,用来存放设备的管理和控制信息,每类设备有一个设备控制块。 8.1.5 设备控制块 二、设备转换表(设备开关表) 设备开关表存放设备驱动和控制程序人口地址。 8.1.5 设备控制块 8.1.5 设备控制块 8.2 缓冲技术 8.2.1 概述 CPU与各种外部设备的速度上的差异很大,设备与设备之间的速度的差异也很大。 系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O。造成I/O负荷的不均匀 要解决这两个方面的问题就要引入缓冲的概念。 缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。教材上的定义 缓冲技术是用来匹配CPU与设备之间速度差异和负荷的不均匀。 常用的缓冲技术有三种:双缓冲、环形缓冲、缓冲池 8.2.2 双缓冲 系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。这种缓冲技术是最简单的,用于低频度活动号I/O。 工作过程:首先输入将数据送入BUF1,然后,申请BUF2,在向BUF2输入数据的同时,输出进程可从BUF1中取数据。同理,向BUF1输入与从BUF2中取数据可以并行。 教材p193图8.2是双缓冲技术应用的策略图。 8.2.3 环形缓冲 在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。 8.2.3 环形缓冲 环形缓冲技术使用 设置一个输入指针

文档评论(0)

junzilan11 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档