操作系统原理课件 第八章 i o管理

上传人:kms****20 文档编号:56867826 上传时间:2018-10-16 格式:PPT 页数:61 大小:355.50KB
返回 下载 相关 举报
操作系统原理课件 第八章 i o管理_第1页
第1页 / 共61页
操作系统原理课件 第八章 i o管理_第2页
第2页 / 共61页
操作系统原理课件 第八章 i o管理_第3页
第3页 / 共61页
操作系统原理课件 第八章 i o管理_第4页
第4页 / 共61页
操作系统原理课件 第八章 i o管理_第5页
第5页 / 共61页
点击查看更多>>
资源描述

《操作系统原理课件 第八章 i o管理》由会员分享,可在线阅读,更多相关《操作系统原理课件 第八章 i o管理(61页珍藏版)》请在金锄头文库上搜索。

1、第八章 I/O管理,计算机外部设备 在计算机系统中除CPU和内存外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。,8.1 I/O管理的概念 8.1.1 引言,8.1 I/O管理的概念 8.1.1 引言,存储设备:用来存放各种信息的设备称为存储设备,例如,软盘、硬盘、光盘和磁带等; I/O设备:用来向计算机输入和输出信息的设备,如键盘、鼠标、显示器、打印机等。 在现代计算机系统中有些设备既可以做存储设备,也可以做I/O设备,例如,软盘、硬盘等。 I/O管理就是设备管理,它是操作系统的一个重要的组成部分,负责管理系统中所有的外部设备。,8.1 I/O管理的概念 8.1.1 引言,计算

2、机外部设备种类繁多,特性各异。 主要表现在以下几个方面: 1.速度 不同的外部设备的传输速度的差别相当大,如键盘的传输速度不过几十,上百个字符,而磁盘的传输速度则是60万字节/每秒。 2.传输单位 有的设备的传输单位是字节,如键盘、打印机、显示器; 有的传输单位是字符块,如软盘、硬盘、磁带等; 有的传输单位是位,如个人计算机中的Serial Port(s) COM1、COM2,8.1 I/O管理的概念 8.1.1 引言,3.容许的操作(操作特性) 设备完成的操作种类各不相同,如打印机只允许写操作,键盘只能做读操作,而磁盘既可读,也可写。 4.出错条件 不同的设备,其出错条件也不相同,即数据传输

3、失败的原因各种各样,如打印机有缺纸错,磁盘I/O有奇偶校验错等。,设备的分类 (1)按系统和用户的观点分类(从属关系) 系统设备指在操作系统生成时已经登记在系统中的标准设备,如键盘、显示器、磁盘、打印机等; 用户设备OS生成后未登记在系统中的非标准设备,绘图仪、游戏操作柄、扫描仪等。 (2)按操作特性分类 存贮设备是计算机用来存放各种信息的设备。如磁盘、磁带等。 I/O设备是向CPU传输信息或输出经CPU加工处理的信息的设备。如键盘、显示器、打印机等,8.1 I/O管理的概念 8.1.1 引言,(3)按资源分配的角度 独享设备是指在一段时间内只允许一个用户进程使用的设备。多数低速的I/O设备都

4、属于这种类型,如打印机就是典型的独享设备; 共享设备是指在一段时间内允许允许几个用户同时使用的设备,磁盘、光盘等; 虚拟设备通过SPOOLING(虚拟脱机)技术把独享设备变换成几台逻辑设备,可供多个用户进程同时使用,这种经过虚拟技术处理后的设备称为虚拟设备。 (4)按基本信息单位分类 字符设备键盘、打印机、显示器 块设备一般块大小为512B8KB,如磁带、磁盘、光盘,8.1 I/O管理的概念 8.1.1 引言,8.1 I/O管理的概念 8.1.2 设计目标及任务,设计目标: 1.字符代码的独立性: 系统能识别各种不同的字符代码,并能以标准形式向用户程序提供数据。 现在使用的ASCII码(美国信

5、息交换标准码) 2.设备独立性:独立于设备类型、独立于同类设备的具体设备号(对于设备的控制) 3.效率:提高设备的使用效率,尽可能提高设备的并行操作,充分利用通道和缓冲技术。 4.设备处理的一致性:设备的统一控制和处理。 任务: 完成用户提出的I/O请求,为用户分配I/O设备,提高I/O设备的利用率,方便用户使用I/O设备。,8.1 I/O管理的概念 8.1.3 I/O管理功能,1.状态跟踪 设备控制块是存放设备管理和控制信息的数据结构。系统通过设备控制块掌握设备的状态。 2.设备存取 在多用户环境中,系统必须决定一种策略,以确定谁将取得一台设备、使用多长时间,何时存取设备。,3.设备分配 在

