操作系统第5次实验报告:内存管理
姓名:李冠毅 学号:201822121031 班级:计算1811
一、实验目的
- 通过编程进一步了解内存管理。
二、实验内容
- 在服务器上用Vim编写一个程序:仿真实现某个内存管理算法,测试给出结果,并对解释运行结果。
三、实验报告
1. 记录内存空间使用情况
创建参数为(pid,size,start_addr,process_name,allocated_block*next)的结构体allocated_block
pid 表示进程id
size 表示小
start_addr 表示起始地址
process_name 表示进程名
*next 表示下一个块
2. 记录空闲分区
创建(size,start_addr,*next)的结构体链表free_block_type
记录空闲分区,并设置头指针为空指向表头,使用后面的算法进行排序,从低地址开始
查找
3. 内存分配算法
首次适应算法:
分配内存模块:
4. 内存释放算法
释放链表节点:
释放进程所占用内存:
释放进程:
5. 运行结果
初始内存:1024
进程1,空闲分区地址从2开始大小为1024,分配初始地址为0,大小2
进程2,空闲分区地址从686开始大小为338,分配初始地址为2,大小684
进程3,空闲分区地址从957开始大小为67,分配初始地址为686,大小271