广东工业大学操作系统实验源码


进程调度:先来先服务、静态优先数调度、最短时间调度 作业调度:来先服务算法、短作业优先算法、高响应比算法 内存分配:首次适应算法FF、循环首次适应算法NF、最佳适应算法BF、最坏适应算法三种算法WF
资源截图
代码片段和文件信息
#include

#define false 0
#define true 1
int sourse = 3;
int process = 5;
int all_process[3] = {10 5 7};
int max_process[5][3] = {{7 5 3} {3 2 2} {9 0 2} {2 2 2} {4 3 3}};
int have_process[5][3] = {{0 1 0} {2 0 0} {3 0 2} {2 1 1} {0 0 2}};
int need_process[5][3];
int available_process[3];
int request_process[3];

getNeed() {
for(int i = 0; i < process; i++) {
for(int j = 0; j < sourse; j++) {
need_process[i][j] = max_process[i][j] - have_process[i][j];
}
}
}

getAvailable() {
int temp = 0;
for(int i = 0; i < sourse; i++) {
temp = 0;
for(int j = 0; j < process; j++) {
temp += have_process[j][i];
}
available_process[i] = all_process[i] - temp;
}
}

showProcess(int a[5][3]) {

printf(“ 资源0 资源1 资源2
“);
for(int i = 0; i < process; i++) {
printf(“进程p%d:“ i);
for(int j = 0; j < sourse; j++) {
printf(“  %d “ a[i][j]);
}
printf(“
“);
}

}

showAllProcess(int a[3]) {
printf(“[“);
for(int i = 0; i < 3; i++) {
printf(“ %d “ a[i]);
}
printf(“]
“);
}

distribute(int k) {
for(int i = 0; i < sourse; i++) {
available_process[i] = available_process[i] - request_process[i];
have_process[k][i] = have_process[k][i] + request_process[i];
need_process[k][i] = need_process[k][i] - request_process[i];
}
}


back(int k) {
for(int i = 0; i < sourse; i++) {
available_process[i] = available_process[i] + available_process[i];
have_process[k][i] = have_process[k][i] - request_process[i];
need_process[k][i] = need_process[k][i] + request_process[i];
}
}

int isExist() {


int temp = 0;
int flag = 1;

int index[5] = {0 0 0 0 0};
int k = 5;


while(k > 0) {

temp = 0;

for(int i = 0; i < 5; i++) {

if(index[i] == 1) {
continue;
}

flag = 1;

for(int j = 0; j < 3; j++) {
if(available_process[j] >= need_process[i][j]) {
continue;
} else {
flag = -1;
break;
}
}

if(flag == 1) {
for(int k = 0; k < 3; k++) {
available_process[k] += have_process[i][k];
}
index[i] = 1;
}
}


k--;
}



for(int i = 0; i < 5; i++) {
if(index[i] == 1) {

continue;
}else {
printf(“不存在安全序列
“);
return -1;
}

}
printf(“存在安全序列
“);
return 1;

}
int bank(int num_process) {
int index = 1;
int result;
char input;

int available_process_test[3];

for(int i = 0; i < 3; i++) {
if(available_process[i] < request_process[i]) {
index = -1;
break;
} else if(request_process[i] > need_process[num_process][i]) {
index = -2;
break;
}

if(index == -1) {
printf(“要求资源大于可用资源。
“);
} else if(index == -2) {
printf(“要求资源大于进程所需资源。
“);
}else {

distribute(num_process);

result = isExist();

if(result == 1) {
printf(“分配资源成功!
“);
} else if(result == -1) {

}
}

}

int main

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        306  2019-11-27 15:46  OSHomework.gitconfig

     文件         73  2019-11-27 15:46  OSHomework.gitdescription

     文件         23  2019-11-27 15:46  OSHomework.gitHEAD

     文件        478  2019-11-27 15:46  OSHomework.githooksapplypatch-msg.sample

     文件        896  2019-11-27 15:46  OSHomework.githookscommit-msg.sample

     文件       3327  2019-11-27 15:46  OSHomework.githooksfsmonitor-watchman.sample

     文件        189  2019-11-27 15:46  OSHomework.githookspost-update.sample

     文件        424  2019-11-27 15:46  OSHomework.githookspre-applypatch.sample

     文件       1638  2019-11-27 15:46  OSHomework.githookspre-commit.sample

     文件       1348  2019-11-27 15:46  OSHomework.githookspre-push.sample

     文件       4898  2019-11-27 15:46  OSHomework.githookspre-rebase.sample

     文件        544  2019-11-27 15:46  OSHomework.githookspre-receive.sample

     文件       1492  2019-11-27 15:46  OSHomework.githooksprepare-commit-msg.sample

     文件       3610  2019-11-27 15:46  OSHomework.githooksupdate.sample

     文件       1634  2019-11-27 15:46  OSHomework.gitindex

     文件        240  2019-11-27 15:46  OSHomework.gitinfoexclude

     文件        182  2019-11-27 15:46  OSHomework.gitlogsHEAD

     文件        182  2019-11-27 15:46  OSHomework.gitlogs
efsheadsmaster

     文件        182  2019-11-27 15:46  OSHomework.gitlogs
efs
emotesoriginHEAD

     文件       2445  2019-11-27 15:46  OSHomework.gitobjects183ddcf30b09d63307ac15a2143589130e0823f3

     文件       1676  2019-11-27 15:46  OSHomework.gitobjects1bedf314dbc11b80ee2e9f59879ef6b902a2943

     文件        146  2019-11-27 15:46  OSHomework.gitobjects2ba0df885ff378a12ae546bbfea2dbe658aae9f7

     文件       2297  2019-11-27 15:46  OSHomework.gitobjects352f1ca355863a8465ee8c0bbd61e7b64fcd5642

     文件      48376  2019-11-27 15:46  OSHomework.gitobjects38f04f61565b6324c22dba5760a42f366f6d639e

     文件      48371  2019-11-27 15:46  OSHomework.gitobjects55ecd3030147d2442169286509a80415c432374

     文件       1523  2019-11-27 15:46  OSHomework.gitobjects5b5c5884a6c575242dc787a141c64e58522f684c

     文件       1271  2019-11-27 15:46  OSHomework.gitobjects641018179441c5133809004a5442beec9c14215b

     文件      47719  2019-11-27 15:46  OSHomework.gitobjects6b267f52871ca42b4cadfd7fd2d879c9c1e891f1

     文件      21442  2019-11-27 15:46  OSHomework.gitobjects80431178bca0e9d3addb34d552afec51e22fb8b9

     文件        123  2019-11-27 15:46  OSHomework.gitobjects8dd7a4052ca177f907f560e0564bd36e5a97573c

............此处省略79个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)