已知主存容量为512KB,假定操作系统代码占低地址部分的64KB,存储分配时从空闲区的高址处分割一块作为分配区。
现有作业序列:作业1要求100KB,作业2要求56KB,作业3要求80KB,作业1完成,作业2完成,作业4要求100KB,作业5要求60KB。
- 试画出作业1、2完成后内存的分布情况
- 并按首次适应法和最佳适应法分别画出此时空闲队列及作业4、5进入系统后的内存分布。
解:
填入到:作业3要求80KB
100kb
作业1
56kb
作业2
80kb
作业3
212kb
空闲块(512-100-56-80-64)kb
64kb
操作系统代码
(1)
作业一、二完成
156kb
空闲块1
80kb
作业3
212kb
空闲块2
64kb
操作系统代码
(2)
首次适配法:存储器沿着段链表进行搜索,直到找到一个足够大的空闲区。
先填入空闲块二,再填入空闲块一。
156kb
空闲块1
80kb
作业3
100kb
作业4
60kb
作业5
52kb
空闲块2
64kb
操作系统代码
最佳适配法:从头到尾搜索整个链表,找出能够容纳进程的最小空闲区。
先填入空闲块一,再填入空闲块二。
56kb
作业4
100kb
空闲块1
80kb
作业3
60kb
作业5
152kb
空闲块2
64kb
操作系统代码