《操作系统》——输入输出管理

本文深入探讨了操作系统中的输入输出(I/O)管理,包括I/O设备的分类、I/O控制器、各种I/O控制方式(如程序直接控制、中断驱动、DMA、通道控制)及其优缺点。此外,详细阐述了I/O软件层次结构,用户层软件、设备独立性软件、设备驱动程序和中断处理程序的角色。最后,介绍了I/O核心子系统的功能,如I/O调度、设备保护、SPOOLing技术、设备分配与回收以及缓冲区管理。

《操作系统》——输入输出管理

一、I/O设备的概念和分类

(一)什么是I/O设备

数据的输入和输出设备,与计算机进行数据的交换
读操作:从外部读入数据
写操作:向外部写出数据
请添加图片描述

(二)按使用特性分类

请添加图片描述

(三)按传输速率分类

请添加图片描述

(四)按信息交换的单位分类

请添加图片描述
请添加图片描述

二、I/O控制器(设备控制器)

cpu控制i/o控制器(电子部件),i/o控制器控制设备的机械部件

请添加图片描述
请添加图片描述
接口中的各个寄存器所连的总线是数据总线,传递的是I/O端口地址

请添加图片描述
请添加图片描述
请添加图片描述

三、I/O控制方式(用什么样的方式控制I/O设备的数据读写)

演变过程:逐渐解放CPU

  • 完成一次读写操作的流程
  • CPU干预的频率
  • 数据传送的单位
  • 数据的流向
  • 主要缺点和主要优点

(一)程序直接控制方式(轮询)

请添加图片描述
请添加图片描述
请添加图片描述

(二)中断驱动方式(中断)

请添加图片描述
请添加图片描述

(三)DMA方式

也是一种I/O控制器
内存和外设可以直接通信
DMA控制器是特殊的I/O控制器
请添加图片描述
虽然是一整块传输,但每次传数据也是一个字一个字的传,存放在DR中,写入内存
请添加图片描述
请添加图片描述

(四)通道控制方式(弱鸡版CPU)

内存中的通道程序(执行清单),CPU告诉通道,通道程序再内存的位置,让通道去执行里面的任务
完成后对CPU发出中断信号

一个通道可以控制多个I/O控制器,一个I/O控制器可以管理多个I/O设备,(通道比I/O控制器高一个级别,注意与DMA控制器的区别)
请添加图片描述
请添加图片描述
请添加图片描述

四、I/O软件层次结构

请添加图片描述

用户层软件(I/O提供的服务)

请添加图片描述

设备独立性软件(内核部分,I/O核心子系统)

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

请添加图片描述
请添加图片描述
不同的设备哦需要不同的设备驱动程序
请添加图片描述

设备驱动程序(内核部分,I/O核心子系统)(可接触硬件)

请添加图片描述

中断处理程序(内核部分,I/O核心子系统)(可接触硬件)

I/O结束后发出中断请求,中断处理程序开始处理,中断处理程序也会和硬件直接打交道
请添加图片描述

硬件(机械部件和电子部件)

请添加图片描述

问:一个I/O请求的处理次序?每层的功能?

五、I/O核心子系统(中间三层)

  • 设备独立性软件
  • 设备驱动程序
  • 中断处理程序
    请添加图片描述

实现的功能:

  • I/O调度
  • 设备保护
  • 假脱机技术
  • 设备分配与回收、缓冲区管理

功能对应的层次:

请添加图片描述

(一)I/O调度

例如磁盘调度的算法,把这些算法应用到所有I/O请求当中
请添加图片描述

(二)设备保护

设备看作特殊的文件
设置访问权限

请添加图片描述

(三)假脱机技术SPOOLing

“脱机:脱离主机的控制进行的输入输出操作

  • 手动:手动录入纸带
  • 脱机: 输入设备——外围控制机——磁带——主机(CPU/内存)——磁带——外围控制机——输出设备
  • 假脱机:输入设备——输入进程(输入缓冲区 内存)——输入井(磁盘)——主机——输出井——输出进程(输出缓冲区)——输出设备
    请添加图片描述
    请添加图片描述

用假脱机技术实现设备共享

请添加图片描述
每次申请I/O设备时,都会在输出井中分配一个存储区,相当于分配了一个逻辑设备,让用户进程觉得自己在独占设备
请添加图片描述
请添加图片描述

(四)设备的分配与回收

1、设备分配考虑的因素

  • 设备的固有属性
    请添加图片描述

  • 设备分配算法
    请添加图片描述

  • 设备分配中的安全性

请添加图片描述

2、设备分配方式

静态分配
动态分配

请添加图片描述

3、设备分配管理中的数据结构

请添加图片描述

设备控制表

请添加图片描述

控制器控制表

请添加图片描述

通道控制表

请添加图片描述

系统设备表SDT

请添加图片描述

设备分配的步骤

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

(五)缓冲区管理

1、什么是缓冲区?有什么作用?

请添加图片描述
请添加图片描述

2、单缓冲

每处理一块数据需要多久?

假定一个初始状态,下一次回到这个状态的时间就是处理一块数据的时间

请添加图片描述
请添加图片描述

3、双缓冲

请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

4、循环缓冲

请添加图片描述

5、缓冲池

case1
请添加图片描述

请添加图片描述
case2
请添加图片描述
请添加图片描述
case3

请添加图片描述
请添加图片描述
case4
请添加图片描述
请添加图片描述
请添加图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值