定义管理空闲分区的相关数据结构:采用空闲分区链表来管理系统中所有的空闲分区,链表中的每个节点表示一个空闲分区,登记有空闲分区的起始地址和长度。 定义一个简单的进程控制块,其中有对应进程分配到的内存的起始地址和长度、以及进程的状态信息。当提交一个作业申请内存的要求时,便为该作业创建一个进程(此时,需要分配给它一个进程控制块以及它需要的内存空间)。简单起见,进程控制块用一个数组来实现,分配给作业n的进程控制块为其中第n个元素;而状态信息中执行和就绪表示为一种状态,忽略阻塞状态。 实现首次适应算法的内存分配函数alloc_mem(int len),其中的参数为所申请的内存空间的长度,函数返回值为所分配到的内存空间的起始地址,分配时优先将空闲区的低端部分分配出去,如果空闲区较大,则留下的高端部分仍为空闲区;实现回收内存的函数free_mem(int base, int len),其中的参数为回收区的起始地址和长度,回收时要求进行空闲分区的合并。 在main()中通过一些具体的分配和回收动作来测试上述内存分配和回收的函数,每完成一个动作,要求将进程的详细信息和所有空闲分区的详细信息显示出来。
2021-05-21 09:00:54 2KB 操作系统 java 数据结构
1
在可变分区管理方式下,采用首次适应算法(最先适应算法)实现主存空间的分配和回收。操作系统课程设计,用C语言实现。在VC6.0上调试通过。
1
分区管理
2021-03-15 09:05:06 12.21MB 分区管理
1
操作系统的课程设计,有最先适应法,最优适应法和最差适应法。觉得好的就给个评价,谢谢
2020-01-04 03:15:25 896KB
1
一、设计内容 主存储器空间的分配和回收。 二、设计目的 一个好的计算机系统不仅要有一个足够容量的、存取速度高的、稳定可靠的主存储器,而且要能合理地分配和使用这些存储空间。当用户提出申请存储器空间时,存储管理必须根据申请者的要求,按一定的策略分析主存空间的使用情况,找出足够的空闲区域分配给申请者。当作业撤离或主动归还主存资源时,则存储管理要收回作业占用的主存空间或归还部分主存空间。主存的分配和回收的实现虽与主存储器的管理方式有关的,通过本实习帮助学生理解在不同的存储管理方式下应怎样实现主存空间的分配和回收。
2019-12-21 22:18:01 178KB c语言编写+实验报告
1
以大数组模拟内存,以小数组模拟用户文件,以图示的方法清楚的表示出可变分区管理中用户作业在内存中的分配及内存的变化。 要求:用户的作业分配是动态的。
1
用C/C++编程实现在固定分区管理方式下实现主存分配和回收的顺序分配算法
1
模拟计算机主存储器空间的分配和回收,设计一个在可变分区管理方式下的最先适应分配算法的的分配与回收程序。
2019-12-21 20:02:02 7KB 操作系统
1