资源简介
本文件是对操作系统进程多级反馈队列调度算法的设计与实现,算法以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
- 上一篇:银行家算法的思想,编写程序,解决并发进程的死锁问题。
- 下一篇:最高响应比优先算法
相关资源
- 最高响应比优先算法
- 银行家算法的思想,编写程序,解决
- 计算机网络实验报告DNS服务配置
- 《MIT JOS Lab2: Memory Management》实验代码
- 基于PID算法的电加热炉温度控制仿真
- 中文自动分词 哈工大-中文信息处理实
- tensowflow官方文档 cifar10代码
- 模糊控制算法C程序源码
- 广工检测原理实验报告
- 学生选修课系统课程设计报告
- 学科前沿讲座报告.docx
- FPGA实现的联通区识别算法Verilog源代码
- 遗传算法求解多元函数最大值
- 遗传算法实数编码.zip
- ZigBee CC2530,基础实验的代码汇集
- 汽车租赁系统
- 轮式移动机器人FastSLAM算法研
- STM32F103之实验2控制1个电机并采用编码
- 张晓峰UE报告.zip
- AngularJS实战 源代码
- noip基本算法必背
- 网页动态背景代码4种
- BM算法,用于·测试序列的线性复杂度
- 基于STM32F1 Modbus通信源代码
- 护士工作站代码
- 双闭环PID+鸟群算法
- 基于遗传算法的多目标优化算法
- 基于遗传算法的LQR控制器的优化设计
- 基于遗传算法的BP神经网络优化算法
- 基于蚁群算法的图像分割方法
评论
共有 条评论