在现代的操作系统中,设备管理的任务主要有以下几个方面。
(1)根据用户提出的要求对I/O设备进行控制,完成用户提出的输入/输出要求。
(2)由于现代的操作系统允许多个进程的并发执行,为了有效地分配设备资源,要求设备管理能够根据设备请求的情况,按照一定的算法实现对某个I/O设备进行合理分配。
(3)当计算机系统屮有种类繁多的I/O设备时,要求设备管理能够充分而有效地使用这些设备,尽可能提高它们与CPU的并行操作程度。
针对上述的任务需求,设备管理应具有以下功能。
(1)对设备进行有效分配。按照设备的独享、共享的不同类型,以及系统屮所采用的分配算法来决定把一个I/O设备分配给哪一个要求该类设备的进程。如果系统中还设置有通道,那么在分配设备的同时还应考虑如何分配相应的控制器和通道,以保证I/O设备与CPU之间有传递信息的通路,未能及时分配到所需设备或控制器或通道的进程,应进入相应的等待队列。
(2)为提髙cm与外设的并行程度,引入通道I/O的系统控制方式,将CPU从烦琐的I/O操作中解放出來。
(3)实现其他功能。为了提高CPU和I/O设备之间操作的并行程度,并且能够尽量减少中断的次数,大多数的I/O操作都要使用缓冲区。所以,如何对缓冲区进行管理也是设备管理的一项重要功能。另外,应使用户程序与实际使用的物理设备无关,从而提高系统的可适应性和可扩展性。