设备分配与回收
标签: 操作系统
学习人数: 5372

1.设备分配

从设备的特性来看,采用下述三种使用方式的设备分别称为独占设备、共享设备和虚拟设备。

①独享设备:在将一个设备分配给某进程后便一直由其独占,直至该进程完成或释放设备后,系统才能再将设备分配给其他进程,如打印机就不能被多个进程共享,而应采取独享分配方式。

②共享分配:独占式使用设备时,设备利用率很低,当设备没有独占使用的要求时,可以通过分时共享使用提高利用率。如如磁盘是一种共享设备,因此可以被分配给多个进程使用。

③虚拟分配:当进程申请独享设备时,系统给它分配共享设备上的一部分存储空间;当进程要与设备交换信息时,系统就把要交换的信息存放在这部分存储空间中;在适当的时候,将设备上的信息传输到存储空间中或将存储空间中的信息传送到设备。

 

2.设备分配的数据结构

DCT:系统为每一个设备配置一张设备控制表,用于记录设备的特性以及I/O控制器的连接情况。其中,设备状态用来指示设备当前状态(忙/闲),设备等待队列指针指向等待使用该设备的进程组成的等待队列,控制器控制表(COCT)指针指向与该设备相连接的设备控制器。

COCT:每个控制器都配有这样一张控制器控制表,用于反映设备控制器的使用状 态以及和通道的连接情况等。

CHCT:每个通道同样配有这样一张通道控制表,用于反映通道的状态等。

SDT:整个系统只有一张系统设备表,它记录了已连接到系统中的所有物理设备的情况,每个物理设备占用一个表目。SDT的每个表目包括设备类型、设备标识符、设备控制表指针等信息。其中,设备控制表(DCT)指针指向该设备对应的设备控制表。

 

3.设备分配算法

设备分配中主要采用先来先服务和优先级高者优先两种算法。

先来先服务:根据请求的时间顺序构成队列,总是把设备优先分配给队首进程。

优先级高者优先:按照优先级的高低进行设备分配,若优先级相同,则按照先来先服务算法进行分配。

 

4.设备分配的安全性

设备分配的安全性是指设备分配中应防止发生进程死锁。

 

5.设备独立性

是指应用程序独立于具体使用的物理设备,它可以提高设备分配的灵活性和设备的利用率。为了提高操作系统的可适应性和可扩展性,现代操作系统毫无例外地实现了设备独立性。 为了实现设备独立性,引入了逻辑设备和物理设备这两个概念,在应用程序中使用逻辑设备名来请求使用某类设备,在系统中设置一张逻辑设备表(Logical Unit Table, LUT), 用于将逻辑设备名映射为物理设备名。LUT表项包括 逻辑设备名、物理设备名和设备驱动程序入口地址;当进程用逻辑设备名来请求分配设备时,系统为它分配相应的物理设备,并在LUT中建立一个表项,以后进程再利用逻辑设备名请求I/O操作时,系统通过查找LUT来寻找相应的物理设备和驱动程序。



课后作业


登录后发布评论

暂无评论,来抢沙发