设供用户使用的主存空间为 100K,采用可变式分区存储管理,现有一个作业 C,具体信息为:进入输入井时间(时)为10.5、需要计算时间(分)为24、主存量要求(K)为50,高级调度和低级调度均采用 SJF 算法,分别计算各作业进 入主存时间,开始运行时间,结束运行时间及周转时间。(注:采用移动技术)
时间: 2023-09-09 14:14:25 浏览: 123
操作系统内存管理 采用可变分区方式完成对存储空间的管理
4星 · 用户满意度95%
首先,我们需要根据可变式分区存储管理的算法为作业分配内存空间。假设当前主存空间情况如下:
| 分区 | 起始地址 | 结束地址 | 大小 |
| ---- | -------- | -------- | ------ |
| 1 | 0 | 9 | 10K |
| 2 | 10 | 19 | 10K |
| 3 | 20 | 39 | 20K |
| 4 | 40 | 99 | 60K |
根据 SJF 算法,我们需要先按照作业需要的主存量进行排序。因此,作业 C 应该排在最前面。
首先,作业 C 进入输入井时间为 10.5,此时我们需要将其分配到合适的内存分区。根据可变式分区存储管理的算法,我们可以使用移动技术将分区 4 中的作业往后移动,为作业 C 空出合适的内存空间。
| 分区 | 起始地址 | 结束地址 | 大小 |
| ---- | -------- | -------- | ------ |
| 1 | 0 | 9 | 10K |
| 2 | 10 | 19 | 10K |
| 3 | 20 | 39 | 20K |
| 4 | 54 | 99 | 46K |
此时,作业 C 可以被分配到分区 4 中,起始地址为 40,结束地址为 53,大小为 14K。
接下来,我们可以计算作业 C 的进入主存时间、开始运行时间、结束运行时间和周转时间:
进入主存时间 = 10.5
开始运行时间 = 19
结束运行时间 = 43
周转时间 = 43 - 10.5 + 1 = 33.5 分钟(注意,这里的加 1 是因为作业 C 运行时刻的计算需要包括从输入井进入主存的时间)
最后,更新主存空间情况:
| 分区 | 起始地址 | 结束地址 | 大小 |
| ---- | -------- | -------- | ------ |
| 1 | 0 | 9 | 10K |
| 2 | 10 | 19 | 10K |
| 3 | 20 | 39 | 20K |
| 4 | 40 | 53 | 14K |
| 5 | 54 | 99 | 46K |
阅读全文