操作系统试验报告(5)

2019-03-04 12:16

default:cout<<\选择错误!\ }

cout<

cout<<\是否继续,按1继续,按0退出\ cin>>f; }

system(\ return EXIT_SUCCESS; }三、调试与运行:

四、总结:

1、本程序的优点和不足之处(四号仿宋,单倍行距) 操作简单明了,结果用表格形式表现将会更直观 2、心得体会(四号仿宋,单倍行距)

三种页面置换算法FIFO,LRU,OPT,容易理解,但在实际实现过程的时候要注意各种细节。对算法的时间复杂度的分析还是不熟悉

实验(三)

银行家算法

一、问题描述:

银行家算法是一种最有代表性的避免死锁的算法。在避免死锁方法中允许进程动态地申请资源,但系统在进行资源分配之前,应先计算此次分配资源的安全性,若分配不会导致系统进入不安全状态,则分配,否则等待。 二、程序分析与设计: 1、基本思想

(1),进程一开始向系统提出最大需求量.

(2),进程每次提出新的需求都统计是否超出它事先提出的最大需求量.

(3),若正常,则判断该进程所需剩余剩余量(包括本次申请)是否超出系统所掌握的剩余资源量,若不超出,则分配,否则等待. 2、结构定义

int Max[100][100]={0};//各进程所需各类资源的最大需求 int Avaliable[100]={0};//系统可用资源 char name[100]={0};//资源的名称

int Allocation[100][100]={0};//系统已分配资源 int Need[100][100]={0};//还需要资源 int Request[100]={0};//请求资源向量 int temp[100]={0};//存放安全序列

int Work[100]={0};//存放系统可提供资源 int M=100;//作业的最大数为100 int N=100;//资源的最大数为100 3、算法描述

#include #include #include #define False 0 #define True 1

int Max[100][100]={0};//各进程所需各类资源的最大需求 int Avaliable[100]={0};//系统可用资源 char name[100]={0};//资源的名称

int Allocation[100][100]={0};//系统已分配资源 int Need[100][100]={0};//还需要资源 int Request[100]={0};//请求资源向量 int temp[100]={0};//存放安全序列 int Work[100]={0};//存放系统可提供资源 int M=100;//作业的最大数为100 int N=100;//资源的最大数为100 void showdata()//显示资源矩阵 {

int i,j;

cout<<\系统目前可用的资源[Avaliable]:\ for(i=0;i

cout<

cout<<\ cout<<\进程名 \ for(j=0;j<3;j++) {

for(i=0;i

cout<

cout<<\ for(j=0;j

输出分配资源


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

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

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

马上注册会员

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