输入输出系统|操作系统

╄→尐↘猪︶ㄣ 提交于 2019-12-17 01:43:33


在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二、I/O控制器

在这里插入图片描述
在这里插入图片描述

1.I/O控制器功能

在这里插入图片描述

2.I/O控制器组成

一个I/O控制器控制多个设备

I/O控制器组成 作用
CPU和控制器的接口 实现CPU和控制器之间的通信
I/O逻辑 接收和识别CPU各种命令,负责对设备发出命令
控制器和设备之间的接口 实现设备和控制器之间的通信

在这里插入图片描述

3.I/O控制器中的地址

在这里插入图片描述

三、I/O控制方式

在这里插入图片描述
在这里插入图片描述

1.程序直接控制方式

key word:轮询

性能指标 程序直接控制方式
数据传送单位
数据流向 写:内存->CPU->设备 读:设备->CPU->内存
CPU干预频率 很频繁,I/O操作完成之前和完成之后都需要CPU介入,而且I/O设备执行的时候,CPU一直轮询检查
并行性 I/O设备和CPU串行
缺点 CPU和I/O设备只能串行工作,CPU需要一直轮询,处于“忙等”状态

在这里插入图片描述
在这里插入图片描述

2.中断驱动方式

在这里插入图片描述

性能指标 中断驱动方式
数据传送单位
数据流向 写:内存->CPU->设备 读:设备->CPU->内存
CPU干预频率 I/O操作完成之前和完成之后都需要CPU介入,而且I/O设备执行的时候,CPU切换到别的进程执行
并行性 I/O设备和CPU并行
缺点 频繁的中断处理会消耗大量时间
优点 I/O设备和CPU并行

在这里插入图片描述

3.DMA控制器

DMA(Direct Memory Access)直接存储器存储
改进:

  1. 数据传送单位变成“块”
  2. 数据流向是内存->设备,设备->内存;不再经过CPU
  3. 仅在传送一个或多个数据块的开始和结束时才需要CPU干预
性能指标 DMA控制器
数据传送单位
数据流向 写:内存–>设备 读:设备–>内存
CPU干预频率 仅仅在传送一个或多个数据块的开始和结束时才需要CPU介入
并行性 I/O设备和CPU并行
缺点 只能读一个或者多个连续的数据块,如果要操作离散的数据块时,需要CPU发出多条指令
优点 数据传送单位:块
缩写英文 含义
DR(Data Register) 暂存从内存到设备,或者是从设备到内存的数据
MAR(Memory Address Register) 数据在内存中的什么位置
DC(Data Counter) 剩余要读/写的字节数
CR(Command Register) 命令/状态寄存器,存放CPU发来的I/O指令或者设备的状态信息

在这里插入图片描述
在这里插入图片描述

4.通道控制方式

相当于是一个小型CPU,可以识别并执行一系列通道指令

性能指标 通道控制方式
数据传送单位
数据流向 写:内存->设备 读:设备->内存
CPU干预频率 通道会根据CPU的指示执行相应的通道程序,只有完成了一组数据块的读/写后才需要中断信号,请求CPU干预
并行性 I/O设备和CPU并行
优点 CPU、I/O设备、通道可以并行工作
缺点 实现复杂,需要专门的通道硬件

在这里插入图片描述
在这里插入图片描述

四、I/O软件层次

在这里插入图片描述
封装思想:每一层会利用下层提供的服务,实现某些功能

层次 作用
用户层软件 实现了与用户交互的接口,用户可以直接使用该层提供的与I/O操作相关的库函数;用户层软件将用户请求翻译成格式化的I/O请求,并通过”系统调用“请求操作系统内核的服务
设备独立性软件 1.向上层提供统一的调用接口 2.设备的保护 3.差错处理 4.设备的回收和分配 5.数据缓冲区的管理 6.建立逻辑设备名到物理设备名的映射关系,根据设备类型选择相应的驱动程序

在这里插入图片描述

1.用户层软件

向用户:提供与I/O操作相关的库函数
向下:将用户请求翻译成格式化的I/O请求,并通过”系统调用“请求操作系统内核的服务

2.设备无关性软件

功能
向上层提供统一的调用接口 如read/write系统调用
设备的保护 根据访问权限
差错处理 对设备的错误进行处理
设备的回收和分配 回收和分配
数据缓冲区管理 通过缓冲技术屏蔽设备之间数据交换单位大小和传输速度的差异
建立逻辑设备名到物理设备名的映射关系 逻辑设备表(LUT)

逻辑设备表LUT

逻辑设备表(LUT)

数据结构
逻辑设备名
物理设备名
驱动程序的入口地址

逻辑设备表LUT

3.设备驱动程序

不同型号的内部硬件特性不同,这些特性只有厂家知道,厂家提供与设备相对应的驱动程序,CPU执行驱动程序的指令序列,来完成设置设备寄存器,检查设备状态等工作
主要负责对硬件设备的具体控制,将上层发出的一系列命令(read/write…)转换成为特定设备能听得懂的一系列操作;包括设置设备的寄存器,检查设备的状态

注意:驱动程序一般会以一个独立的进程方式存在

4.中断处理程序

在这里插入图片描述

总结

在这里插入图片描述

五、假脱机技术(SPOOLing)

在这里插入图片描述

1.输入井和输出井

在这里插入图片描述

2.共享打印机的原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

六、设备的分配与回收

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

设备控制表

在这里插入图片描述

控制器控制表

在这里插入图片描述

通道控制表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

七、缓冲区管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.单缓冲

在这里插入图片描述

2.双缓冲

在这里插入图片描述
在这里插入图片描述

3.循环缓冲区

在这里插入图片描述

4.缓冲池

在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!