hrrf(最高响应比)

#include<stdio.h>
#include<stdlib.h>
#define N 100

typedef struct process
{
 int num;
 int time;
 int start;
 int end;
 int begin;
 int freetime;
 int arrivetime;
 int finish;
 int turn;
 double reaction;
 double average;
}P;

P a[N],b;
int wordtime=0;

void hrrn(int i,int j,int t,int n){
 a[0].finish=a[0].arrivetime+a[0].freetime;//给予a[0]初值
 wordtime=a[0].finish;
    a[0].turn=a[0].time;
 a[0].average=(float)a[0].turn/a[0].time;
 for(i=1;i<n;i++)//执行
 {
  for(j=i+1;j<n;j++)
  {
   if(a[j].arrivetime<=a[i-1].finish)
   {
    for(t=i;t<=j;t++)
    {  
     a[t].reaction=(float)(a[t-1].finish-a[t].arrivetime+a[t].time)/a[t].time;
     if(a[t].reaction<a[j].reaction)
     {
      b=a[j];
      a[j]=a[t];
      a[t]=b;
     }
    }
   }
  } 
  if(a[i].arrivetime<a[i-1].finish)
  {
   a[i].finish=a[i-1].finish+a[i].freetime;
   a[i].turn=a[i].finish-a[i].arrivetime;
  }
  else
  {
   a[i].finish=a[i].arrivetime+a[i].freetime;
   a[i].turn=a[i].time;
  }
  a[i].average=(float)a[i].turn/a[i].time;
  wordtime=a[i].finish;
 }
 
}

void main()
{
 int n=5,i,t,sum=0,num=2,j,x;
 double average=0,turn=0;

printf("请输入进程个数");
  scanf("%d",&n);

for(i=0;i<n;i++){
  printf("\n");
  printf("请输入第%d个进程到达时间:",i+1);
  scanf("%d",&a[i].arrivetime);
  printf("请输入第%d个进程需要时间:",i+1);
  scanf("%d",&a[i].time);
  printf("\n");
  a[i].start=a[i].arrivetime;
  a[i].freetime=a[i].time;//剩余时间赋值
  a[i].num=i+1;
  a[i].start=a[i].end=0;
 }//输入数据
 
 for(i=0;i<n;i++)
 {
  for(t=i+1;t<n;t++)
  {
   if(a[t].arrivetime<a[i].arrivetime)
   {
    b=a[i];
    a[i]=a[t];
    a[t]=b;
   }
   else if(a[t].arrivetime==a[i].arrivetime)
   {
    if(a[i].time>a[t].time)
    {
     b=a[i];
     a[i]=a[t];
     a[t]=b;
    }
   }
  }
 }//排序
 hrrn(i,j,t,n);

printf("进程号\t完成时间\t周转时间\t带权周转时间\n");
 for(i=0;i<n;i++)
  printf("%d\t%d\t\t%d\t\t%.2f\n",a[i].num,a[i].finish,a[i].turn,a[i].average);
 
 for(i=0;i<n;i++)
 {
  turn=turn+(float)a[i].turn;
  average=average+(float)a[i].turn/a[i].time;
 }
 turn=turn/n;
 average=average/n;
 printf("平均周转时间\t平均带权周转时间\n");
    printf("%.2f\t\t%.2f\n",turn,average);
 
}

时间: 2024-10-10 01:29:36

hrrf(最高响应比)的相关文章

作业调度模拟程序

13物联网 201306104132 柴铱琳 一. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二. 实验内容和要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在系统中等待时间最长的作业. 2) 短作业优

实验二报告

实验一.作业调度模拟程序实验 13物联网工程    刘烨   201306104146 一. 实验目的 (1)加深对作业调度算法的理解: (2)进行程序设计的训练. 二. 实验内容和要求 用高级语言编写一个或多个作业调度的模拟程序. 单道批处理系统的作业调度程序.作业一投入运行,它就占有计算机的一切资源直到作业完成为止,因此调度作业时不必考虑它所需要的资源是否得到满足,它所运行的时间等因素. 作业调度算法: 1) 采用先来先服务(FCFS)调度算法,即按作业到达的先后次序进行调度.总是首先调度在

