实验四 最先适应算法(2)

2019-04-23 08:37

DispSpace(); return; } }

cout<<\分配失败!\\n\ DispSpace(); return; }

void CallBack(int sta,int len) { // 回收内存 SP p=Head,q=p->next,r; // 开始地址和长度 p->end=0; int en=sta+len; while (q) {

if (sta == 0) { // 初始地址为0 if (en == q->start) { // 正好回收 q->start=0; q->length=q->end; return; } else {

r=(SP)malloc(sizeof(SNode)); r->start=sta; r->length=len; r->end=en; p->next=r; r->next=q; return; } }

else if ((p->end < sta) && (q->start > en)) { // 上邻区 r=(SP)malloc(sizeof(SNode)); r->start=sta; r->length=len; r->end=en; p->next=r; r->next=q; return; }

5

else if ((p->end < sta) && (q->start == en)) { // 邻区相接 q->start=sta; q->length=q->end-sta; return; }

else if ((p->end == sta) && (q->start < en)) { // 下邻区 p->end=en;

p->length=en-p->start; return; }

else if (p->end==sta && q->start==en) { // 邻区相接 p->end=q->end;

p->length=p->end-p->start; p->next=q->next; return; } else {

p=p->next; q=q->next; } } }

void main() { Initial();

cout<<\现在分配大小为 6K 的作业 4 申请装入主存: \ Allocation(6); // 分配时参数只有长度 //--------指导书测试数据演示---------- cout<<\现回收作业 3 (起址10,长度4)\\n\ CallBack(10,4); DispSpace();

cout<<\现回收作业 2 (起址26,长度6)\\n\ CallBack(26,6); DispSpace();

6

//---------------演示结束------------- system(\}

3. 程序运行结果:

三、综合实验总结或结论

通过本次实验,自己的编程能力有所提高,对操作系统内存的分配,存储空间的回收都有了全新的认识。

在这次操作系统实验中我使用了C++编写系统软件,对OS中可变分区存储管理有了深刻的理解,通过验证,可以说是做出了结果,但是过程中遇到了很多困难,只能边做边查资料,问同学,通过实验对C++有了比较多的理解。

实验中遇到不少问题,浪费了很多的时间,总而言之,究其原因是自己平时的学习不牢固,不扎实,会在以后得学习中扬长避短加以改善,来学到更多的知识。

7


实验四 最先适应算法(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:金融法试题及答案[1]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: