OSAndInternet实验报告一网打尽,尽在枫恋翰!
一、实验内容
编写程序模拟内存分配与回收的过程。
二、实验目的
1.加深对可变分区的存储管理的理解;
2.提高用 C 语言编制大型系统程序的能力,特别是掌握C 语言编程的难点: 指针和指针作为函数参数;
3.掌握用指针实现链表和在链表上的基本操作。
三、实验题目
本实验题目为:用循环首次适应法模拟UNIX 可变分区内存管理,实现对该内存区的分配和释放管理。 (1)设计思路
用 char*malloc(unsigned size)函数向系统申请一次内存空间(如size=1000,单位为字节),用循环首次适应法addr = (char *)lmalloc(unsigned size)和lfree(unsigned size,char * addr)模拟UNIX 可变分区内存管理,实现对该内存区的分配和释放管理。
(2)循环首次适应算法
模拟UNIX 的进程管理程序采用的是循环首次适应算法,具体算法如下:
系统每次为进程分配资源时,从上次找到的空闲分区的下一个空闲分区开始查找,直到找到一个能满足要求的空闲分区,从中划出一块与请求大小相等的内存空间分配给作业。
(3)数据结构