资源简介
本文件是对操作系统进程多级反馈队列调度算法的设计与实现,算法以txt的形式输入输出,其中包含设计报告

代码片段和文件信息
#include
#include
#include
#include
#include
#include
#include
#include“process.h“
int main(){
int process_time[10]; //进程到达第一级队列的时间
int p_num=10;
for(int i=0;i process_time[i]=i; //假定进程从前往后一次间隔一秒到达,第一个进程到达时间为0
}
int queue_num=3;
Proqueue proqueue[queue_num]; //运行进程的队列总数为3
for(int i=0;i proqueue[i].setQuePrior(i+1);
proqueue[i].setQueTime(pow(2i+1));
}
for(int i=0;i process[i].get_time=process[i].get_wait_time=process[i].end_time=0;
process[i].prior=1; //进程首先应进入优先级为1的队列中,故默认进程优先级为1
//cin>>process[i].id>>process[i].run_time_num; //输入进程id号和进程的总运行时间
}
int shuru;
cout<<“please input‘1‘the program will read the data from the file ‘input.txt‘or input other number to terminate it.“< cin>>shuru;
if(shuru==1){
string line;
ifstream openfile(“input.txt“);
int head=0q=0;
while(getline(openfileline))
{
istringstream is(line);
if(head==0){
head=1;
continue;
}
is>>process[q].id>>process[q].run_time_num;
//cout< q++;
}
openfile.close();
}
else
return 0;
cout<<“read data from the file successfully!“<
for(int i=0;i struct Pronode *pronode=new Pronode();
pronode->id=process[i].id;
proqueue[0].enqueue(pronode);
}
int j=0record_time=0; //记录各个进程在队列中的总运行时间
struct Pronode *p=new Pronode(); //p_num为尚未结束运行进程总数
ofstream output(“output.txt“);
while(1){
while(proqueue[j].getLength()>0){
int i;
p=proqueue[j].dequeue(); //进程块出队
for(i=0;i if(p->id==process[i].id){
if(process[i].run_time_num-process[i].get_time<=proqueue[j].getQueTime()){ //进程运行剩余运行总时间小于等于所在队列时间片,则进程运行完毕
if(record_time process[i].end_time=process_time[i]+process[i].run_time_num-process[i].get_time; // ///////////////////////////////////////
record_time=process_time[i];}//+process[i].run_time_num-process[i].get_time;}
else{
process[i].end_time=record_time+process[i].run_time_num-process[i].get_time;
record_time+=process[i].run_time_num-process[i].get_time;
}
cout< output<
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 650592 2017-11-23 21:21 多级反馈队列调度算法\c_project\bin\Debug\c_project.exe
文件 200 2017-11-23 14:49 多级反馈队列调度算法\c_project\bin\Debug\input.txt
文件 61 2017-11-23 21:17 多级反馈队列调度算法\c_project\bin\Debug\output.txt
文件 241 2017-11-23 21:12 多级反馈队列调度算法\c_project\c_project.depend
文件 362 2017-11-23 21:22 多级反馈队列调度算法\c_project\c_project.layout
文件 200 2017-11-23 14:49 多级反馈队列调度算法\c_project\input.txt
文件 3806 2017-11-24 08:28 多级反馈队列调度算法\c_project\main.cpp
文件 528700 2017-11-28 23:51 多级反馈队列调度算法\c_project\main.exe
文件 8332 2017-11-28 23:51 多级反馈队列调度算法\c_project\main.o
文件 130734 2017-11-23 21:21 多级反馈队列调度算法\c_project\obj\Debug\main.o
文件 61 2017-11-28 23:52 多级反馈队列调度算法\c_project\output.txt
文件 2591 2017-11-23 20:55 多级反馈队列调度算法\c_project\process.h
文件 53542 2017-11-29 00:03 多级反馈队列调度算法\实验1 多级反馈队列调度算法.docx
文件 6272 2017-11-29 00:01 多级反馈队列调度算法\源代码.txt
目录 0 2017-11-23 21:21 多级反馈队列调度算法\c_project\bin\Debug
目录 0 2017-11-23 21:21 多级反馈队列调度算法\c_project\obj\Debug
目录 0 2017-11-23 20:54 多级反馈队列调度算法\c_project\bin
目录 0 2017-11-23 20:54 多级反馈队列调度算法\c_project\obj
目录 0 2017-11-28 23:51 多级反馈队列调度算法\c_project
目录 0 2017-11-29 00:04 多级反馈队列调度算法
----------- --------- ---------- ----- ----
1385694 20
- 上一篇:银行家算法的思想,编写程序,解决并发进程的死锁问题。
- 下一篇:最高响应比优先算法
相关资源
- SVR算法程序可运行
- 随机森林R语言代码
- 计算机图形学 边填充算法实现代码
- 直流无刷电机方波驱动 stm32 例程代码
- 仿知乎界面小程序源代码
- 贪吃蛇源代码.fla
- 周立功开发板ProASIC3实验-syn_FIFO代码
- IMX385驱动代码.zip
- dotnet 写字板 实验 源代码 不好请要不
- 数学建模实验报告(八个全)
- 福建师范大学历年算法考卷
- 图像二维小波变换的实现源代码
- 栈的实现及应用,六种基本算法
- 八三编码器设计 VHDL代码 简单,包附
- 高频电子线路课程设计报告收音机
- linux应用层的华容道游戏源代码
- 交通咨询模拟系统完整代码
- http请求状态代码
- 数据库课设:图书管理系统报告
- 数值分析所有实验代码
- Bresenham算法绘制线段并利用“橡皮筋
- 介绍几种压缩算法及《笨笨数据压缩
- 网上拍卖系统完整源代码
- 改进的BP神经网络算法
- 音乐代码转换软件 单片机编程时用
- CSMA/CD等动画演示加源代码
- 基于web的毕业设计开题报告
- silicon lab公司的收音IC SI47XX全套开发工
- A星算法_原理讲解_例子
- 用51单片机实现G代码翻译
评论
共有 条评论