- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案
精彩文档
实验内容:
模拟操作系统的主存分配,运用可变分区的存储管理算法设计主存分配和回收程序,并不实际启动装入作业。
采用最先适应法、最佳适应法、最坏适应法分配主存空间。
当一个新作业要求装入主存时,必须查空闲区表,从中找出一个足够大的空闲区。若找到的空闲区大于作业需要量,这是应把它分成二部分,一部分为占用区,加一部分又成为一个空闲区。
当一个作业撤离时,归还的区域如果与其他空闲区相邻,则应合并成一个较大的空闲区,登在空闲区表中。
运行所设计的程序,输出有关数据结构表项的变化和内存的当前状态。
实验要求:
详细描述实验设计思想、程序结构及各模块设计思路;
详细描述程序所用数据结构及算法;
明确给出测试用例和实验结果;
为增加程序可读性,在程序中进行适当注释说明;
认真进行实验总结,包括:设计中遇到的问题、解决方法与收获等;
实验报告撰写要求结构清晰、描述准确逻辑性强;
【实验过程记录(源程序、测试用例、测试结果及心得体会等)】
#includestdio.h
#includemalloc.h
#define NULL 0
#define LEN1 sizeof(struct job)//作业大小
#define LEN2 sizeof(struct idle)//空闲区单元大小
#define LEN3 sizeof(struct allocate)//已分配区单元大小
int SPACE=100;//定义内存空间大小
int ORIGI=1;//定义内存起始地址
struct job//定义作业
{
int name;
int size;
int address;
};
struct idle//定义空闲区
{
int size;
int address;
struct idle *next;
};
struct allocate//定义已分配区
{
int name;
int size;
int address;
struct allocate *next;
};
struct idle *creatidle(void)//建立空闲表
{
struct idle *head;
struct idle *p1;
p1=(struct idle*)malloc(LEN2);
p1-size=SPACE;
p1-address=ORIGI;
p1-next=NULL;
head=p1;
return(head);
}
struct allocate *creatallocate(void)//建立已分配表
{
struct allocate *head;
head=NULL;
return(head);
}
struct job *creatjob(void)//建立作业
{
struct job *p;
p=(struct job*)malloc(LEN1);
printf(请输入要运行的作业的名称与大小:\n);
scanf(%d%d,p-name,p-size);
return(p);
}
struct idle *init1(struct idle *head,struct job *p)//首次适应算法分配内存
{
struct idle *p0,*p1;
struct job *a;
a=p;
p0=head;
p1=p0;
while(p0-next!=NULLp0-sizea-size)
{
p0=p0-next;
}
if(p0-sizea-size)
{
p0-size=p0-size-a-size;
a-address=p0-address;
p0-address=p0-address+a-size;
}
else
{
printf(无法分配\n);
}
return(head);
}
struct idle *init2(struct idle *head,struct job *p)//最优
{
struct idle *p0,*p1;
struct job *a;
a=p;
p0=head;
if(p0==NULL)
{
printf(无法进行分配!\n);
}
while(p0-next!=NULLp0-sizea-size)
{
p0=p0-next;
}
if(p0-sizea-size)
{
p1=p0;
p0=p0-next;
}
else
{
printf(无法分配!\n);
}
while(p0!=NULL)
{
if(p0-sizep1-size)
{
p0=p
您可能关注的文档
- 场地使用证明样本(精选多篇).doc
- 场面描写集锦.doc
- 场面调度全解析.docx
- 场所使用权证明(精选多篇).doc
- 超精密加工技术论文.doc
- 超全面面部痘痘分析报告图文.doc
- 朝最厚的地方钻孔.doc
- 沉降观测方案设计.doc
- 沉降观测技术设计书(古城)).doc
- 沉降位移观测方案设计.doc
- 10《那一年,面包飘香》教案.docx
- 13 花钟 教学设计-2023-2024学年三年级下册语文统编版.docx
- 2024-2025学年中职学校心理健康教育与霸凌预防的设计.docx
- 2024-2025学年中职生反思与行动的反霸凌教学设计.docx
- 2023-2024学年人教版小学数学一年级上册5.docx
- 4.1.1 线段、射线、直线 教学设计 2024-2025学年北师大版七年级数学上册.docx
- 川教版(2024)三年级上册 2.2在线导航选路线 教案.docx
- Unit 8 Dolls (教学设计)-2024-2025学年译林版(三起)英语四年级上册.docx
- 高一上学期体育与健康人教版 “贪吃蛇”耐久跑 教案.docx
- 第1课时 亿以内数的认识(教学设计)-2024-2025学年四年级上册数学人教版.docx
文档评论(0)