操作系统原理第十三章 I/O系统

本科生操作系统原理学习记录
学习记录全家桶

13.1 I/O基本概念

13.1.1 I/O系统的基本概述

I/O系统的核心是:I/O的控制和管理

计算机2个主要任务:

  • I/O操作-更加频繁
  • 计算

I/O设备特点:

  • 种类繁多,不断有新设备出现
  • 接口标准化:如USB

13.1.2 I/O系统的基本功能

  1. 隐藏物理设备的细节
  2. 与设备的无关性
  3. 提高处理机和I/O设备的利用率
  4. 对I/O设备进行控制
  5. 确保对设备的正确共享
  6. 错误处理

设备独立性:

为了提高操作系统的可适应性和可扩展性

  • 现代操作系统中实现了设备独立性,也称为设备无关性

  • 应用程序独立于具体使用的物理设备

实现方法

扫描二维码关注公众号,回复: 14915704 查看本文章
  • 引入逻辑设备物理设备

  • 在应用程序中 使用逻辑设备名来请求使用某类设备

  • 而系统在实际执行时使用物理设备名

  • 系统必须具有将逻辑设备名转换为物理设备名的功能

I/O应用接口

  • I/O系统调用将设备的行为封装成一些通用类型
  • 设备驱动层对内核隐藏了I/O控制器的不同细节
  • 设备在许多方面有很大差异

13.1.3 I/O硬件控制

控制设备方法(通过设备地址):

  • 直接I/O指令:IN AL, 60H
  • 内存映射I/O:设备地址和内存地址同一编址

I/O寄存器:

  • 状态寄存器
  • 控制寄存器

13.1.4 I/O设备的类型

按使用特性分类:

  • 存储设备、I/O设备

按传输速率分类

  • 低速设备:键盘、鼠标器、语音的输入
  • 中速设备:行式打印机、激光打印机
  • 高速设备:磁带机、磁盘、光盘

按信息交换的单位分类

  • 块设备、字符设备

按设备的共享属性分类

  • 共享设备、独占设备

13.2 I/O设备的控制方式

使用轮询的I/O可编程方式:现在基本不用

使用中断的可编程I/O方式:可以使CPU与I/O设备并行工作

直接存储器访问DMA方式:进一步提高了CPU与I/O设备的并行操作程度

I/O通道控制方式

主频:3.0GHz

中断机制

CPU硬件上有一根中断请求线IRL

基本中断工作机制

  • CPU执行完每条指令后,检测IRL
  • 如检测到信号,CPU保存当前状态,并跳转到中断处理程序
  • 执行中断处理程序
  • 执行完后,清除中断,返回

中断处理程序

① 检测是否有未响应的中断信号

② 保护被中断进程的CPU环境

③ 转入相应的设备处理程序

④ 中断处理

⑤ 恢复CPU的现场并退出中断

DMA直接内存访问

为了避免用程序控制I/O来传输大量数据,需要

  • DMA控制器

  • 绕过CPU,直接在I/O设备和内存之间传输数据

13.3 I/O内核子系统

提供了与I/O有关的服务,建立在硬件和设备驱动程序结构之上,还负责保护自己免受错误进程和恶意用户的危害

13.3.1 I/O调度

某些I/O请求要按照设备队列排序

于是就有类似于先来先服务算法的使用。

13.3.2 缓冲

现代的操作系统之中,CPU和I/O设备交换数据之间,都有缓冲区

缓冲区是一个存储区域,可以由专门的硬件组成;更多的是利用内存

引入缓冲的理由:

  • 缓解I/O设备和高速设备之间的速度差异
  • 协调数据传输数据大小不一致
  • 维持“复制语义”

在CPU和I/O设备之间引入缓冲的理由:

  • 缓和CPU与I/O设备之间速度不匹配的矛盾
  • 减少CPU的中断频率,放宽中断响应时间的限制
  • 提高CPU和I/O设备之间的并行性

13.3.3 高速缓存

cache——保留数据拷贝的高速内存

  • 仅仅是一个拷贝
  • 关键是性能问题

与缓冲的区别:

  • 缓冲可能是数据的唯一一个副本
  • 高速缓存是其他地方数据在高速存储设备上的一个副本

13.3.4 假脱机SPOOLing

为了缓和CPU的高速性与I/O设备的低速性间的矛盾而引入了脱机输入、脱机输出技术。

  • 程序模拟脱机输入,把低速I/O设备上的数据传送到高速磁盘上

  • 另一程序模拟脱机输出,把数据从磁盘传送到低速输出设备

此时,外围操作与CPU对数据的处理同时进行,这种在联机情况下实现的同时外围操作称为假脱机技术SPOOLing

SPOOLing系统的组成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kcctnfsD-1641542739783)(E:\文档和PPT\大三课程学习\操作系统\Pictures\第十三章\SPOOLing系统的组成.png)]

SPOOLing系统的特点

  • 提高了I/O设备的速度
  • 将独占设备改为共享设备
  • 实现了虚拟设备的功能

猜你喜欢

转载自blog.csdn.net/weixin_45788387/article/details/122366724
今日推荐