5.1 I/O管理概述

  1. I/O设备

    1. 按使用特性:人机交互外部设备、存储设备、网络通信设备

    2. 按信息交换的单位分类:块设备、字符设备

  2. I/O控制方式

    外围设备与内存之间的输入/输出方式:

    1. 程序直接控制方式

    2. 中断驱动方式:允许IO设备主动打断CPU的运行并请求服务,从而解放CPU

    3. DMA方式:在IO设备和内存之间开辟直接的数据交换通路,特点是:

      • 基本单位是数据块

      • 所传送的数据,是从设备直接送入内存的,或者相反

      • 仅在传送一个或多个数据块的开始和结束时,才需CPU干预,整块数据的传送在DMA控制器的控制下完成。

    4. 通道控制方式

      IO通道指专门负责输入输出的处理机。

  3. I/O子系统的层次结构

    I/O软件涉及的面很广,往下与硬件有密切联系,往上与用户直接交互。在I/O软件中普遍采用层次式结构。

    一般将I/O系统视为4个层次的系统结构,各层次及功能如下:

    1. 用户层I/O软件:实现与用户交互的接口,用户可直接调用在用户层提供的库函数,对设备进行操作。

    2. 设备独立性软件:用于实现用户程序与设备驱动器的统一接口、设备命令、设备保护及设备分配与释放等。设备独立性也称设备无关性,使应用程序独立于具体使用的物理设备。在应用程序中使用逻辑设备名来请求使用某类设备;在系统实际执行时,将逻辑设备名映射成物理设备名使用。

    3. 设备驱动程序:与硬件直接相关,负责具体实现系统对设备发出的操作指令,驱动I/O设备工作的驱动程序。

    4. 中断处理程序:保存被中断的进程的CPU环境,转入相应的中断处理程序处理,处理完并恢复被中断进程的现场后,返回到被中断进程。

    5. 硬件设备:I/O设备通常包括一个机械部件和一个电子部件。

5.2 I/O核心子系统

  1. I/O调度

    I/O调度就是确定一个好的顺序来执行这些I/O请求。I/O调度改善系统整体性能,使进程之间公平地共享设备访问,减少I/O完成所需要的平均等待时间。

  2. 高速缓存与缓冲区

    1. 磁盘高速缓存:指利用内存中的存储空间暂存从磁盘中读出的一系列盘块中的信息。磁盘高速缓存逻辑上属于磁盘,物理上是驻留在内存中的盘块。高速缓存在内存中分两种形式:一种是在内存中开辟一个单独的存储空间作为磁盘高速缓存;另一种是把未利用的内存空间作为一个缓冲池。

    2. 缓冲区:

      1. 目的:

        • 缓和CPU与I/O设备速度不匹配问题

        • 减少对CPU的中断频率

        • 解决基本数据单元大小不匹配问题

        • 提高CPU和I/O设备之间的并行性

      2. 特点:不满不能读,不空不能写

      3. 分类:单缓冲,双缓冲,循环缓冲,缓冲池

  3. 设备分配与回收

    1. 设备分配:根据用户的请求分配所需的设备。分三种:

      1. 独占式使用设备:申请设备时,若设备空闲,独占,其他进程不能再申请使用

      2. 分时式共享使用设备

      3. 以SPOOLing方式使用外部设备:假脱机I/O技术,对I/O操作进行批处理

  4. SPOOLing技术(假脱机技术)

    该技术利用专门的外围控制机,将低速I/O设备上的数据传送到高速磁盘上,或者相反。SPOOLing是外部设备同时联机操作。

    1. 输入井和输出井:磁盘上开辟出的两个存储区域。输入井模拟脱机输入时的磁盘,收容I/O设备输入的数据;输出井收容用户程序的输出数据。

    2. 输入缓冲区和输出缓冲区:内存中开辟的两个缓冲区。输入缓冲区暂存由输入设备送来的数据,再送到输入井。输出缓冲区暂存从输出井送来的数据,再输送到输出设备。

    3. 输入进程和输出进程:输入进程把用户要求的数据从输入机通过通入缓冲区送到输入井。CPU需要数据时,直接把数据从输入井读入内存。输出进程把用户要求输出的数据从内存送到输出井,待输出设备空闲时,再将输出井中数据经过输出缓冲区送到输出设备。

