计算机操作系统(七)——IO存储管理

本文详细介绍了计算机操作系统的I/O存储管理,包括I/O设备的定义、分类和管理目标,设备控制器的功能与类型,I/O软件的设计目标和层次结构,以及设备分配方式和磁盘结构等内容。重点探讨了不同I/O控制方式如中断、DMA和通道的工作原理,以及缓冲技术在解决CPU与设备速度不匹配问题中的应用。
摘要由CSDN通过智能技术生成

I/O存储管理

I/O设备(外围设备,外部设备,外设)

定义

  1. 现代计算机系统通常配备大量的I/O设备,用于计算机系统与外部世界(如用户、其他计算机或电子设备等)进行信息交换或存储
  2. I/O操作:内存和I/O设备之间的信息传送操作
    1. 不仅影响计算机的通用性和可扩充性,也是计算机系统综合处理能力及性价比的重要因素

分类

  1. 按信息传输方向划分
    1. 输入设备:将外界信息输入计算机(键盘、鼠标、扫描仪等)
    2. 输出设备:将计算结果输出(显示器、打印机等)
    3. 输入输出设备:既可以输入信息,也可以输出信息(磁盘驱动器、网卡等)
  2. 按交互功能划分
    1. 人机交互设别:用于用户与计算机之间的交互通信(鼠标、键盘、显示器等)
    2. 存储设备:持久性存储大量信息并快速检索(磁盘驱动器、光盘驱动器等)
    3. 机机通信设备:用于计算机和计算机之间的通信(网卡、调制解调器等)
  3. 按设备管理划分
    1. 字符设备:以字符为单位进行信息交换,发送或接收一个字符流(鼠标、显示器等)
    2. 块设备:以固定大小的数据块(块是存储介质上联系信息组成的一个区域)进行信息交换(磁盘驱动器等)
    3. 网络设备:用于与远程设备通信的设备(网卡等,可以抽象为传送字符流的特殊字符设备,也可以抽象为传送连续小块数据的块设备)

设备管理目标

  1. 克服设备和CPU速度的不匹配所引起的问题,使主机和设备并行工作,提高设备使用效率
  2. 对设备进行抽象,屏蔽设备的物理细节和操作过程,配置驱动程序,提供统一界面,供用户或高层软件使用
    1. 抽象为文件系统中的节点,统一管理
    2. 裸设备:不被操作系统直接管理,由应用程序读写,I/O效率更高

设备管理功能

  1. 设备中断处理
  2. 缓冲区处理
  3. 设备的分配和去配
  4. 设备驱动调度
  5. 实现虚拟设备

设备管理层次

  1. I/O硬件
    1. I/O设备及其接口线路
    2. 控制部件
    3. 通道
  2. I/O软件
    1. 系统I/O软件
    2. 用户空间I/O软件

设备控制器(设备适配器、I/O控制器、I/O控制接口、I/O模块或I/O接口)

定义

  1. 为达到模块化和通用性的设计目标,通常将I/O设备中的机械部件和电子部件分开处理
  2. 其中,电子部件称为设备控制器
  3. 操作系统与控制器交互,而非与设备交互

功能:CPU与设备之间的接口

  1. 接收和识别CPU或通道发来的命令
  2. 实现数据交换
  3. 发现和记录设备及自身的状态信息,供CPU处理使用
  4. 当连接多台设备时,设备地址识别

组成部分

  1. 状态/控制寄存器
  2. 数据缓冲寄存器
  3. 地址译码器和I/O控制逻辑
  4. 外设接口控制逻辑
  5. P.S
    1. 主机侧(I/O总线)接1、2、3
    2. 设备侧(接口电缆)接4(多个)
    3. 数据线连接1和2,地址线和控制线接3,数据状态控制接4
    4. 1,2与3连接,4与3连接

轮询方式

  1. 流程:
    1. 处理器向控制器发送一个I/O命令
    2. 如果设备未就绪,则重复测试过程,直至设备就绪
    3. 执行数据交换
    4. 等待I/O操作完成后,才可以继续其他操作
  2. 处理I/O请求会终止原程序的执行
  3. CPU需要等待I/O设备就绪
  4. CPU需要参与数据传送
  5. CPU和设备只能串行工作,效率低下

中断方式

  1. 流程:
    1. 处理器向控制器发出一个I/O命令,然后继续执行后续指令
      1. 如果该进程不需要等待I/O完成,后续指令可以仍是该进程中的指令
      2. 否则,该进程在这个中断上挂起,处理器执行其他工作
    2. 控制器检查设备状态,就绪后发起中断
    3. CPU响应中断,转向中断处理程序
    4. 中断处理程序执行数据读写操作
    5. 恢复执行原先的程序
  2. 响应中断后会终止原程序的执行
  3. CPU不需要等待I/O设备就绪
  4. CPU需要参与数据传送
  5. CPU和设备部分并行操作,效率有所提高

直接存储器访问(DMA)

  1. DMA模块:模仿处理器来控制主存和设备控制器之间的数据交换
  2. 流程:
    1. 处理器向DMA模块发出I/O命令
    2. 处理器继续执行其他工作,DMA模块负责传送全部数据
    3. 数据传送结束后,DMA中断处理器
  3. 方式
    1. CPU不会终止原程序的执行
    2. CPU只在数据传送的开始和结束时参与
      1. 开始时,CPU需要对DMA模块进行初始化
      2. 结束时,CPU响应中断,但不必保存现场
    3. 周期窃取
      1. 当DMA和CPU同时经总线访问内存时,CPU总是将总线的占有权让给DMA一个或几个主存周期
      2. 周期窃取对延迟CPU与主存的数据交换影响不大
        1. 数据传送过程是不连续的和不规则的
        2. CPU大部分情况下与Cache进行数据交换,直接访问内存较少

I/O通道(通道控制器、I/O处理器)

  1. 设备控制器包含自身专用的处理器和通道程序
    1. I/O指令不再由处理器执行,而是存在主存中,由I/O通道所包含的处理器执行
    2. 采用四级连接:处理器,通道,控制器,设备
      1. 可控制多台同类或不同类的设备
    3. 流程:
      1. CPU在遇到I/O请求,启动指定通道
      2. 一旦启动成功,通道开始控制I/O设备进行操作,CPU执行其他任务
      3. I/O操作完成后,I/O通道发出中断,CPU停止当前工作,转向处理I/O操作结束事件
    4. CPU与通道并行工作
    5. 带有局部存储器的I/O通道
      1. 相当于一台自治的计算机:I/O指令存储在控制器自带的局部存储器中,并由I/O通道所包含的处理器执行
    6. 可以控制大量的I/O设备,同时最小化CPU的干涉
    7. 常用于交互式终端通信,负责包括控制终端在内的大部分任务

I/O控制方式的演化

  1. 采用轮询方式的设备控制器:CPU需要等待设备就绪,且参与数据传送
  2. 采用中断方式的设备控制器:CPU无需等待设备就绪,但响应中断后参与数据传送
  3. 通过DMA直接控制存储器:CPU在数据传送开始和结束时参与,与主
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值