Skip to content
Netflix - 每月低至 25 元

第7章 IO设备管理

单选题3题 多选题1题

7.1 设备与设备分类

  1. 设备管理的重要性

    • 设备管理的主要目的建立一个通用的、一致的设备访问接口,使用户和应用程序开发人员能够方便地使用输入/输出设备,而无须关心每种设备各自的特性。
    • 输入/输出设备(I/O设备)也称为外部设备,包括计算机系统中除CPU和内存储器以外的所有的设备和装置,还包括所有外部存储设备。
    • I/O设备的主要作用是输入需要处理的信息和操作人员对计算机系统的操作命令,输出处理后的信息和结果
  2. 设备管理的任务

    • I/O设备的性能经常成为系统性能的瓶颈
      • 操作系统主要通过缓冲技术、中断技术和虚拟技术解决
    • I/O设备干变万化,怎样对它们实现统一的管理
      • 要在设备管理和系统的其他部分之间提供接口——设备独立性
    • 如何保证安全正确地使用设备?
      • 用户对I/O设备的使用必须是安全的,由设备传送或管理的数据应该是安全和保密的
  3. 设备的分类

    (1) 按设备的使用特性分类

    • I/O设备
      • I/O设备是计算机与外部世界交换信息的设备——传感器、传动器、模拟/数字转换器、数字/模拟转换器
      • 输入设备是计算机用来接受指令和数据等信息的设备——常用的输入设备:鼠标、键盘
      • 输出设备是计算机用来传送处理结果的设备——常用的输出设备:显示器、打印机
    • 存储设备
      • 存储设备是计算机用来存放信息的设备——磁带、磁盘、光盘、U盘

    (2) 按信息组织方式划分设备

    • 字符设备
      • 键盘、终端、打印机等以字符为单位组织和处理信息的设备
      • 以字符为单位发送或者接收字符流,而不存在任何块结构
      • 不可寻址,所以没有任何寻址操作
    • 块设备
      • 磁盘、磁带等以数据块为单位组织和处理信息的设备
      • 能够随时读写其中的任何一块而与所有别的块无关

    (3) 按设备的共享属性分类

    • 共享设备——指在一段时间内允许多个进程使用的设备,典型的共享设备有磁盘
    • 独占设备——称为独享设备,是指在段时间内只允许一个进程使用的设备
    • 虚拟设备——指利用虚拟技术把独占设备改造成可由多个进程共享的设备,SPOOLing系统是种非常重要的虚拟设备技术

