操作系统分区分配法最佳适应算法_第1页
操作系统分区分配法最佳适应算法_第2页
操作系统分区分配法最佳适应算法_第3页
操作系统分区分配法最佳适应算法_第4页
操作系统分区分配法最佳适应算法_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、实验报告课程名称计算机操作系统实验名称分区分配算法日期学生学号姓名班级实验目的:了解动态分区分配的原理,熟悉动态分区分配的五种算法,并且能够根据 这几种算法的优缺点来为进程选择合适的算法。实验条件:计算机一台。实验内容与步骤:1、首次适应算法打开VC+软件,编辑如下代码:#in clude<stdio.h>void mai n() int m,n,i,j,j0,k,k0,A303,B30;printf("请输入空闲分区块数:");sca nf("%d",&m);printf("nt 分区号tt大小tt起始地址n")

2、; for(i=0;i<m;i+)for(j=0;j<3;j+)scan f("%d",&Aij);/*按地址从小到大排列(直接选择排序)*/for(i=0;i<m-1;i+)k0=i;for(k=i+1;k<m;k+) if(Ak2<Ak02)k0=k;if(k0!=i)for(j=0;j<3;j+) int t;t=Ak0j;Ak0j=Aij; Aij=t;printf("n-首次适应算法按地址从小到大排列后空闲区-n"); printf("t分区号tt大小tt起始地址n");for(i

3、=0;i<m;i+) for(j=0;j<3;j+)prin tf("t%dt",Aij);if(j=2)pri ntf("n");printf("n请输入要分配的作业数:");sea nf("%d",&n);printf("请输入作业大小:n");for(j0=0;j0< n;j0+)sea nf("%d",&Bj0);/*空闲表首址和大小变换*/i=j0=0;dowhile(Ai1<Bj0&&i<m)i+;if

4、(i=m)printf("n 内存不足,%dK大小的作业需要等待内存资源!n",Bj0); if(ivm)Ai1=Ai1-Bj0;Ai2=Ai2+Bj0;j0+;i=0;while(j0< n);printf("n-首次适应算法分区分配后的空闲区-n");printf("t分区号tt大小tt起始地址n");for(i=0;i<m;i+) for(j=0;j<3;j+) if(Ai1) prin tf("t%dt",Aij); if(j=2)prin tf("n");运行结果如下

5、:4227大小274828分区号2G3 :作山舞ft.事趟:兮区分阮算探 -< -首腹适应豐法7382148址 地 按 法 s次 一自-起始地址2501002S0-也-就-A口-A 0 区起10首驾霧法分区邠鬱土駆_起咖止1丘142227125P2、最佳适应算法打开VC+软件,编辑如下代码:#in clude<stdio.h>void mai n() int m,n,i,j,j0,k,k0,A303,B30; printf("请输入空闲分区块数:");sca nf("%d",&m);printf("t分区号tt大小tt

6、起始地址n"); for(i=0;i<m;i+)for(j=0;j<3;j+)scan f("%d",&Aij);/*按空闲区的容量大小从小到大排列(直接选择排序)*/for(i=0;i<m-1;i+)k0=i;for(k=i+1;k<m;k+) if(Ak1<Ak01)k0=k;if(k0!=i) for(j=0;j<3;j+) int t; t=Ak0j; Ak0j=Aij; Aij=t;prin tf("n-最佳适应算法按空闲区的容量从小到大排列后空闲区-n");printf("t分区

7、号tt大小tt起始地址n");for(i=0;i<m;i+)for(j=0;j<3;j+)prin tf("t%dt",Aij);if(j=2)pri ntf("n");printf("n请输入要分配的作业数:");sea nf("%d",&n);printf("请输入作业大小:n");for(j0=0;j0< n;j0+)sea nf("%d",&Bj0);i=j0=0;dowhile(Ai1<Bj0&&i&

8、lt;m)i+;if(i=m)printf("n内存不足,%dK大小的作业需要等待内存资源!n",Bj0);if(ivm)Ai1=Ai1-Bj0;Ai2=Ai2+Bj0;j0+;for(i=0;i<m-1;i+)k0=i;for(k=i+1;k<m;k+) if(Ak1<Ak01)k0=k;if(k0!=i)for(j=0;j<3;j+) int t;t=Ak0j;Ak0j=Aij;Aij=t;i=0;while(j0< n);printf("n-最佳适应算法分区分配后的空闲区-n"); printf("t分区号t

9、t大小tt起始地址n"); for(i=0;i<m;i+) for(j=0;j<3;j+) if(Ai1)prin tf("t%dt",Aij);if(j=2)prin tf("n");运行结果如下:萤作业'操作系统悄区分配算法出月扇佳适应算法疋拓fg爍块如大水3741起始地址20(3150最佳适应算法按空闲区的容量从小到大排列后空闲区 区号大小3741起妬地址20Q1S0-最佳适应算法分区分配后的空闹区分区号大小起始地址22235141lSd3、最坏适应算法打开VC+软件,编辑如下代码:#in clude<stdio

10、.h>void mai n() int m,n,i,j,j0,k,k0,A303,B30;printf("请输入空闲分区块数:");sca nf("%d",&m);printf("t分区号tt大小tt起始地址n"); for(i=0;i<m;i+)for(j=0;j<3;j+)scan f("%d",&Aij);/* 按空闲区的容量大小从大到小排列(直接选择排序)*/for(i=0;i<m-1;i+)k0=i;for(k=i+1;k<m;k+)if(Ak1>Ak0

11、1)k0=k;if(k0!=i)for(j=0;j<3;j+) int t; t=Ak0jAk0j=Aij; Aij=t;prin tf("n-最坏适应算法按空闲区的容量从大到小排列后空闲区-n");printf("t分区号tt大小tt起始地址n");for(i=0;i<m;i+)for(j=0;j<3;j+)prin tf("t%dt",Aij);if(j=2)pri ntf("n");printf("n请输入要分配的作业数:");sea nf("%d",

12、&n);printf("请输入作业大小:n");for(j0=0;j0< n;j0+)sea nf("%d",&Bj0);/*空闲表首址和大小变换*/i=j0=0;dowhile(Ai1<Bj0&&i<m)i+;if(i=m)printf("n内存不足,%dK大小的作业需要等待内存资源!n",Bj0);if(ivm)Ai1=Ai1-Bj0;Ai2=Ai2+Bj0;j0+;for(i=0;i<m-1;i+)k0=i;for(k=i+1;k<m;k+)if(Ak1>Ak01)k0=k;if(k0!=i)for(j=0;j<3;j+) int t;t=Ak0j;Ak0j=Aij;Aij=t;i=0;while(jO< n);printf("n最坏适应算法分区分配后的空闲区 n");printf("t分区号tt大小tt起始地址n"); for(i=0;i<m;i+)for(j=0;j<3;j+)if(Ai1) prin tf("t%dt",Aij);if(j=2)prin tf("n");222起始地址300100起始地址100旅-I:'佑业噪作

温馨提示

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

评论

0/150

提交评论