实验五 存储管理(实验报告格式)_第1页
实验五 存储管理(实验报告格式)_第2页
实验五 存储管理(实验报告格式)_第3页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、一、实验目的实验五: 存储管理熟悉内存空闲分区的分配方式;理解动态分区存储管理方式;二、实验环境微型计算机,Ubuntu Linux10.04 ,三、实验内容100,5,每个进程所需空间为随机产生,大小为120,编制程序,首先对四、实验结果截图一截图一截图二截图三五、源代码#include #includetypedef struct intname;/进程名intaddress;/起始地intlength;/长度intflag;/标志,表示该块是否被分配。struct MEMORY_BLOCK *next;/指向下一个进程MEMORY_BLOCK;#define NUM 5#define L

2、EN sizeof(MEMORY_BLOCK)void allocation(MEMORY_BLOCK *Header,int name,int length_p) MEMORY_BLOCK *temp,*t,*tt;intminsize=2;/不可切割的分区阈值t=Header;t=Header;while(t!=0)if(t-lengthlength_p&t-flag=0) break; t=t-next;if(t-length-length_pminsize)/分割temp=(MEMORY_BLOCK*)malloc(LEN); temp-name=-1;temp-flag=0;temp

3、-length=t-length-length_p; temp-address=t-address+length_p; t-name=name;t-flag=1;t-length=length_p; t-next=temp;else/直接分配t-name=name; t-flag=1;void reclaim(int processname, MEMORY_BLOCK *Header) MEMORY_BLOCK *temp,*t,*tt;temp=t;while(t-name!=processname) temp=t;t=t-next;if(t-next!=NULL)/ttemp-name=-

4、1;/左右为空temp-length=temp-length+t-length+t-next-length; tt=t-next;temp-next=tt-next;elseif(temp-flag=0) temp-name=-1;/左为空temp-length=temp-length+t-length; temp-next=t-next;elseif(t-next-flag=0) t-name=-1;/右为空t-flag=0;tt=t-next;t-next=tt-next;else/左右不为空t-name=-1; t-flag=0;else/tif(temp-flag=0) temp-na

5、me=-1;/左为空temp-length=temp-length+t-length; temp=t-next;else/t-name=-1;t-flag=0;voidmain()/主函数int length_p,i,processname; MEMORY_BLOCK *Header,*t;Header=(MEMORY_BLOCK*)malloc(LEN); /初化存储空间Header-name=-1;Header-address=0; Header-length=100; Header-flag=0; Header-next=NULL;srand(int)time(0); for(i=1;iname,t-address,t-length,t-flag); t=t-next;printf(请输入回收的进程号(输入 0 结束):n); scanf(%d,&processname); while(processname!=0)printf(回收 process name %dn,processname); reclaim(processname,Header);printf(当前内存分配情况:n); t=Header;while(t!=0)printf

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论