7.2 IO硬件组成

  1. 计算机I/O系统的结构

    计算机I/O系统硬件结构部分主要包含:适配器/接口部件、设备控制器、设备硬件3部分组成。

    • 每个设备控制器都有若干个寄存器与CPU进行通信
      • 控制寄存器:通过写入控制寄存器,操作系统可以控制设备发送数据、接收数据、开启或关闭。
      • 状态寄存器:通过读取状态寄存器,操作系统可以获悉设备的状态,如是否 准备好接收新的数据
      • 数据寄存器:常作为操作系统可以读写的数据缓冲区
    • 为了使CPU能够访问设备控制器中的寄存器,必须为每个寄存器分配唯一的地址(I/O端口地址或I/O端口号)。
      • 内存映射编址——分配给系统中所有端C的地址空间与内存地址空间统一编址
      • I/O独立编址——分配给系统中所有端口的地址空间与内存地址空间是完全独立的
      • 注意:操作系统并不直接与设备本身打交道,而是与设备控制器打交道,换句话说操作系统通过对设备控制器中的寄存器进行读写操作与设备交换数据
  2. I/O设备数据传送控制方式

    (1) 程序直接控制方式

    • 程序直接控制方式也称为PIO方式,是指由用户进程直接控制内存或CPU和外围设备之间进行信息传送。
    • 程序直接控制方式也称为“忙-等”方式、轮询方式或循环测试方式,其控制者是用户进程。
    • 运行流程
      • 当用户进程需要输入数据时
      • 通过CPU发出启动命令
      • 用户进程进入测试等待状态
      • CPU测试指令检查寄存器状态
      • 读取数据到内存或CPU
    • 优点CPU和外设的操作能通过状态信息得到同步,而且硬件结构比较简单
    • 缺点CPU效率较低,传输完全在CPU控制下完成,对外部出现的异常事件无实时响应能力。

    (2) 中断控制方式

    • CPU与外设在大部分时间内并行工作,有效地提高了计算机的效率
    • 具有实时响应能力,可适用于实时控制场合
    • 及时处理异常情况,提高计算机的可靠性
    • 优点:CPU利用率显著提高
    • 缺点:会损耗CPU的处理时间,特别是一些高速的外围设备以及成组交换数活的情况,速度仍然太慢。

    (3) DMA方式

    • DMA是直接内存访问的缩写,它是一种完全由硬件执行I/O数据交换的工作方式。
    • 在这种方式中,DMA控制器从CPU完全接管对总线的控制数据交换不经过CPU,而直接在内存和I/O设备之间进行
    • 采用DMA方式工作时,由DMA控制器向内存发出地址和控制信号进行地址修改,对传送字的个数计数,并且以中断方式向CPU报告传送操作的结束。
    • DMA方式的数据块传送过程可分为三个阶段:传送前预处理、数据传送、传送后处理。
      • 预处理阶段:由CPU执行I/O指令对DMAC进行初始化与启动。
      • 数据传送阶段:由DMAC控制总线进行数据传输。
      • 后处理阶段:传送结束,DMAC向CPU发中断请求,报告DMA操作结束。

    (4) 通道控制方式

    • 通道是一个特殊功能的处理器,有自己的指令和程序,可以实现对外围设备的统一管理和外围设备与内存之间的数据传送
    • 引入通道的目的是为了减少数据输入输出对整个系统运行效率的影响
    • 优点
      • 增加了CPU与通道操作的并行能力
      • 增加了通道之间以及同一通道内各设备之间的并操作能力
      • 为用户提供了灵活增加外设的可能性
    • 通道类型
      • 字节多路通道
      • 数组多路通道
      • 数据选择通道
    • 功能
      • 接受CPU的指令,按指令要求与指定的外围设备进行通信。
      • 内存读取属于该通道的指令,并执行通道程序,向设备控制器和设备发送各种命令。
      • 组织外围设备和内存之间进行数据传送,并根据需要提供数据缓存的空间,以及提供数据存入内存的地址和传送的数据量。
      • 从外围设备得到设备的状态信息,形成并保存通道本身的状态信息,根据要求将这些状态信息送到内存的指定单元,供CPU使用
      • 将外围设备的中断请求和通道本身的中断请求,按序及时报告CPU。

