操作系统试验报告(8)

2019-03-04 12:16

switch(choice) {

case 1: addresources();break; case 2: delresources();break; case 3: changeresources();break; case 4: share();break; case 5: addprocess();break; case 0: choice=0;break;

default: cout<<\请正确选择操作序号(0-5)!\ } }

return 1; }}三、调试与运行:

四、总结:

1、本程序的优点和不足之处(四号仿宋,单倍行距)

输入提示信息太啰嗦

银行家算法从某种意义上说,它缺乏实用价值,因为很少有进程能够在运行前就知道其所需资源的最大值,而且进程数也不是固定的,往往在不断地变化(如新用户登录或退出),况且原本可用的资源也可能突然间变成不可用(如磁带机可能坏掉)。在实际情况中只有极少的系统使用银行家算法来避免死锁。 2、心得体会(四号仿宋,单倍行距)

通过实验认识到,实践的必要性,有许多地方没有考虑到,还有些地方写的不够好,程序还需要改进。

实验(四)

动态分配

一、问题描述:

根据进程的实际需要,动态地为之分配内存空间,在实现可变分区分配时,涉及到分区分配中所用的数据结构、分区分配算法和分区的分配与回收。

二、程序分析与设计: 1、基本思想

A.首次适用算法:空闲分区链以地址递增的次序连接,而在分配时从链首开始按顺序查找,直到找到一个大小能满足要求的空闲分区。

B.最佳适用算法:所有空闲分区按其容量从小到大的顺序形成一空闲分区链。 2、结构定义 struct code {

int value; int xx; int fi; }co[20];

3、算法描述(四号仿宋,单倍行距)

#include #include struct code {

int value; int xx; int fi; }co[20];

using namespace std; void alloc(int ch); void opt(int x,int id); void first(int x,int id); void free(int id); void show(); int ch;

void show() {

int i,j;

printf(\初始容量\\t剩余容量\\t状态\\n\ if(ch==2)

for(i=0;i<10;i++)

printf(\ else if(ch==1) for(i=10;i<20;i++)

printf(\); }

void free(int id) {

int i,j;

if(ch==2)

{ for(i=0;i<10;i++) if(co[i].xx==id) {co[i].xx=co[i].value; co[i].fi=0;

printf(\内存释放完毕\\n\ break;} if(i>=10)


操作系统试验报告(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:超大规模集成电路第七次作业2016秋,段成华

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

马上注册会员

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