【正确答案】对于具有通道的系统,在进程提出I/O请求后,系统的设备分配程序可按下述步骤进行设备分配。
①分配设备。首先根据物理设备名、查找系统设备表SDT,从中找出该设备的DCT,根据表中的设备状态字段,可知该设备是否正忙。若忙,便将请求I/O进程的PCB挂在设备等待队列上;否则,便按照一定的算法来计算本次设备分配的安全性,如果不会导致系统进入不安全状态,便将设备分配给请求进程;否则,仍将其PCB插入设备等待队列。
②分配控制器。在系统把设备分配给请求I/O的进程后,再到其DCT中找出与该设备连接的控制器的控制器表(COCT),从表内的状态字段中可知该控制器是否忙碌。若忙,便将请求I/O的进程的PCB挂在该控制器的等待队列上;否则,将该控制器分配给进程。
③分配通道。在该COCT中又可找到与该控制器连接的通道的通道表(CHCT),再根据CHCT内的状态信息可知该通道是否忙碌,若忙,便将请求I/0的进程挂在该通道的等待队列上;否则,将该通道分配给进程。只有在设备、控制器和通道三者都分配成功时,这次的设备分配才算成功;然后、便可启动该I/O设备进行数据传送。
【答案解析】