1 / 29

第八章 输入输出管理

第八章 输入输出管理. (一) I/O 管理的基本概念 (二) 缓冲技术 (三) 设备分配技术 (四) I/O 控制. (一) I/O 管理的基本概念. 一 . 计算机外部设备 在计算机系统中除 CPU 和内存储外所有的设备和装置称为计算机外部设备(外围设备、 I/O 设备)。 1. 存储设备: 用来存放各种信息的设备称为存储设备。 2. I/O 设备: 用来向计算机输入和输出信息的设备。 在现代计算机系统中有些设备既可以做存储设备,也可以做 I/O 设备。. 3. 计算机外部设备的特征: ( 1 )速度 ( 2 )传输单位

hamlin
Download Presentation

第八章 输入输出管理

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第八章 输入输出管理 (一) I/O管理的基本概念 (二) 缓冲技术 (三) 设备分配技术 (四) I/O控制

  2. (一) I/O管理的基本概念 一. 计算机外部设备 在计算机系统中除CPU和内存储外所有的设备和装置称为计算机外部设备(外围设备、I/O设备)。 1. 存储设备: 用来存放各种信息的设备称为存储设备。 2. I/O设备: 用来向计算机输入和输出信息的设备。 在现代计算机系统中有些设备既可以做存储设备,也可以做I/O设备。

  3. 3. 计算机外部设备的特征: (1)速度 (2)传输单位 (3)容许的操作(操作特性) (4)出错条件

  4. 4. 设计目标 (1) 字符代码的独立性 现在使用ASCII码 (2) 设备独立性 (3) 效率 (4) 设备处理的一致性

  5. 1.状态跟踪 设备控制块是存放设备管理和控制信息的数据结构,动态的记录各种设备的状态。 2.制订设备分配策略 决定设备分配策略,以确定谁、何时使用设备,使用多长时间。 3.设备分配与回收 作业级——静态分配 进程级——动态分配 4.设备控制 实施设备驱动和中断处理的工作。设备控制包括设备的驱动、完成和故障中断处理。 二. I/O管理功能

  6. 三. 设备独立性 1. 设备独立性的概念 (1)逻辑设备名 逻辑设备名是用户自己定义的设备名(或设备号)。它是暂时的,可更改的。 (2)物理设备名 物理设备名是系统提供的设备的标准名称,它是永久的、不可更改的。 (3)设备独立性 设备独立性是指用户在编程序时所使用的设备与实际设备无关。也就是在用户程序中可使用逻辑设备名。

  7. 2. 两类设备独立性 (1)一个程序应独立于分配给它的某种类型的具体设备 即在用户程序中只指明I/O使用的设备类型即可。如在系统中配备了两台打印机,用户要打印时只要告诉系统要将信息送到打印机即可。 (2)程序要尽可能地与它使用的设备类型无关 即在用户程序中只要指出要输入或输出信息,至于信息I/O使用的设备不需用户指明。

  8. 3. 设备独立性的优点 • 方便用户编程 • 提高系统资源的利用率 使用程序运行不受具体的机器环境的限制。 • 提高系统的可扩展性和可适应性

  9. 四. 设备控制块 1. 什么是设备控制块(DCB) 设备控制块是设备管理的数据结构,用来存放设备的硬件特性、连接和使用情况,每类设备有一个设备控制块。 2. 设备控制块的内容 设备名:是设备的系统名,即设备的物理名。 设备属性:是描述设备现行状态的一组属性。 命令转换表:转换表包含该设备的I/O例程的地址。

  10. (二) 缓冲技术 一. 缓冲的概念 1. 为什么要使用缓冲 (1)两种设备之间传输信息时速度不匹配 (2)负载不均匀 系统有时会产生大量的数据需要I/O,有时又会很长时间没有I/O,造成I/O负荷的不均匀。 快速设备 慢速设备 中速设备缓冲 快速设备 慢速设备

  11. 2. 什么是缓冲 缓冲是用来在两种不同速度的设备之间传输信息时平滑传输过程的常用手段。 缓冲技术是用来匹配CPU与设备之间速度差异和负荷的不均匀。 3. 缓冲的实现 (1)缓冲器 用来暂时存放数据的一种硬件存储装置,容量较小。 (2)软件缓冲区 I/O操作期间,用来临时存放I/O数据的一块主存区域。

  12. 二. 常用的缓冲技术 1. 双缓冲 系统设置两个缓冲区,BUF1和BUF2,各进程使用这两个缓冲区。这种缓冲技术是最简单的,用于低频度活动号I/O。 w r w w r

  13. 2. 环形缓冲 在系统中设置若干缓冲区,并把这些缓冲区链接起来,这样若干个缓冲区就形成了一个环,故称环形缓冲区。

  14. 3. 缓冲池 系统设置多个缓冲区,形成一个缓冲池。这个池中的缓冲区为系统中所有的进程共享使用。 UNIX系统中,设置了一个15个缓冲区组成的缓冲池; 为了管理这些缓冲区,建立相应的数据结构: 缓冲区管理信息数据结构 空闲缓冲区队列 满缓冲区队列等

  15. 1. 静态分配和动态分配 静态分配 当一个作业(或进程)运行时,根据作业要求的设备,系统如果能满足,则将其要求的设备全部分配给它,然后开始运行,运行完成释放其占用的所有设备。 这种分配方式的优点是系统绝不会出现死锁,缺点是设备利用率太低。 动态分配 这种分配方法是在作业(或进程)运行的过程中,需要使用设备时,就向系统申请,系统根据某种分配原则进行分配。 这种方法的优点是设备的利用率高,缺点是系统有出现死锁的可能。 (三)设备分配一. 分配原则

  16. 2.设备分配算法 • 先来先服务算法 • 优先级高者优先 3. 设备分配的安全性 • 对于共享设备,不论采用静态分配还是采用动态分配都不会出现死锁。 • 对于独占设备,采用动态分配有可能造成死锁 • 独享分配、共享分配、虚拟分配

  17. 设备分配的主要技术:独享、共享、虚拟技术 二. 独享分配 1. 什么是独享设备 在一段时间内,由一个作业独自占用(即使没有使用)的设备。 2. 什么是独享分配 在一个作业执行前,或进程提出资源申请后,将所要使用的设备分配给它;当作业结束,或进程释放后,才将分配给它的这类设备收回(不能强行收回)。 问题:设备的利用率低。

  18. 三. 共享分配 1. 什么是共享设备 由多个作业、进程共同使用的设备称为共享设备。 2. 什么是共享分配 当进程提出资源申请时,由设备管理模块进行分配。进程使用完毕后,立即收回(只让用,不让占,类似于如CPU)。 问题:有些设备只能独享,能否将独享设备变成共享设备?

  19. 四. 虚拟分配 1. 什么是虚拟技术 所谓虚拟技术,是在一类物理设备(如外存)上模拟另一类物理设备(如打印机)的技术,是将独占设备转化为共享设备的技术。 2. 什么是虚拟设备 通常把用来代替独占设备的那部分外存空间(包括有关的控制表格)称为虚拟设备。 3. 虚拟分配 当进程需要与独占型设备交换信息时,系统将分配磁盘空间,并建立相应的数据结构,这种分配方法称为设备的虚拟分配。

  20. 五、SPOOLING系统 SPOOLING系统提供假脱机技术,或称外围设备同时联机操作。 1. 设计思想 (1) 预输入 在作业需要数据前,操作系统已将所需数据预先输入到辅存输入井存放。当作业(或进程)需要数据时,可以从辅存中读入内存。 (2) 缓输出 在作业执行时,将输出数据写入辅存输出井中。当作业(或进程)执行完毕(或需要数据时),由操作系统将数据输出。

  21. 2. 实现SPOOLING系统的基础 (1) 大容量的辅存空间 在辅存上需开辟两个较大的输入井和输出井,用以存放多作业的输入信息和输出信息。 (2) 硬件基础 通道装置、中断系统 (3) 数据结构 预输入表、缓输出表:描述辅存输入井和输出井的状态变化的表格。 (4) 所需的软件 预输入程序:控制信息从独占设备输入到辅存 缓输出程序:控制信息从辅存输出到独占设备 井管理程序:控制用户程序和辅存之间的信息交换

  22. 3. 什么是SPOOLING系统 利用通道、中断技术,在主机控制之下,由通道完成输入输出工作。系统提供一个软件系统(包括预输入程序、缓输出程序、井管理程序、预输入表、缓输出表)。它提供输入收存和输出发送的功能,使外部设备可以并行处理。这一软件系统称为SPOOLING系统。 4. SPOOLING系统的优点 (1) 提供虚拟设备 (2) 加快作业处理速度 (3) 外围设备同时联机操作

  23. (五)设备控制 一. 输入/输出控制方法 1. 循环测试I/O方式 早期的设备控制方式采用。 问题:不能并发操作,设备的利用率低。 2. I/O中断方式 主要适用于字符设备 3. DMA方式 主要适用于磁盘 4. 通道方式

  24. 二. I/O控制功能 控制设备I/O工作的核心模块通常称为设备驱动程序。它包括三个方面的功能: 1.解释用户I/O命令 2.设备驱动 3.中断处理 • 设备处理程序 设备处理程序是能直接控制设备运转的程序,它根据各类设备的特点和性能来编写。每一类设备有一个相应的设备处理程序,能控制同类中多台物理设备同时工作。

  25. 控制I/O核心模块的方式 (1)以设备处理进程的方式 • 为每一类设备设置一个设备处理进程(对应的程序就是设备处理程序) • 该进程当有I/O请求来到时,被唤醒,进行设备驱动工作 • 当没有I/O请求时,就睡眠 I/O控制模块的接口程序,负责解释用户的I/O系统调用;转换成I/O控制模块认识的命令形式;将I/O请求发给对应的设备处理进程。 (2)将设备与文件一样对待 将设备与文件一样对待,使用文件系统的系统调用命令进行设备的读、写。Unix系统就是采用这种方法。

  26. 三. I/O接口程序( I/O 过程) 1.将逻辑设备转换为物理设备 • 根据I/O系统调用中给出的逻辑设备名(ldev) • 根据逻辑设备描述器,将逻辑设备名转换为物理设备名 2.合法性检查 对所需进行的操作进行合法性检查。 • 根据I/O系统调用中给出的操作模式mode • 根据DCB中命令转换标中允许的操作 3.形成I/O请求块,发消息给对应的设备处理进程 • 将请求的参数输入到I/O请求块(IORB) • 将I/O请求块(IORB)挂到对应的设备请求队列上

  27. 四. 请求I/O的进程、 I/O过程、设备处理进程、中断处理程序之间的同步关系

  28. 第八章 小 结 一. 设备管理的基本概念 1. I/O管理的功能 2. 设备独立性 定义 优点 3. 设备控制块 定义 二. 缓冲技术 1. 什么是缓冲 2. 常用的缓冲技术 3. 双缓冲技术 4. Unix系统的缓冲管理 三. 设备分配 1. 常用的设备分配技术 2. 独享设备 独享分配 定义 3. 共享设备 共享分配 定义 4. 虚拟设备 虚拟技术 定义 四. I/O控制的主要功能、各进程之间的关系

More Related