一:设备管理任务
任务:
1, 按照用户意图,控制I/O设备。方便编程。
2,分配设备给用户进程。
3,合理,安排组织,提高设备并行程度。
功能:
1, 为进程管理计算机提供接口。
2,按照一定算法,分配和释放设备。
3,cpu和设备,设备与设备之间的并行操作。
4,缓冲区管理,设备独立性,用户程序和实际使用的物理设备无关。
二:I/o设备和设备控制器:
1,I/O设备,有输入输出设备。字符设备,块设备。
2,设备控制器:控制一个或者多个I/O设备的硬件,提供cpu和I/O设备之间的接口。
三:I/O控制方式:
1,程序I/O方式
2,程序中断方式
3,DMA方式
4,通道方式
四:缓冲管理
缓冲目的:
1,缓和cpu和/O设备之间速度不匹配问题《重点》
2,减少对CPU的中断频率,放宽对cpu中断响应时间的限制。
3,提高cpu和IO设备之间并行性。
五:设备分配:
1,设备分配时考虑的因素
1>设备固有属性:独占设备,共享设备,虚拟设备。
2>设备分配算法:先来先服务,优先级高的优先
3>设备分配中的安全性:阻塞方式(不会发生死锁),非阻塞方式(有可能发生死锁)
2,设备独立性:应用程序独立于物理设备,提高设备分配的灵活性,为提高os的可适应性和可扩展性。
设备逻辑表:LUT,每个表项有逻辑设备名,物理设备名,设备驱动程序入口地址。在应用程序中,使用逻辑设备,来请求使用某种物理设备,而系统为这个进程分配的逻辑设备对应有物理设备和驱动程序入口地址,都放在逻辑设备表的一项中,以后该进程通过逻辑设备名来请求I/O操作的时候,就可以找到物理设备和驱动程序的入口地址。
3, 独占设备的分配程序:
某一进程对一独占设备提出I/O请求时,系统的设备分配程序可以按照以下步骤进行:
设备分配:分配设备,分配控制器,分配通道。
为独占设备的分配程序具有更强大的灵活性和提高分配的成功率,可以增加设备的独立性和考虑多路通路情况的两方面对分配程序加以改进。
4,设备回收
设备被使用完毕后,将被系统收回,这样这些设备可以被其他的请求申请。
假脱机技术:
独占设备:在同一时刻,只允许一个进程可以使用,属于临界资源。
共享设备:在同一时刻,可允许多个进程使用。
虚拟设备:通过虚拟技术,将一个独占的设备在逻辑上被多个进程同时使用。
功能:
1.提高IO速度
2,将独占设备改造为共享设备。
3,实现虚拟设备的功能。