C语言 固定分区存储管理实验_第1页
C语言 固定分区存储管理实验_第2页
C语言 固定分区存储管理实验_第3页
C语言 固定分区存储管理实验_第4页
C语言 固定分区存储管理实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验三 固定分区存储管理一、实验目的通过编写固定分区存储管理的模拟程序,加深对操作系统存储管理功能中的固定分区管理方式、主存分配表等相应知识的理解。二、实验内容1、实现固定分区存储管理方式下存储空间的分配和去配。2、已知当前内存分配表如下:3、有若个作业申请或释放内存空间,请求如下:(1)作业J3请求资源,申请5K大小的内存空间;(2)作业J4申请33K大小的内存空间 ;(3)作业J1执行完毕,释放空间4、编写程序实现相应存储空间的分配和去配,若请求成功,修改主存分配表,并输出该表,若请求不能满足,输出“分配失败”。(其中不考虑空闲分区的移动)。三、实验步骤实验程序如下:#include #d

2、efine N 50typedef struct subarea /分区结构体int start;int longth; int work;subarea;subarea sN;void distribute1(int n,int w1,int size) /申请空间int i=0,j;while(isize & si.work=0) si.work=w1;printf(分区号 起始地址 长度 占用标志n); for(j=0;jn;j+) printf(%5d %5d %5d %5dn,j+1,sj.start,sj.longth,sj.work); break;i+; if(i=n) pri

3、ntf(分配失败n);void distribute2(int n,int w2) /释放空间int i;for(i=0;in;i+)if(si.work=w2) si.work=0;printf(分区号 起始地址 长度 占用标志n);for(i=0;in;i+)printf(%5d %5d %5d %5dn,i+1,si.start,si.longth,si.work);void main() /主函数int i,n,w1,w2,size,k;/k=1表示为申请内存,k=0表示释放内存。请说明作业是申请还是释放空间,printf(请输入分区个数:);scanf(%d,&n);printf(请输入分区说明表:);for(i=0;in;i+) scanf(%d%d%d,&si.start,&si.longth,&si.work);printf(输入k值:);scanf(%d,&k);if(k=1) printf(请输入要申请的作业:); scanf(%d,&w1); printf(请输入要申请的空间大小:); scanf(%d,&size);distribute1(n,w1,size);if(k=0) printf(请输入要完成的作业:); scanf(%d,&w2); distribute2(n,w2);四、实验结果(1)作业J3请求资源,申请5K大小的内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论