用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小依次为32 KB、10 KB、5 KB、228 KB、100 KB。现有五个作业J1、J2、J3、J4,J5,它们各需主存量为1 KB、10 KB、108KB、28 KB,115

admin2019-08-01  25

问题 用可变分区方式管理主存时,假定主存中按地址顺序依次有五个空闲区,空闲区的大小依次为32 KB、10 KB、5 KB、228 KB、100 KB。现有五个作业J1、J2、J3、J4,J5,它们各需主存量为1 KB、10 KB、108KB、28 KB,115 KB。若采用最先适应分配算法,能把这五个作业按J1~J5的次序全部装入主存吗?按怎样的次序装入这五个作业可以将其全部装入主存?

选项

答案最先适应分配算法总是顺序查找空闲区表。找到第一个能满足作业长度要求的空闲区,分割这个空闲区,一部分分配给作业,另一部分仍作为空闲区。由于实现这种算法时总是把空闲区按地址顺序登记在空闲区表中,所以本题中的作业J1和J2都会被装入到长度为32 KB的空闲区,占用了其中11 KB(1 KB+10 KB)的空间,还剩余21 KB的空间仍为空闲区。紧随着的作业J3需要108 KB的主存空间,故只能将它装入到长度为228 KB的第四个空闲区中,装入后还剩余120 KB仍为空闲区,把其中的28 KB再分配给作业J4后剩余的空闲空间为92 KB。现在系统中仍有五个空闲区,长度依次为21 KB、10 KB、5 KB、92 KB、100 KB,显然都不能满足作业J5的115 KB的需求量。因此,若采用最先适应分配算法不能把这五个作业按J1~J5的次序全部装入主存储器。 如果仍采用最先适应分配算法则可把对主存需求量大的作业先装入到较大的空闲区中,以避免小的作业去分割大的空闲区,保证大作业有足够的空闲区可使用。若把J5先装入到228 KB的区域中占用其中的115 KB后保留一个113 KB的空闲区,应把这个空间留给作业J3,否则J3将无法装入。为了使其他作业不去分割这个空闲区,可以再把J4装入到第一个空闲区,装入后还剩余4 KB空间,把其中的1KB用来装J1。然后J2正好占用第二个空闲区10 KB,最后把J3装入到113 KB的区域后剩余5 KB空间。最初的第三个空闲区(5 KB)和第五个空闲区(100 KB)仍维持空闲状态。所以,采用最先适应分配算法时若按J5、J4、J1、J2、J3的次序装入,则可充分利用主存空间,把五个作业同时装入主存储器。 当然,上述的装入次序不是唯一的。例如,按次序J5、J3、J1、J4、J2装入,或按J3、J1、J4、J2、J5的次序装入等均是可以的。 若采用最先适应分配算法不能把五个作业按J1~J5的次序全部装入主存储器。若按J5、J4、J1、J2、J3的次序装入,则可充分利用主存的空闲空间,把五个作业同时装入主存储器中。

解析
转载请注明原文地址:https://jikaoti.com/ti/mAGjFFFM
0

最新回复(0)