网站大量收购独家精品文档,联系QQ:2885784924

操作系统实验二 内存管理.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE7 / NUMPAGES8 洛阳理工学院实验报告 系别 计算机系 班级 学号 姓名 课程名称 计算机操作系统 实验日期 实验名称 实验二 分区内存管理 成绩 实验目的: 通过这次实验,加深对内存管理的认识,进一步掌握内存的分配、回收算法的思想。 实验条件:微机一台,操作系统:windows 7,编程环境:Microsoft Visual Studio 2010。 实验原理: 设计程序模拟内存的动态分区内存管理方法。内存分区使用分区(说明)表进行管理,采用最先适应算法从分区表中寻找空闲区进行分配,内存回收时不考虑与相邻空闲区的合并。 假定系统的内存共640K,初始状态为操作系统本身占用40K。t1时刻,为作业A、B、C分配80K、60K、100K、的内存空间;t2时刻作业B完成;t3时刻为作业D分配50K的内存空间;t4时刻作业C、A完成;t5时刻作业D完成。要求编程序分别输出t1、t2、t3、t4、t5时刻内存的空闲分区。 实验内容: #include stdio.h #include stdlib.h #include malloc.h int j=0; typedef struct PCB_type { char name; int address,len,valid; }PCB; typedef struct seqlist { PCB PCBelem[4]; int total; }PCBseql; typedef struct Partiton { int address,len,valid; }Part; typedef struct Partlist { Part Partelem[5]; int sum; }Partseql; PCBseql *pcbl; Partseql *partl; void initpcb() { pcbl=(PCBseql *)malloc(sizeof(PCBseql)); pcbl-total=0; } void intipart() { partl=(Partseql *)malloc(sizeof(Partseql)); partl-Partelem[0].address=40; partl-Partelem[0].len=600; partl-Partelem[0].valid=1; partl-sum=1; } void request(char name,int len) { int i; for(i=0;ipartl-sum;i++) { if(partl-Partelem[i].lenlen) { pcbl-PCBelem[pcbl-total].address=partl-Partelem[i].address; partl-Partelem[i].address+=len; pcbl-PCBelem[pcbl-total].len=len; partl-Partelem[i].len-=len; pcbl-PCBelem[pcbl-total].name=name; pcbl-PCBelem[pcbl-total].valid=1; pcbl-total++; break; } else if(partl-Partelem[i].len==len) { while(ipartl-sum) { partl-Partelem[i]=partl-Partelem[i+1]; i++; } partl-sum--; } else { printf(内存分配不足!); printf(\n); } } } void release(char name) { int i; int k; int m; int o; int p; int q; Part *s; s=(Part *)malloc(sizeof(Part)); for(i=0;ipcbl-total;i++) { if(pcbl-PCBelem[i].name==name) { partl-sum++; pcbl-PCBelem[i].valid=0; partl-Partelem[partl-sum-1].address=pcbl-PCBelem[i].address; partl-Partelem[partl-sum-1].len=pcbl-PCBelem[i].len; partl-Partelem[partl-sum-1].valid=1; for(k=partl-sum-1;k0;k--) { f

文档评论(0)

我思故我在 + 关注
实名认证
内容提供者

部分用户下载打不开,可能是因为word版本过低,用wps打开,然后另存为一个新的,就可以用word打开了

1亿VIP精品文档

相关文档