操作系统 —期中复习

操作系统复习 一.操作系统概述 什么是操作系统 (关注: 如何控制和协调处理机.存储器.设备和文件) 操作系统 : 是指 控制 和 管理 整个计算机系统的 硬件 和 软件资源 控制程序执行 改善人机界面 提供各种服务 并合理地组织调度计算机的 工作和资源的分配, 以提供给 用户 和 其他软件 方便的 接口和环境 的 程序集合. 是 计算机系统中 最基本的系统软件. 操作系统的作用 服务用户观点 : 操作系统作为 用户接口 和 公共服务程序 进程交互观点: 操作系统作为 进程执行的 控制者 和 协

操作系统实验2-作业调度3.0

1.实验内容和要求 (1)初始化程序运行界面,实现菜单选项 (2)选择从文件读取作业 (3)选择调度算法菜单 (4)显示调度结果 2.主要程序段 1 #include<stdio.h> 2 3 #include<stdlib.h> 4 #include<string.h> 5 #include<conio.h> 6 #include <time.h> 7 8 struct jcb 9 { 10 char name[10]; /* 作业名 */ 1

http请求与响应全过程

HTTP 无状态性 HTTP 协议是无状态的(stateless).也就是说,同一个客户端第二次访问同一个服务器上的页面时,服务器无法知道这个客户端曾经访问过,服务器也无法分辨不同的客户端.HTTP 的无状态特性简化了服务器的设计,使服务器更容易支持大量并发的HTTP 请求. HTTP 持久连接       HTTP1.0 使用的是非持久连接,主要缺点是客户端必须为每一个待请求的对象建立并维护一个新的连接,即每请求一个文档就要有两倍RTT 的开销.因为同一个页面可能存在多个对象,所以非持久连接可

VmWare平台Windows Server 2012 无响应宕机

我们生产服务器都部署在VMware ESXi 5.5平台上,最近大半年的时间,偶尔就会出现操作系统为Windows Servre 2012的服务器出现没有任何响应(unresponsive)的情况,出现问题的时候,服务器有下面一些现象: 1: 应用程序无法访问SQL Server数据库,使用Microsoft SQL Server Management Sutdio去测试连接数据库,也会返回连接错误. 2: 网络有时候能Ping通,有时候是Ping不通的情况. 3: 远程连接无法访问服务器,从V

CSS之响应式布局

响应式布局 外部link的max.css #left { width: 50%; height: 100px; background-color: #FF6600; float: left; } #right { width: 50%; height: 100px; background-color: #3565ff; float: left; } 外部link的min.css #left { width: 100%; height: 100px; background-color: #FF66

Yii2框架RESTful API教程(二) - 格式化响应,授权认证和速率限制

之前写过一篇Yii2框架RESTful API教程(一) - 快速入门,今天接着来探究一下Yii2 RESTful的格式化响应,授权认证和速率限制三个部分 一.目录结构 先列出需要改动的文件.目录如下: web ├─ common │ └─ models │ └ User.php └─ frontend ├─ config │ └ main.php └─ controllers └ BookController.php 二.格式化响应 Yii2 RESTful支持JSON和XML格式,如果想指定

java企业站源码 响应式 兼容手机平板PC 主流SSM 框架 freemaker 静态引擎

java 企业网站源码 前后台都有 静态模版引擎, 代码生成器大大提高开发效率 前台: 支持三套模版, 可以在后台切换 点击:获取地址   QQ 313596790 官网 http://www.fhadmin.org/ 系统介绍: 1.网站后台采用主流的 SSM 框架 jsp JSTL,网站后台采用freemaker静态化模版引擎生成html 2.因为是生成的html,所以访问速度快,轻便,对服务器负担小 3.网站前端采用主流的响应式布局,同一页面同时支持PC.平板.手机(三合一)浏览器访问 4