设备的分配与回收
设备分配时应考虑的因素
- 设备的固有属性
- 设备的分配算法
- 设备分配中的安全性
设备的固有属性可分为三种:独占式设备、共享式设备、虚拟设备。
独占式设备:一个时间段只能分配给一个进程
共享式设备:可同时分配给多个进程使用,各个进程往往是宏观上同时共享使用设备,微观上交替使用。
虚拟设备:采用假脱机技术将独占式设备改造成虚拟共享设备,可同时分配给多个进程使用。
设备分配算法:
先来先服务算法、短作业优先算法,优先级高优先算法等。
从进程运行的安全性上考虑,设备分配有两种方式:
-
安全分配方式:为进程分配一个设备后就将进程阻塞,本次IO完成后才将这个进程唤醒。这种方式是安全的破坏了“请求和保持条件”,不会发生死锁。但是对于进程来说,CPU和IO设备只能串行工作。
-
不安全分配方式:进程发出IO请求后,系统为其分配IO设备,进程可以继续执行,之后还可以发出新的IO请求。只有某个IO请求得不到满足的情况下才将进程阻塞。
静态分配与动态分配
静态分配:进程运行前,为其分配全部所需资源,运行结束后归还资源。
动态分配:进程运行过程中,动态的申请设备资源。
设备分配管理中的数据结构
设备与控制器通道之间的关系。
一个通道可以有多个控制器,一个控制器又能控制多台设备。所以他们三者之间是一对多的