资源简介
进程调度:先来先服务、静态优先数调度、最短时间调度 作业调度:来先服务算法、短作业优先算法、高响应比算法 内存分配:首次适应算法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\desc
文件 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-reba
文件 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\ob
文件 1676 2019-11-27 15:46 OSHomework\.git\ob
文件 146 2019-11-27 15:46 OSHomework\.git\ob
文件 2297 2019-11-27 15:46 OSHomework\.git\ob
文件 48376 2019-11-27 15:46 OSHomework\.git\ob
文件 48371 2019-11-27 15:46 OSHomework\.git\ob
文件 1523 2019-11-27 15:46 OSHomework\.git\ob
文件 1271 2019-11-27 15:46 OSHomework\.git\ob
文件 47719 2019-11-27 15:46 OSHomework\.git\ob
文件 21442 2019-11-27 15:46 OSHomework\.git\ob
文件 123 2019-11-27 15:46 OSHomework\.git\ob
............此处省略79个文件信息
- 上一篇:超市管理系统UML建模文档
- 下一篇:cervus群体遗传学软件
相关资源
- 广工EDA实验
- 广州大学操作系统课程设计实验报告
- 广州大学--操作系统实验1-5实验报告
- 操作系统程序 WIN32API 进程的控制通信
- ncstudiov8驱动操作系统
- 操作系统教程 第5版 费翔林 骆斌 课件
- 操作系统原理第三版答案
- 嵌入式实时操作系统 uC/OS-II第二版
- 嵌入式实时操作系统μC/OS-III-原版书
- 计算机操作系统ppt课件汤子瀛.rar
- 底层工作者手册之嵌入式操作系统内
- 页面置换算法 操作系统
- 操作系统经典系列实验1-8
- 广工离散数学课件
- 跟我学eCos嵌入式操作系统
- 操作系统教程第四版课件及习题答案
- opc配置手册对应各种操作系统
- 现代操作系统_ModernOperatingSystems(4t
- 操作系统原理课后答案第四版+作者庞
- 操作系统原理&课后习题答案
- 操作系统:原理与实践 第一卷
- 操作系统 第四版 课后答案
- Computer Systems_A Programmer’s Perspective
- 移植在STM8上的实时操作系统uCOS
- 操作系统的网络镜像安装法
- 基于linux的操作系统课程设计 中北大
- 多用户多级目录文件系统的实现
- 计算机操作系统第三版汤小丹、汤小
- 操作系统课程设计 绘制资源分配图
- 广工SOA与Web Service技术实验报告
评论
共有 条评论