6、多用户的环境下,负责设备的分配和回收。 4.设备控制 设备控制包括设备的驱动、完成和故障中断处理。,8.1 I/O管理的概念 8.1.4 设备独立性,一、设备独立性的概念 设备独立性是指用户在编程序时所使用的设备与实际设备无关。用户程序中只使用逻辑设备名。 两类设备独立性: 1. 一个程序应独立于分配给它的某类设备的具体设备。即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。 2. 程序要尽可能地与它使用的设备类型无关。即在用户程序中只要指出要输入或输出信息,至于信息I/O使用的设备不需用户指明。 二、设备独立性的实现 利

7、用软通道、作业说明书等实现,8.1 I/O管理的概念 8.1.4 设备独立性,三、设备独立性的优点 1.方便用户编程 2.使用程序运行不受具体的机器环境的限制 3.便于程序移植,8.1 I/O管理的概念 8.1.5 设备控制块,一、设备控制块 设备控制块是设备管理的数据结构,用来存放设备的管理和控制信息,每类设备有一个设备控制块。,8.1 I/O管理的概念 8.1.5 设备控制块,二、设备转换表(设备开关表) 设备开关表存放设备驱动和控制程序入口地址。,8.2 缓冲技术 8.2.1 概述,CPU与各种外部设备的速度上的差异很大,设备与设备之间的速度的差异也很大。 系统有时会产生大量的数据需要I

8、/O,有时又会很长时间没有I/O,造成I/O负荷的不均匀。 要解决这两个方面的问题就要引入缓冲的概念。 缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。 缓冲技术是用来匹配CPU与设备之间速度差异和负荷的不均匀。,引入原因 1)改善CPU、I/O之间的速度不匹配 2)减少中断次数,放宽CPU对中断的响应时间 3)增强CPU、CHANNEL(通道)、I/O的并行操作能力 常用的缓冲技术有三种:双缓冲、环形缓冲、缓冲池,8.2 缓冲技术 8.2.1 概述,8.2 缓冲技术 8.2.2 双缓冲,系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。这种缓冲技术是最简单的

9、,用于低频度活动I/O。 工作过程:首先输入将数据送入BUF1,然后,申请BUF2,在向BUF2输入数据的同时,输出进程可从BUF1中取数据。同理,向BUF1输入与从BUF2中取数据可以并行。,8.2 缓冲技术 8.2.3 环形缓冲,在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。,8.2 缓冲技术 8.2.4 缓冲池,系统设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。,8.3 设备分配 8.3.1 分配原则,一、静态分配和动态分配 1、静态分配 当一个作业(或进程)运行时,根据作业要求的设备,系统如果能满足,则将其

10、要求的设备全部分配给它,然后开始运行,运行完成释放其占用的所有设备。 这种分配方式的优点是系统绝不会出现死锁,缺点是设备利用率太低。,2、动态分配 这种分配方法是在作业(或进程)运行的过程中,需要使用设备时,就向系统申请,系统根据某种分配原则进行分配。 这种方法的优点是设备的利用率高,缺点是系统有出现死锁的可能。,8.3 设备分配 8.3.1 分配原则,二、设备分配算法 1、先来先服务算法 2、优先级高者优先 三、设备分配的安全性 对于共享设备,不论采用静态分配还是采用动态分配都不会出现死锁。 对于独占设备,采用动态分配有可能造成死锁。 独享分配、共享分配、虚拟分配,8.3 设备分配 8.3.

