ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:338KB ,
资源ID:19060469      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/19060469.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(动态分区分配存储管理系统Word下载.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

动态分区分配存储管理系统Word下载.docx

1、 否 就是 否首次适应算法:循环首次适应算法四、系统测试程序运行实例如下:输入界面,按要求输入:五、结论 作业采用数组形式进行存储,起初想用数组模拟分区,但划分记录比较不易,时间空间复杂度较大,容易混乱,遂决定用链表形式模拟分区情况。基本能运行符合要求,能模拟出动态分区过程及最终结果六.源程序#include stdlib、hiostream、hwindows、h#define Free 0#define Use 1#define MAX_length 100 /最大内存空间为100MB#define MaxNumber 100int FreePartitionMaxNumber=16,16,

2、8,32,64,32,8,16,64;/空闲分区int ProcessNeedMaxNumber=7,18,9,20,35,8;/每个进程需求int FirstPartitionMaxNumber;/首次int CycleFirstPartitionMaxNumber;/循环int PartitionNumber=9,ProcessNum=6;/空闲分区数及进程数bool v();bool v() int j; cout首次适应算法endl; / FirstPartitionMethod();for(int i=0;iProcessNum;i+)/进程 for(j=0;j=ProcessNee

3、di) FirstPartitioni =j; FreePartitionj-=ProcessNeedi; break; / c_out(FirstPartition); for(i=0;i+)FreePartitioni ; / Beginning(); FreePartition0=16; FreePartition1=16; FreePartition2=8; FreePartition3=32; FreePartition4=64; FreePartition5=32; FreePartition6=8; FreePartition7=16; FreePartition8=64;cou

4、t循环首次适应算法 /CycleFirstPartitionMethod(); j=0;i+)/进程 for(;)/分区 CycleFirstPartitioni=j; j+; j=j%PartitionNumber; /c_out(CycleFirstPartition);CycleFirstPartitioni0;x-) for(int y = 1000;yy-);/-/-初始化-DuLinkList InitpartitionList(DuLinkList &p) p=(DuLinkList)malloc(sizeof(DuLNode);/申请空间 if(! exit(0); p-siz

5、e=100; /初始化大小 printf(输入分区首地址:); scanf(%d,&p-start);state=0; /状态置空闲ID=0;next=NULL;prior=NULL; return p;/-/-输入函数-int Putin(int &n) int i; Job temp;请输入任务数目:n); a=(Job*)malloc(n*sizeof(Job); A=(Job*)malloc(n*sizeof(Job);n; printf(n信息输入:nn作业号: scanf(ai、num);作业大小:ai、size);作业进入时间:ai、ctime);作业运行时间:ai、rtime)

6、; ai、state=0; /默认状态为Free Ai = ai; for(int j = 0;j ai、ctime) temp = aj; aj = ai; ai = temp; /冒泡排序 freopen(data、txt,w,stdout); for (i = 0;i start,pl-ID,pl-size); if(pl-state = 0) printf(空闲 nstate = 1)已分配 n pl=pl-next;/-/-回收函数-void huishou(DuLinkList pl3,DuLinkList &pl)/pl3就是分区链表指针 pl头 while(pl3) if(pl

7、3-state=0) if(pl3-next&pl3-prior&prior-state=0&next-state=1)/ pl3-size+=pl3-size; pl3-start=pl3-start; if(pl3-prior) next=pl3;/pl3与最前一个prior=pl3-prior;/ else/pl3指向空 pl=pl3; pl3=pl;/pl3与头 else if(pl3-state=1)next) pl3-prior=pl3;/建立新链表pl3与最后一个结点next=pl3- pl3-/指向空 else if(!/pl3与最后start=pl- /pl3与最前 else

8、 pl3- pl=pl3; pl3=pl;size=pl3-size+pl3-/指向头 pl3=pl3-/-/-首次适应算法-void Firstfit(DuLinkList block_first,int n) int t=1; int num=n; while(t&num) DuLinkList pl1=block_first,pl2,pl3=block_first;时钟:%dn,t); DuLNode *p=block_first; DuLNode *q=block_first; for(int x=0;xx+) if(t=ax、ctime+ax、rtime) ax、state=2; f

9、or(int m=0;mID=am、num)/分区号等于作业号时 q-state=Free;/在作业完成时,作业号等于分区号时空闲 q=q- showJob(n); showPartition(block_first); for( m=0; if(am、ctime=t) am、state=1; printf(作业:%d开始运行,对其分配!,am、num); if(t=am、ctime) while(pl1&(pl1-state = 1|pl1-size if(pl1) pl2=(DuLinkList)malloc(sizeof(DuLNode); pl2-start=pl1-start+am、size;size=pl1-size-am、size; if(pl2-size5) pl1-size=am、size; pl

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1