资源预览内容
第1页 / 共4页
第2页 / 共4页
第3页 / 共4页
第4页 / 共4页
亲,该文档总共4页全部预览完了,如果喜欢就下载吧!
资源描述
算机信息工程学院学生实验报告(实验四)专业:网络工程 姓名: 杨俊光 学号: 0808060198 日期: 2010.4.20课程名称计算机系统结构实验室名称X4313实验名称存储器管理一一最优适应分配算法指导教师朱明华成绩实验目的:了解存储器管理概念,编程实现可变分区存储管理中的最优适应分配 算法。实验原理和内容 题目:用c语言编程实现最优适应分配算法。实验步骤分析问题,提出解决问题的算法 编制程序程序调试记录实验结果,以及思考是否能够改善算法程序及运行结果(或实验数据记录及分析)#include vstdio.h#include vstdlib.htypedef struct nodelinkint start; 起始地址int len; 分区长度char flag;/标志,0表示未分配node_Optimal_allocation_adaptation;void yjg_sort(node_Optimal_allocation_adaptation p,int k)node_Optimal_allocation_adaptation q;int i,j;for(i=0;ivk-l;i+)for(j=i+l;jvk;j+)if(pj.lenvpi.len)q.start=pi.start;q.len=pi.len;pi.start=pj.start;pi.len=pj.len;pj.start=q.start; pj.len=q.len;void Optimal_allocation_adaptation()int i,j,k,n,Flag=1;char c;node_Optimal_allocation_adaptation s100,a;printf(请输入经过一段时间的分配之后,操作系统产生的空闲分区表n); printf(请输入空闲分区个数:); scanf(%d, &n);printf(请输入各分区的始址和长度:n);for(i=0;ivn;i+)scanf(%d %d,&si.start,&si.len); si.flag=0; yjg_sort(s,n);printf(n按分区从小到大排列空闲分区:n);printf(始址t长度t标志n);for(i=0;ivn;i+)printf(%dt%dt%cn,si.start,si.len,si.flag);while(Flag)printf(n请输入作业标志和大小:n);if(Flag=2) getchar();scanf(%c %d,&a.flag,&a.len);for(i=0;ivn;i+)if(a.lenv=si.len)break;if(i=n)printf(没有足够大的分区给该作业分配,该次申请已取消,请重新申 请! n);elseprintf(n该作业分配的空间为:n); printf(”始址t长度t标志n); printf(%dt%dt%cn,si.start,a.len,a.flag);si.start=si.start+a.len;si.len=si.len-a.len;yjg_sort(s,n);printf(n系统中空闲分区具体情况为:n);printf(始址t长度t标志n);for(i=0;in;i+)printf(%dt%dt%cn,si.start,si.len,si.flag); printf(n输入0退出程序输入1继续n); scanf(%d, &Flag); getchar();main()Optimal_allocation_adaptation();长度101416盹憶花区从小到大排列空闲分区10实验结果:输入0退出程序输入1继续输入0退出程序输入1继续Il清输入作业标志和大小:9 15请输入作业标志和大小:H 13请输入亘过一豌t间的帝己盏 操作系统产生的空闲分区表滴希入空闲分区数泊猜输入各分区的始址和长度:10 16翅14坯10fig 3込系统中空闲分区具f本墮况为: 靖址袜恚53102510坯100盟3込0系统中空闲分区具体埴况为: 诒址长度柿志5310細10010160盟3込0敲业分驛空囉413n獻咋空囉1015B
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号