11、2 虚拟设备技术,虚拟技术:在一类物理设备上模拟另一类物理设备的技术,也是将独占设备转化为共享设备的技术。 虚拟设备:用来代替独占型设备的那部分外存空间。,8.3 设备分配 8.3.2 虚拟设备技术,虚拟技术的实现: SPOOLING系统:操作系统提供的外部设备联机同时操作的功能。即假脱机操作(SPOOL)。 系统分三个部分: 预输入; 缓输出; 井管理。,8.4 I/O控制 8.4.1 I/O控制方式,一、循环测试I/O方式 早期的设备控制方式采用。 该方式中,I/O控制器是操作系统软件和硬件之间的接口,它接收CPU的命令,并控制I/O设备进行实际的操作。 特点:工作过程简单,CPU利用率低

12、。,8.4 I/O控制 8.4.1 I/O控制方式,二、I/O中断方式 为了提高CPU和设备的利用率,就应使CPU与设备并行工作,采用I/O中断方式。采用这种方式要求控制寄存器中有一个中断位。,8.4 I/O控制 8.4.1 I/O控制方式,在I/O中断方式下,数据的输入(或输出)步骤如下: 设备驱动程序工作: 1、要求输入数据的进程把一个启动命令和允许中断位“1”写入相应设备的控制状态寄存器中,从而启动了该设备; 2、该进程因等待输入的完成进入睡眠状态。 3、当输入完成后,输入设备向CPU发出完成中断请求信号;,8.4 I/O控制 8.4.1 I/O控制方式,设备中断处理程序工作: 4、处理

13、机响应中断,处理该中断,并唤醒等待输入完成的进程; 5、在以后的某个时期,该程序被调度到后,继续运行。 优点:大大地提高了CPU的利用效率。 缺点:每次I/O都要CPU的干预,如果系统中配备了多台(套)设备时,CPU的利用率也会降低。解决的方法是采用通道技术。,8.4 I/O控制 8.4.1 I/O控制方式,三、通道方式 I/O通道是用来控制外部设备与主存之间进行成批数据传输的部件。每个通道可以连接多台外部设备,并控制它们的I/O操作。 通道有自己的一套简单的指令系统并执行通道程序,它接收CPU的委托,而又独立于CPU工作。因此通道可看作是计算机系统中专门用于I/O的处理机。,8.4 I/O控

14、制 8.4.1 I/O控制方式,通道的类型: 字节多路通道(低速); 选择通道(高速); 数组多路通道(中速)。 在个人计算机系统中采用微通道,就是教材中所讲的DMA。,8.4 I/O控制 8.4.1 I/O控制方式,四、DMA方式 DMA即直接存储器存取,是一种快速传送数据的机制,利用DMA方式进行数据存取时不需要CPU进行干预,可提高系统执行应用程序的效率。利用DMA传送数据时,数据直接在源地址和目的地址之间传送,不需要中间媒介。,8.4 I/O控制 8.4.2 I/O控制功能,8.4.2 I/O控制功能 控制设备I/O工作的核心模块通常称为设备驱动程序。它包括三个方面的功能: 1.解释用

15、户I/O命令 2.设备驱动 3.中断处理,8.4 I/O控制 8.4.2 I/O控制功能,不论是哪种设备驱动程序,它的功能是相同的, 接受用户的I/O请求命令,并把用户的请求转换成I/O请求块,挂到相应设备的I/O请求队列。 每类设备有一个I/O请求队列,在系统初始化时,将系统中所有设备的I/O请求队列置为空。 在系统初启时,系统为每类设备创建一个进程,执行程序就是该设备的设备驱动程序。由于系统初启时,相应的I/O请求队列为空,则进程处于等待状态。,8.4 I/O控制 8.4.2 I/O控制功能,一旦有I/O请求块挂入,唤醒该设备驱动进程。它被调度到时,从队列中取出一个I/O请求块,并按该块的内容执行一次I/O操作,发出I/O完成(或出错)中断信号。然后,检查请求队,若为空,则进入等待状态,否则,取下一个请求块。,8.5 磁盘调度和管理(补充内容),几乎所有的计算机都用磁盘存储信息,这是因为磁盘相对于内存有如下优点: 容量很大; 单位存储成本非常低; 关掉电源后,存储的信息不丢失。,8.5 磁盘调度和管理 8.5.1 磁盘硬件结构,硬盘结构示意图,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号