1) 分派装备。起首依据I/O恳求中的物理装备名查找零碎装备表(SDT),从中找出该装备的DCT,再依据DCT中的装备形态字段,可知该装备能否正忙。若忙,便将恳求I/O 过程的PCB挂在装备队列上;闲暇则依照必定算法盘算装备分派的平安性,平安则将装备分派给恳求过程,不然仍将其PCB挂到装备队列。
2) 分派掌握器。零碎把装备分派给恳求I/O的过程后,再到其DCT中找出与该装备衔接的掌握器的COCT,从COCT中的形态字段中可知该掌握器能否繁忙。若忙,便将恳求I/O 过程的PCB挂在该掌握器的等候队列上;闲暇便将掌握器分派给过程。
3) 分派通道。在该COCT中又可找到与该掌握器衔接的通道的CHCT,再依据CHCT 内的形态信息,可知该通道能否繁忙。若忙,便将恳求I/O的过程挂在该通道的等候队列上;闲暇便将该通道分派给过程。只要在上述三者都分派胜利时,此次装备的分派才算胜利。然后,即可启动该I/O装备停止数据传送。
为使独有装备的分派具有更强的灵敏性,进步分派的胜利率,还可以从以下两方面临根本的装备分派程序加以改良:
添加装备的自力性。过程运用逻辑装备名恳求I/O。如许,零碎起首从SDT中找出第一个该类装备的DCT。若该装备忙,又查找第二个该类装备的DCT。仅当一切该类装备都忙时,才把过程挂在该类装备的等候队列上;只需有一个该类装备可用,零碎便进一步盘算分派该装备的平安性。
思索多通路状况。为避免I/O零碎的“瓶颈”景象,平日釆用多通路的I/O零碎构造。此时对掌握器和通道的分派异样要经由几回重复,即若装备(掌握器)所衔接的第一个掌握器(通道)忙时,应检查其所衔接的第二个掌握器(通道),仅当一切的掌握器(通道)都忙时,此次的掌握器(通道)分派才算掉败,才把过程挂在掌握器(通道)的等候队列上。而只需有一个掌握器(通道)可用,零碎即可将它分派给过程。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。