操作系统复习——设备管理

I/O设备管理概述

I/O设备类型

  1. 按信息组织特征分
    ① 块设备
    ② 字符设备
    ③ 络设备
  2. 按共享属性分
    ① 独占设备
    ② 共享设备
    ③ 虚拟设备
  3. 按使用特性分
    ① 输入设备
    ② 输出设备
    ③ 存储设备按
  4. 传输速率分
    ① 低速设备
    ② 中速设备
    ③ 高速设备

I/O端口

  1. 定义:可编址设备的另外一种
  2. I/O port
  3. 功能
    ① 完成数据的存储转发;
    ② 记录连接设备的状态;
    ③ 识别所连接设备的地址。

I/O系统的结构

  1. 微型机I/O系统
    ① 无通道的I/O系统
    ② 以CPU为中心
  2. 主机I/O系统
    ① 有通道的I/O系统
    ② 以主存为中心
    ③ 属于四级结构

I/O系统功能

  1. 目的:为了提高CPU利用率而引入的。
  2. 设备分配:按照—定策略,为申请设备的进程分配设备;
  3. 设备映射——方便用户使用
    ① 隐藏物理设备的细节
    对设备进行抽象,隐藏物理设备的实现细节,向上层提供少量、抽象的读/写命令
    ② 实现设备的无关性
    用户不仅可以使用抽象的I/O命令,还可以使用抽象的逻辑设备名来使用设备
    ③ 提高处理机和I/O设备的利用率:I/O设备之间、IO设备与处理机之间应该能够并行操作
    ④ 对I/O设备进行控制
    ⑤ 确保对设备的正确共享:独占设备/共享设备
    ⑥ 错误处理

I/O系统软件结构

I/O控制方式发展宗旨

尽量减少CPU对I/O的干预,提高CPU利用率

程序I/O控制方式

  1. 早期无中断系统,CPU对I/O设备的控制采取轮询(polling)的可编程I/O方式
  2. “忙测试”过程:
    ① CPU向I/O控制器发—条I/O命令,启动l/O设备;
    ② 置设备状态寄存器中busy为1;
    ③ 循环测试busy,直到busy=0;
  3. 缺点:CPU的绝大部分时间都处于等待I/O设备完成数据I/O的循环测试中
  4. 特点:
    ① I/O基本单位是数据块(Block);
    ② I/O是直接从设备入内存,或相反;
    ③ 一块/多块完成后,CPU才干预;
  5. 工作过程:
    ① 进程I/O,CPU给控制器发送:I/O命令、内存/外存起址、传输字节数;
    ② CPU启动控制器进行数据I/O;
    ③ I/O完成,DMA向CPU发送中断信 ;
  6. 每次传输一个块或几个连续块
  7. 常用于块设备的I/O控制

通道控制方式

  1. 工作过程:
    ① 进程l/O,CPU向通道发送I/O命令,给出通道程序的起址、需访问的设备等;
    ② 通道执行通道程序,完成I/O,并中断通知CPU
  2. 每次传输一组数据块
  3. 与DMA相比:
    ① 通道所需要CPU干预更少
    ② 多个不连续块的传递和存储
    ③ 减轻CPU的负载
  4. 通道程序
    由—系列通道指令组成,包括有关操作码、
    内存地址、计数、结束位P等

缓冲管理

缓冲引入的原因

  1. 缓和CPU与l/O设备间速度不匹配的矛盾
  2. 减少CPU对I/O的干预
  3. 提高CPU和I/O设备之间的并行程度

缓冲的种类

  1. 单缓冲
  2. 双缓冲
  3. 循环缓冲
  4. 缓冲池
单缓冲(Single Buffer)
  1. 工作方式:进程发出I/O请求时,操作系统在主存分配一个缓冲区,通过缓冲区完成I/O.

    双缓冲(Double Buffer)

    **目的:**为了加快输入和输出速度,提高设备利用率,引入了双缓冲机制,也称为缓冲对换(Buffer Swapping)

    1. 循环缓冲区中包含多个大小相同的缓冲区,可分为三类:
      ① 装输入数据的空缓中区R
      ② 已装满数据的缓中区G
      ③ 计算进程正在使用的现行工作缓中区c
    2. 循环缓冲区的使用
      ① Getbufi过程
      ② Releasebuf过程
    缓冲池(Buffer Pool)
    1. 单、双、循环缓冲都属专用缓冲。缓冲池是公用缓冲,包含了一个管理的数据结构及一组操作函数的管理机制,用于管理多个缓冲区
    2. 目的:提高缓冲区的利用率,供多个进程共享;
    3. 循环池的组成
      (1)用户管理缓冲区的队列:空缓队列emg、输入队列ing、输出队列outq
      (2)用于标识缓冲池中各缓冲区动态过程的工作缓冲区
      ① 用于收容输入数据的工作缓冲区hin
      ② 用于收容输出数据的工作缓冲区hout
      ③ 用于提取输入数据的工作缓冲区sin
      ④ 用于提取输出数据的工作缓冲区sout
    4. 设备分配

      功能:进程发出I/O请求时,按照一定的策略将I/O所需设备分配给进程。

      设备分配中的数据结构

      1. 设备控制表DCT(Device Control Table):系统为每个设备配置—张DCT,用于记录该设备的相关参数。
      2. 控制器控制表COCT(Controller Control Table)
      3. 通道控制表CHCT(Channel Control Table)
      4. 系统设备表SDT(System Device Table)

    SPooLing系统

    1. 定义:通过在高速外存设置lI/O缓冲,将独占型设备改造成为可共享的虚设备。
    2. SPooLing系统的组成
      在线同时外围操作,Simultaneous Peripheral Operation On-Line
      (1)输入井/输出井
      ① 磁盘上开辟的存储区域,分别容纳输入/输出数据
      ② 井文件:数据—般以文件形式组织管理
      ③ 所有进程的数据文件链接成为队列
      (2)输入缓冲区/输出缓冲区
      ① 内存设置缓冲区,用于缓和CPU和磁盘之间速度不匹配的矛盾
      ② 分别作为输入设备输入或输出井到输出设备之间的缓冲
      (3)输入进程/输出进程
      (4)井管理程序
      控制作业与磁盘井之间的信息交换
    3. 声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2022年5月2日
下一篇 2022年5月3日

相关推荐