操作系统(5) -- 输入/输出管理相关推荐

  1. 操作系统 | 【五 输入/输出管理】知识点及例题

    一.知识点 1.IO控制器 / 设备控制器(说人话版) (官方正版)CPU 无法直接控制 I /O 设备的机械部件, 因此 I /O 设备还要有一个电子部件作为 CPU 和 I /O 设备机械部 件之 ...

  2. 操作系统(五)输入/输出(I/O)管理

    操作系统(五)输入/输出(I/O)管理 一.I/O控制器 二.I/O控制方式 程序直接控制方式 中断驱动方式 DMA方式 通道控制方式 I/O软件层次结构 假脱机技术 设备的分配与回收 缓冲区 单缓冲 ...

  3. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节4:I/O软件层次结构

    文章目录 一:用户层软件 二:设备独立性(无关性)软件 三:设备驱动程序 (1)为什么需要驱动 (2)功能 四:中断处理程序 五:硬件设备 I/O软件是操作系统中很特别的存在 它向下与硬件有着密切的联 ...

  4. 操作系统——输入/输出(I/O)管理

    文章目录 1. I/O管理概述 1.1 I/O设备 1.2 I/O控制方式 1.2.1 程序直接控制方式 1.2.2 中断驱动方式 1.2.3 DMA方式 1.2.4 通道控制方式 1.3 I/O子系 ...

  5. (王道408考研操作系统)第五章输入/输出(I/O)管理-第一节1:I/O设备的概念和分类

    文章目录 一:什么是I/O设备 二:I/O设备的分类 (1)按使用特性分类 (2)按传输速率分类 (3)按信息交换单位分类 注意: 本章内容和<计算机组成原理>中的"输入输出系统 ...

  6. 输入/输出(I/O)管理

    标题## 输入/输出(I/O)管理 I/O管理概述 1.1 I/O设备 定义:将数据输入到计算机,或可接受计算机输出数据的外部设备 设备的分类 按信息交换单位 • 块设备 • 信息交换以数据块为单位 ...

  7. 黑书《现代操作系统(中文第三版)》课后习题——第五章 输入/输出

    第五章 输入/输出 1.芯片技术的进展已经使得将整个控制器包括所有总线访问逻辑放在一个便宜的芯片上成为可能.这对于图1-5的模型具有什么影响? 答:(题目有问题,应该是图1-6)在此图中,一个控制器有 ...

  8. (王道408考研操作系统)第二章进程管理-第一节4:进程通信(配合Linux)

    文章目录 一:什么是进程通信 二:如何实现进程间通信及其分类 三:通信方式1-共享存储(共享内存) (1)课本基础内容 (2)补充-Linux中的进程通信 四:通信方式2-管道 (1)管道是什么 (2 ...

  9. C++——流类库和输入/输出

    前言 数据是怎么写道磁盘的? 代码里面我们一个读写调用似乎就能将数据从磁盘读写.仿佛代码是直接和磁盘打交道.以我们最常见的笔记本.或台式机的磁盘SATA盘为例,其受南桥上ATA控制器支配,这里面传输的 ...

最新文章

  1. GCC 在 Linux、Windows 系统安装
  2. java正则表达式笔记
  3. “堂堂985博士,要去高职了,天空是灰暗的!!!”
  4. wxpython textctrl_wxPython TextCtrl类
  5. 磁盘不足 导致内存 linux,为什么 Linux 需要 Swapping,仅仅是内存不够用?
  6. Pickit 3 Programmer使用说明及 烧写程序步骤
  7. php7.4 ffi,PHP7.4中FFI的介绍(代码示例)
  8. 计算机与电气工程sci期刊,电气工程专业什么SCI期刊比较好
  9. 银湖私募基金为何投资展讯?
  10. 拍照时怎样摆姿势好看?
  11. Ajax的简历技能如何写,web前端开发工程师简历专业技能怎么写
  12. Overleaf如何使用中文(亲测有效)
  13. thinkgem 对前端的总结
  14. android 输入法模式,android输入法的四种模式(弹出输入法式的窗口变化)
  15. SQL Server 自定义快捷键。
  16. Spring Cloud入门-Ribbon服务消费者(Hoxton版本)
  17. 工业机器人电柜布线_工业机器人电气控制系统PPT.ppt
  18. 把自己电脑做成web服务器+内网穿透并发布网页
  19. 一文带你层层解锁「文件下载」的奥秘
  20. JCheckBox 默认选择_电脑扬声器无法设置默认设备

热门文章

  1. Gh0st源码学习(二)去除硬盘锁和驱动
  2. MarkdownPad安装以及绘制 UML 图
  3. 数据结构--图(Graph)详解(一)
  4. 美团--美团骑手包裹区间分组
  5. 对话王晶:音频人才亟待培养,高水平研究人员尤其欠缺
  6. 京东智联云分布式低延时RTC系统
  7. 腾讯 PB 级大数据计算如何做到秒级?
  8. 【招募】腾讯技术开放日·5G多媒体专场
  9. nginx phase handler的原理和选择
  10. EPG组合 (Exporter Prometheus Grafana) 监控MySQL