I/O管理概述
I/O控制器
I/O控制方式
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E5yXtsUz-1608021874795)(第五章.assets/1607995685879.png)]
程序直接控制方式
中断驱动方式
DMA方式
通道控制方式
总结
I/O软件层次系统
I/O核心子系统
I/O调度:用某种算法确定一个好的顺序来处理各个I/O请求
设备保护:操作性系统需要实现文件保护功能,不同的用户对各个文件有㓊的访问权限。而设备通常被看做一种特殊的文件,每个设备也会有对应的FCB。
假脱机技术
脱机技术缓解了CPU与慢速I/O设备的速度矛盾。且即使CPU在忙碌,也可以提前将数据输入到纸带。即使慢速的输出设备正在忙碌,也可以提前将数据输出到磁带
设备的分配与回收
从进程运行的安全性上考虑,设备分配有两种方式
- 安全分配方式:为进程分配一个设备后就将设备阻塞,本次I/O完成后才唤醒。
- 优点:破坏了“请求和保持”条件,不会死锁
- 对于一个进程来说,CPU和I/O设备只能串行工作
- 优点:破坏了“请求和保持”条件,不会死锁
- 不安全分配方式:进程发出I/O请求后,系统为其分配I/O设备,进程可继续执行,只有某个I/O请求得不到满足时才将进程阻塞。
- 优点:进程的计算任务和I/O任务可以并行处理
- 缺点:有可能发生死锁
- 优点:进程的计算任务和I/O任务可以并行处理
静态分配:进程运行前为其分配全部所需资源,运行结束后归还资源
动态分配:进程运行过程中动态申请设备资源
设备管理的数据结构
缓冲区的管理
缓冲区的作用:
- 缓和CPU与I/O设备之间速度不匹配的矛盾
- 减少对CPU的中断频率,放款对CPU中断响应时间的限制
- 解决数据粒度不匹配的问题
- 提高CPU与I/O设备之间的并行性