操作系统学习 六
目录
设备管理:
包含:
- 设备分配
- 设备处理
- 缓冲区管理
- 设备独立性
- 虚拟设备
设备分类:
-
速度分类
-
- 低速
-
- 中速
-
- 高速、
-
传输单位分类
-
- 字符
-
- 块
-
使用属性
-
- 独占
-
- 共享
-
- 虚拟设备 (独占->共享)
back
接口
- 数据接口
- 命令接口
back
控制器
功能:
- 数据交换
- 接受识别命令
- 反馈状态
- 按址识别
- 缓冲功能
- 差错处理功能
接口
back
通道
定义:
外围处理及 I/O处理及
cpu与ch的关系
- 指令系统复杂(cpu)
- 指令系统单一(ch)
- 有自己的存储器(cpu)
- 无存储器(ch)
- cpu与ch并行工作(cpu)
- ch受控cpu(ch)
ch->chp->chc
扫描二维码关注公众号,回复:
11018386 查看本文章
分类:
- 字节多路通道
低速,交叉,字符
- 数组选择通道
高速,块,单一的
- 数组多路通道
高速,交叉,块
back
I/O控制方式
发展:
逐渐减少主机(cpu)对I/O的干预次数
- 程序性I/O驱动
cpu:忙等,全程干预
- 中断驱动I/O
cpu:字符为干预单位
- DMA 直接存储器访问
cpu:连续的块 disk
DMACO -> M
- 通道
cpu:非连续的块
ch->chp->chc
back
数据结构:
- SDT 系统设备表
- DCT 设备控制表
- COCT 控制器控制表
- CHCT 通道控制表
back
分配算法
SDT->DCT->COCT->CHCT
- 添加
- 删除
- 申请
- 归收
back
缓冲区管理
引入缓冲区(内存)
- 缓解CPU与I/O速度上的差异
- 减少中断次数
- 提高CPU与I/O并发度
单缓冲和双缓冲
- 单缓冲 串行
- 双缓冲 并行
循环缓冲
生产者消费者,逻辑上无界缓冲区(循环)
缓冲池
back
I/O软件结构
用户到设备之间有四层软件结构
名称 | |
---|---|
上 | 用户 |
应用程序 | |
设备独立性软件 | |
设备驱动程序 | |
中断处理程序 | |
下 | 设备 |
back
中断处理
栈的形式
back
驱动程序
抽象->具体
通信,主机与控制
back
设备独立性
定义:
应用程序独立于(无关性)
具体物理设备
实现:
逻辑设备表LUT
易于实现设备重定向 也就是来一个给一个
back
虚拟设备
- 假脱机
在联机情况下实现同时外围I/O操作
- 组成
SP,SPO
InBuffer,OutBuffer
输入井,输出井
请求队列
- 虚拟设备
独占=>共享
- 原理
预输入,缓输出,井管理