武汉轻工大学——实验二可变分区存储管理 下载本文

内容发布更新时间 : 2024/6/6 1:55:04星期一 下面是文章的全部内容请认真阅读。

武汉轻工大学

数学与计算机学院

《操作系统》实验报告

题 目: 可变分区存储管理 专 业: 数学与计算机学院 班 级: 计算机类1303班 学 号: 1305110050 姓 名: 刘文斌 指导老师: 黄川

2015年05月26日

1、目的和要求

通过这次实验,加深对内存管理的认识,进一步掌握内存的分配、回收算法的思想。

2、实验内容

阅读教材《计算机操作系统》第四章,掌握存储器管理相关概念和原理。 编写程序模拟实现内存的动态分区法存储管理。内存空闲区使用自由链管理,采用最坏适应算法从自由链中寻找空闲区进行分配,内存回收时假定不做与相邻空闲区的合并。

假定系统的内存共640K,初始状态为操作系统本身占用64K。在t1时间之后,有作业A、B、C、D分别请求8K、16K、64K、124K的内存空间;在t2时间之后,作业C完成;在t3时间之后,作业E请求50K的内存空间;在t4时间之后,作业D完成。要求编程序分别输出t1、t2、t3、t4时刻内存的空闲区的状态。

3、实验环境

Windows操作系统、VC++6.0 C语言

4、设计思想

程序流程图:

begin (y!=NULL)&&(y>lennext;noy!=NULLyes p=(structbusylink*)malloc(sizeof(busylink));p->name=name;p->address=y->address;p->len=require; p->next=NULL; busy_tail->next=p; busy_tail=p;w=x->next;x->next=w->next;w->len==requireyesFree(w)No w->address=w->address+require; w->len=w->len-require;u=free_head;v=free_head->next;no (v!=NULL) && (v->lenlen)yes u=v; v=v->next;No u->next=w; w->next=v;printf(\End