输入输出管理:设备独立性软件
- 1.设备独立性软件
-
- 1.0 设备独立性
- 1.1 设备分配与回收
-
- 1.1.1 静态分配与动态分配
- 1.1.2 设备分配管理中的数据结构
- 1.1.3 设备分配的步骤
- 1.1.4 设备分配步骤的改进方法
- 1.2 缓冲区管理
-
- 1.2.1 单缓冲
- 1.2.2 双缓冲
- 1.2.3 循环缓冲
- 1.2.4 缓冲池
1.设备独立性软件
1.1 设备分配与回收
设备分配时应考虑的因素
1.设备固有属性:独占式设备,共享设备,虚拟设备
独占设备:一个时段只能分配给一个进程(如打印机)
共享设备:可同时分配给多个进程使用(如磁盘)各进程宏观上同时共享使用设备,微观上交替使用
虚拟设备:用SPOOLING技术将独占设备改造为虚拟共享设备,可同时分配给多个进程使用
2.设备分配算法:先来先服务、优先级高者优先、短任务优先等等
3.设备分配中的安全性:安全与否在于为进程分配完设备后,该进程是否被阻塞
安全分配方式:为进程分配一个设备后就将进程阻塞,本次I/O完成后才将进程唤醒
一个时段内每个进程只能使用一个设备
优点:破坏了请求和保持条件,不会死锁
缺点:对于一个进程来说,CPU和I/O设备只能串行工作
不安全分配方式:进程发出I/O请求后,系统为其分配I/O设备,进程不被阻塞可以继续执行,之后还
可以发出新的I/O请求。只有某个I/O请求得不到满足时才将进程阻塞
一个进程可以同时使用多个设备
优点:进程的计算任务和I/O任务可以并行处理,使进程迅速推进
缺点:有可能发生死锁(死锁避免、死锁的检查和解除)
1.1.1 静态分配与动态分配
静态分配:进程运行前系统为其分配所需全部资源,运行结束后归还资源(破坏了请求和保持条件,不会发生死锁)
动态分配:进程运行过程中动态申请设备资源
1.1.2 设备分配管理中的数据结构
下图改编自王道考研操作系统
通道、控制器、设备之间的关系及其对应数据结构
1.1.4 设备分配步骤的改进方法
改进方法:建立逻辑设备名与物理设备名的映射机制,用户编程时只需提供逻辑设备名
逻辑设备名->LUT->物理设备名->SDT->DCT->COCT>CHCT
下图改编自王道考研操作系统
1.2.1 单缓冲
下图改编自王道考研操作系统
输入时间 (T) > 处理时间 (C) 的情况
采用双缓冲策略处理一块数据平均耗时 Max ( T , C + M ) text{Max}(T,C+M) Max(T,C+M)
下图改编自王道考研操作系统
输入时间 (T) < 处理时间 (C) + 传送时间 (M)的情况
采用双缓冲策略处理一块数据平均耗时 Max ( T , C + M ) text{Max}(T,C+M) Max(T,C+M)
1.2.3 循环缓冲
下图来自王道考研操作系统

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!