7.3 IO软件特点以及其他IO技术

  1. I/O软件特点及结构

    I/O软件层次——中断处理程序、设备驱动程序、与设备无关的操作系统软件、用户级软件(指用户空间的I/O软件)

    (1) 设备驱动程序

    • 特点:设备驱动程序与I/O设备的硬件结构密切联系
    • 作用:操作系统底层中唯一知道各种输入/输出设备的控制器细节以及其用途的部分。
    • 工作过程如下:
      • 首先从与设备无关的软件中接受抽象的读写请求
      • 执行一条I/O请求的第一步(是将它转换为更具体的形式)
      • 确定需要哪些控制器命令以及命令的执行次序
      • 向控制器的设备寄存器中写入这些命令

    (2) 与设备无关的系统软件

    • 设备驱动程序的统一接口——采用文件系统路径名的方法来命名设备
    • 设备命令——系统管理员可以根据需要为设备设置适当的存取权限,比如UNIX系统提供“rwx”位进行保护
    • 设备保护——有必要向较高层软件屏蔽各种I/O设备空间大小处理速度和传输速率各不相同这一事实,而向上层提供大小统的逻辑块尺寸。
    • 缓冲——对字符设备,当用户进程把数据写到设备的速度快于系统输出数据的速度时,必须使用缓冲
    • 存储设备的块分配——操作系统需要为每个磁盘设置一张空闲块表或位图
    • 独占设备的分配和释放——要求进程直接通过OPEN打开设备的特殊文件来提出请求
    • 错误处理——大多数错误是与设备密切相关的,只有驱动程序知道应如何处理(比如,重试、忽略或放弃)

    (3) 用户空间的I/O软件

    • 大部分I/O软件都包含在操作系统中,但是用户程序仍有一小部分是与库函数连接在一起的,比如I/O系统调用是通过库函数实现。
    • 用C语言编写的系统调用程序:count =write(fd, buffer, nbytes);
    • 在这个程序运行期间,该程序将与库函数write连接在一起,并包含在运行时的二进制程序代码中。
    • 输入输出的格式是由库函数完成的。
    • 不是所有的用户层I/O软件都由库函数组成的,其中SPOOLing系统是操作系统中处理独占设备的一种方法
    • SPOOLing技术不仅只适用于打印机这类输入/输出设备,还可应用在Internet上的电子邮件系统。
  2. 缓冲技术

    (1) 引入缓冲技术的原因

    解决中央处理机和外部设备的速度不匹配和负荷不均衡问题,为了提高各种设备的工作效率,增加系统中各部分的并行工作速度

    (2) 缓冲区的设置与管理

    缓冲技术是缓解处理机与设备之间速度不匹配的矛盾,并减少对CPU的I/O中断次数从而提高资源利用率和系统效率,比如数据到达速度和离去速度不匹配的地方都可以通过设置缓冲区。

    • 实现方式
      • 硬件实现——硬缓冲(打印机)
      • 软件实现——内存空间设置缓冲区
    • 实际操作
      • 单缓冲——输入时通道先将数据送入缓冲区,CPU从缓冲区读取数据处理
      • 双缓冲——分别设置输入缓冲区和输出缓冲区,则CPU和通道可以分别访问两个缓冲区
      • 多缓冲——设置一组输入缓冲区和一组输出缓冲区
      • 缓冲池技术——缓冲池属于操作系统空间,用户程序不能直接对其进行操作,只能通过系统调用间接使用(着重考虑实现进程访问缓冲区的同步
  3. 设备分配技术

    (1) 设备分配算法的数据结构

    • 系统设备表SDT——在整个系统中只有一张,全面反映了系统中的外设资源的类型、数量、占用情况等。
    • 设备控制表DCT——系统中的每台设备都有一张设备控制表,体现了设备的各方面特征及与该设备相连的设备控制器的情况,并保存了控制器块的入口位置。
    • 控制器控制表COCT——每个控制器都有一张控制器控制表,用于登录某控制器的使用分配情况及与该控制器相连的通道的情况。
    • 通道控制表CHCT——系统中的每个通道都有一张通道控制表,主要反映了通道的情况

    (2) 设备分配的原则

    • 考虑设备的特性和安全性
      • 设备的特性是设备本身固有的属性,一般分为独占共享和虚拟设备等。
      • 从安全性方面考虑,有安全分配方式和不安全分配方式两种
    • 设备分配策略
      • 采用先来先服务(FIFO)和高优先级优先等策略。

    (3) 独占设备的分配

    • 独占设备每次只能分配给一个进程使用,这种使用特性隐含着死锁的必要条件
    • 用户使用独占设备的活动如下:申请,使用,使用,...,使用,释放.....
    • 流程
      • 查找系统设备表,找到对应入口
      • P(Sm)
      • 查对应的设备表,找一空闲设备并分配
      • 根据释放设备类型,查询系统设备表,找到对应入口(使用命令:系统将转到设备驱动程序,完成一次I/O传输)
      • 查对应的设备表,找到要释放的设备(释放命令:系统设备从占有者手中收回)
      • V(Sm)

    (4) 共享设备的分配

    • 共享设备是可由若干个进程同时共享的设备,例如磁盘。
    • 用户使用共享设备的活动如下:使用,使用,...,使用.....
    • 共享型设备的I/O请求来自文件系统、虚拟存储系统或输入输出管理程序,当设备空闲时分配,占用时等待

    (5) 虚拟设备

    • 虚拟设备技术是解决独占设备在使用过程中的效率低的问题,实现这一技术的软、 硬件系统被称为SPOOLing(外围设备同时联机操作)系统。
    • SPOOLing系统通常分为输入SPOOLing和输出SPOOLing,两者工作原理类似。
    • 工作原理:SPOOLing系统可以随时响应打印请求并把数据缓存起来,把独占设备改造成了共享设备,从而提高了设备的利用率和系统效率。
关注微信公众号RackNerd - 美国 163 直连线路
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0

预览:

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3