资源简介
目的:
在进程控制、请求分页存储器管理、设备管理基础上 实现按先来先服务 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语言实现
- ROS操作系统入门讲义
- Linux操作系统下C语言编程从零开始
- 操作系统存储管理实验报告c/c++
- 操作系统课程设计(银行家算法)附
- 现代操作系统第三版高清
- C++操作系统课设-进程管理
- 哲学家进餐问题的c++模拟实现
- 操作系统课程设计(生产者-消费者存
- 操作系统——5个实验.zip
- 操作系统进程管理实验
- 操作系统—页面置换算法C++实现
- VC6.0进程调度算法实现,作业调度 有
- 进程调度设计与实现
- 操作系统 内存管理 模拟 图形界面
- 银行家算法 mfc 含源代码 界面 操作系
- 操作系统生产者消费者问题MFC动态实
- 操作系统课程设计:Windows 命令接口之
- 操作系统课程大作业-文件管理系统
- C语言实现最低松弛度优先算法源代码
- 操作系统信号量PV经典问题:沉睡的理
- 基于C++的银行家算法模拟实现
- 生产者消费者问题源码-MFC实现-进程模
- 操作系统实验 进程调度 高响应比优先
- 操作系统文件管理C++代码实现
- 嗜睡的理发师进程同步与实现c++
- 安徽大学操作系统实验八基于扫描的
- 安徽大学操作系统实验四主存空间的
- 操作系统——银行家算法
- 操作系统_生产者消费者c++、mfc实现
评论
共有 条评论