好文档 - 专业文书写作范文服务资料分享网站

计算机操作系统实验课实验报告

天下 分享 时间: 加入收藏 我要投稿 点赞

计算机操作系统实验课实验报告

cout<<\请输入每个进程最多所需的各资源数,按照\矩阵输入\

for(i=0;i>MAX[i][j];

cout<<\请输入每个进程已分配的各资源数,也按照\矩阵输入\

for(i=0;i

cin>>fenpei[i][j];

need[i][j]=MAX[i][j]-fenpei[i][j]; if(need[i][j]<0)

{ cout<<\您输入的第\个进程所拥有的第\个资源数错误,请重新输入:\

continue; } } }

cout<<\请输入各个资源现有的数目:\ for(i=0;i

{ cin>>keyong[i]; }

cout<<\剩余需求矩阵:\for(i=0;i

{ cout<

if(j==n-1)

}

cout<<\各资源现有数量:\ for(i=0;i

cout<

cout<

计算机操作系统实验课实验报告

cout<

bool Safe() /*安全性算法*/ { int i,j,k;

for(i=0;i

{ FINISH[i]=false; //判断进程i就是否已执行 }

for(i=0;i

if(FINISH[i]==true) { continue; } else

{ for(j=0;j

{ if(need[i][j]>Work[j]) { break; } } if(j==n)

{ FINISH[i]=true; for(k=0;k

{ Work[k]+=fenpei[i][k]; //进程i执行完后回收资源} p[l++]=i; i=-1; } else {

continue;

计算机操作系统实验课实验报告

} } if(l==m) {

cout<<\系统就是安全的\ cout<<\安全序列:\ for(i=0;i

cout<

cout<<\ } }

cout<<\ return true; } }

cout<<\会发生死锁,发生死锁的进程就是:\

for(i=0;i

if(FINISH[i]==false)

cout<

cout<

return false; } void jc() {

int i,j,k,q; i=0;

while(i

计算机操作系统实验课实验报告

{

for(j=0;j

{ }

}

keyong[j]+=fenpei[i][j]; //回收 fenpei[i][j]=0; } if(Safe()) else

i++;

cout<<\死锁已解除\

Safe();

输入 进程 1 2 3 4 5 已拥有资源数 (0、0、1、2) (2、0、0、0) (0、0、3、4) (2、3、5、4) (0、3、3、2) 总需求资源数 (0、0、1、2、) (2、7、5、0) (6、6、5、6) (4、3、5、6) (0、6、5、2)

计算机操作系统实验课实验报告

四、心得体会

通过这次实验,我了解了有关资源申请分配、检测以及避免死锁等概念,了解死锁与避免死锁的具体实施方法。死锁的解除实质上就就是如何让释放资源的进程能够继续运行、为了解除死锁就要剥夺资源,

实验四 存储管理

一、实验名称

储存管理

二、实验目的

1、掌握物理内存与虚拟内存的基本概念,理解绝对地址与相对地址; 2、了解Windows中内存管理机制,掌握页式虚拟存储;

3、掌握虚拟存储管理中有关缺页处理方法等内容,巩固有关虚拟存储管理的教学内容;

4、理解内存分配原理、特别就是以页面为单位的虚拟内存分配原理; 5、掌握常用的页面置换算法。

三、实验结果分析

#define MAXSIZE 20 #include void main() { int label=0; //标记此页就是否已经装入内存 int input=0; //用于输入作业号 int worknum=0; //记录作业个数 int storesize=0; //系统分配的存储块数 int interrupt=0; //中断次数 int quence[MAXSIZE]; //队列,FIFO算法的主要数据结构

52mly65prv9vfqx3d4pq7px008twst015de
领取福利

微信扫码领取福利

微信扫码分享