C++模拟处理机HRRN调度算法

本实验随机输入的进程个数、进程名称、进程提交到系统的时间、进程运行所需时间。通过模拟程序。显示以下信息:
1)处理机对进程的调度过程。
2)计算这N个进程的平均周转时间。
三、HRRN(最高响应比调度算法)原理
最高响应比调度:在每次调度作业时,先计算后备队中每个作业的响应比,然后挑选响应比高者投入运行。
响应比R定义:
R=(w+S)/S
(R:响应比,W=等待时间,S=运行时间)
响应比R= 周转时间 / 运行时间
=(运行时间 + 等待时间)/ 运行时间
= 1 +(等待时间 / 运行时间)

四、示例
如:输入
进程个数:5
进程名称 到达系统时间 所需服务时间
A 0 3
B 2 6
C 4 4
D 6 5
E 8 2

显示运行结果:
进程名称 到达系统时间 所需服务时间 开始时间 结束时间
A 0 3 0 3
B 2 6 3 9
C 4 4 9 13
E 8 2 13 15
D 6 5 15 20
5个进程的平均周转时间:(3+7+9+7+14)/5=8

代码实现如下:

#include <bits/stdc++.h>
using namespace std;

struct Process
{
   
   
    char name;
    int start_time;
    int serve_time;
    int turnover_time;
    int end_time;
    double response_ratio;
} P[1000];

bool cmp1(const Process &p1, const Process &p2)
{
   
   
    if(p1.start_time==p2.start_time)
        return p1.serve_time<p2.serve_time;
    return p1.start_time<p2.start_time;
}

bool cmp2(const Process &p1, const Process &p2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值