• 大小: 1.33MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-11-18
  • 语言: 其他
  • 标签: 广工  操作系统  

资源简介

进程调度:先来先服务、静态优先数调度、最短时间调度 作业调度:来先服务算法、短作业优先算法、高响应比算法 内存分配:首次适应算法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\n“);
for(int i = 0; i < process; i++) {
printf(“进程p%d:“ i);
for(int j = 0; j < sourse; j++) {
printf(“\t %d “ a[i][j]);
}
printf(“\n“);
}

}

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

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(“不存在安全序列\n“);
return -1;
}

}
printf(“存在安全序列\n“);
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(“要求资源大于可用资源。\n“);
} else if(index == -2) {
printf(“要求资源大于进程所需资源。\n“);
}else {

distribute(num_process);

result = isExist();

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

}
}

}

int main

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

     文件        306  2019-11-27 15:46  OSHomework\.git\config

     文件         73  2019-11-27 15:46  OSHomework\.git\description

     文件         23  2019-11-27 15:46  OSHomework\.git\HEAD

     文件        478  2019-11-27 15:46  OSHomework\.git\hooks\applypatch-msg.sample

     文件        896  2019-11-27 15:46  OSHomework\.git\hooks\commit-msg.sample

     文件       3327  2019-11-27 15:46  OSHomework\.git\hooks\fsmonitor-watchman.sample

     文件        189  2019-11-27 15:46  OSHomework\.git\hooks\post-update.sample

     文件        424  2019-11-27 15:46  OSHomework\.git\hooks\pre-applypatch.sample

     文件       1638  2019-11-27 15:46  OSHomework\.git\hooks\pre-commit.sample

     文件       1348  2019-11-27 15:46  OSHomework\.git\hooks\pre-push.sample

     文件       4898  2019-11-27 15:46  OSHomework\.git\hooks\pre-rebase.sample

     文件        544  2019-11-27 15:46  OSHomework\.git\hooks\pre-receive.sample

     文件       1492  2019-11-27 15:46  OSHomework\.git\hooks\prepare-commit-msg.sample

     文件       3610  2019-11-27 15:46  OSHomework\.git\hooks\update.sample

     文件       1634  2019-11-27 15:46  OSHomework\.git\index

     文件        240  2019-11-27 15:46  OSHomework\.git\info\exclude

     文件        182  2019-11-27 15:46  OSHomework\.git\logs\HEAD

     文件        182  2019-11-27 15:46  OSHomework\.git\logs\refs\heads\master

     文件        182  2019-11-27 15:46  OSHomework\.git\logs\refs\remotes\origin\HEAD

     文件       2445  2019-11-27 15:46  OSHomework\.git\objects\18\3ddcf30b09d63307ac15a2143589130e0823f3

     文件       1676  2019-11-27 15:46  OSHomework\.git\objects\1b\0edf314dbc11b80ee2e9f59879ef6b902a2943

     文件        146  2019-11-27 15:46  OSHomework\.git\objects\2b\a0df885ff378a12ae546bbfea2dbe658aae9f7

     文件       2297  2019-11-27 15:46  OSHomework\.git\objects\35\2f1ca355863a8465ee8c0bbd61e7b64fcd5642

     文件      48376  2019-11-27 15:46  OSHomework\.git\objects\38\f04f61565b6324c22dba5760a42f366f6d639e

     文件      48371  2019-11-27 15:46  OSHomework\.git\objects\55\0ecd3030147d2442169286509a80415c432374

     文件       1523  2019-11-27 15:46  OSHomework\.git\objects\5b\5c5884a6c575242dc787a141c64e58522f684c

     文件       1271  2019-11-27 15:46  OSHomework\.git\objects\64\1018179441c5133809004a5442beec9c14215b

     文件      47719  2019-11-27 15:46  OSHomework\.git\objects\6b\267f52871ca42b4cadfd7fd2d879c9c1e891f1

     文件      21442  2019-11-27 15:46  OSHomework\.git\objects\80\431178bca0e9d3addb34d552afec51e22fb8b9

     文件        123  2019-11-27 15:46  OSHomework\.git\objects\8d\d7a4052ca177f907f560e0564bd36e5a97573c

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

评论

共有 条评论