资源简介
目的:
在进程控制、请求分页存储器管理、设备管理基础上 实现按先来先服务 FCFS 、短作业优先 SJF 以及时间片
轮转算法调度进程的模拟过程 。
内容
1.在第 1 3 部分基础上扩展;
2.支持 FCFS 、短 作业优先以及时间片调度算法。
3.能够较方便地查看调度过程及平均周转时间、平均带权周转时 间。
4.支持优先权调度算法与其它算法相结合的调度模式。
5.调度时应适当输出调度过程中各进程状态队列的变化情况以及进程的已执行时
间、还需服务时间(针对时间片轮转算法)。
6.完成银行家算法的实现。
代码片段和文件信息
#include “OS5.h“
#include
using namespace std;
/***
operation system5.0
The size of the whole inside memory is 4G.
***/
void menu()
{
cout<<“\n\n\n\t\t\t>>>operation system5.0<<<\n\n“;
cout<<“\t\t\t1.refresh data\n\n“;
cout<<“\t\t\t***scheduling algorithm***\n“;
cout<<“\t\t\t2.FCFS algorithm\n“;
cout<<“\t\t\t3.SJF algorithm\n“;
cout<<“\t\t\t4.Times out\n“;
cout<<“\t\t\t5.priority\n“;
cout<<“\t\t\t6.multilevel feedback\n\n“;
cout<<“\t\t\t***Avoid deadlock***\n“;
cout<<“\t\t\t7.Banker algorithm\n\n“;
cout<<“\t\t\t0.exit\n“< cout<<“\n\n>>“;
}
void solve(Process& p)
{
p.process.clear();
//p.ordered_process.clear();
/* F:\\OS\\os5\\ */
string filename file = ““ ;///测试样例所在文件夹的绝对路径;
cout<<“Please input the input filename:“;
cin>>filename;
filename = file + filename;
cout< fstream in(filename);
int num;
//cout<<“Please input the number of data:“;
in>>num;
for(int i=0;i //cout<<“Please input the work source number:“;
int nx; in>>n;
for(int i=0;i>x p.Work.push_back(x);
p.ave_time = p.ave_value = 0;
}
int main() {
Process process;
int choice;
while(1)
{
menu();
cin>>choice;
switch(choice)
{
case 1:
solve(process);
cout<<“Initial data is as follow:“< process.process_show();
break;
case 2:
system(“cls“);
process.process_FCFS();
cout<<“Press any key to continue......“< getchar();
break;
case 3:
system(“cls“);
process.process_SJF();
cout<<“Press any key to continue......“< getchar();
break;
case 4:
system(“cls“);
int T;
cout<<“Please input the times:“;
cin>>T;
cout<<“Press any key to continue......“< getchar();
process.Time_turn(T);
cout<<“Press any key to continue......“< getchar();
break;
case 5:
system(“cls“);
cout<<“\n\n\n\t\t\t >>>priority<<<\n\n“;
cout<<“\t\t\t1.static and not grap\n“;
cout<<“\t\t\t2.static and grap\n“;
cout<<“\t\t\t3.dynamic and not grap\n“;
cout<<“\t\t\t4.dynamic and grap\n“;
cout<<“\t\t\t0.back\n“;
int n;cin>>n;
if(n==1) process.process_priority_static_notgrap();
else if(n==2) process.process_priority_static_grap();
else if(n==3) process.process_priority_dynamic_notgrap(
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 163 2018-11-19 17:24 OS5\1.txt
文件 182 2018-11-19 17:08 OS5\bank.txt
文件 182 2018-11-19 17:08 OS5\mf.txt
文件 3863 2018-11-23 18:41 OS5\OS5.cpp
文件 1112765 2018-11-25 12:22 OS5\OS5.exe
文件 28709 2018-11-22 13:14 OS5\OS5.h
文件 221451 2018-11-25 12:22 OS5\OS5.o
文件 125 2018-11-19 15:20 OS5\pri.txt
文件 163 2018-11-25 12:22 OS5\test.txt
相关资源
- 操作系统请求分页存储器管理C++代码
- 实验一 实现单处理机下的进程调度程
- 操作系统银行家算法源码
- 进程的同步-吃水果问题
- 编写并调试一个模拟的进程调度程序
- 东北大学操作系统实验1进程的同步与
- 进程调度程序设计—课程设计
- 银行家算法C语言实现源文件
- 进程调度优先数算法
- C语言实现Linux文件系统模拟文档内有
- 进程调度算法(优先权)
- 时间片轮转算法实现
- 进程同步实验代码c语言
- C语言模拟实现操作系统内存的分配与
- vc++实现哲学家吃面问题
- DOS操作系统的C语言源代码
- linux操作系统下C++封装的基础库
- 操作系统 银行家算法 C++
- 操作系统 请求分页式存储管理的地址
- 《操作系统课内实验》文件系统实现
- 操作系统课程大作业-文件管理系统
- 操作系统william stallings答案英文版和中
- 操作系统c语言模拟文件管理系统
- 操作系统 课程设计 C++ spooling技术 源
- Linux优先级时间片调度C++源码
- 51实时操作系统程序(easy51os)
- 基于Aurix的AUTOSAR多核操作系统的实现
- 《嵌入式实时操作系统uCOS-II》邵贝贝
- 自制操作系统.docx(附源码地址)
- 操作系统原理及设计原则(Operating
评论
共有 条评论