xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 78KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-02
  • 語言: 其他
  • 標簽: C語言??調度??源碼??

資源簡介

進程調度
時間片輪轉與優先級
作業調度
高響應比 短作業 先到先服務
進程調度
時間片輪轉與優先級
作業調度
高響應比 短作業 先到先服務

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
#include
#define?N?10
///////////////////////////////高響應比///////////
typedef?char?string[10];
struct?task
{
int ID; //進程號
string name; ????//進程名
int arrivetime; //到達時間
int servicetime; //服務時間
int?????waittime; //等待時間
int starttime; //開始運行時間
int finishtime; //結束運行時間
float turnaroundtime; //周轉時間
float weightedturnaroundtime; //帶權周轉時間
int priority; //優先權
int?????finish; //是否已經完成
}PCB[10];
int?num;
void?input()
{
int?i;
system(“cls“);
printf(“\n請輸入作業數量:“);
scanf(“%d“&num);
for(i=0;i {
printf(“\n請輸入進程%d:\n“i);
printf(“進程名?到達時間?服務時間\n“);
scanf(“%s%9d%9d“PCB[i].name&PCB[i].arrivetime&PCB[i].servicetime);
PCB[i].priority=0;
PCB[i].finish=0;
}
}
int?HRN(int?pre)
{
int?current=1ij; //優先權=(等待時間+要求服務時間)/要求服務時間
for(i=0;i {
PCB[i].waittime=PCB[i].finishtime-PCB[i].arrivetime; //等待時間=上一個進程的完成時間-到達時間
PCB[i].priority=(PCB[i].waittime+PCB[i].servicetime)/PCB[i].servicetime;
}
for(i=0;i {
if(!PCB[i].finish)
{
current=i; //找到第一個還沒完成的作業
break;
}
}
for(j=i;j {
if(!PCB[i].finish) //還沒完成(運行)
{
if(PCB[current].arrivetime<=PCB[pre].finishtime) //如果進程在上一個進程完成之前到達
{
if(PCB[j].arrivetime<=PCB[pre].finishtime?&&?PCB[j].priority>PCB[current].priority)
current=j; //找出到達時間在上一個進程完成之前,優先權高的進程
}
else //如果進程是在上一個進程完成之后到達
{
if(PCB[j].arrivetime current=j; //找出比較早到達的一個
if(PCB[j].arrivetime==PCB[current].arrivetime) //如果同時到達
if(PCB[j].priority>PCB[current].priority)
current=j; //找出服務時間比較短的一個
}
}
}
return?current; //返回當前進程
}
void?running(int?iint?timesint?preint?statimeint?endtime)
{
if(times==0)
{
PCB[i].starttime=PCB[i].arrivetime;
PCB[i].finishtime=PCB[i].starttime+PCB[i].servicetime;
PCB[i].turnaroundtime=PCB[i].servicetime;
PCB[i].weightedturnaroundtime=1.0;
statime=PCB[i].starttime;
}
else
{
if(PCB[i].arrivetime>PCB[pre].finishtime)
PCB[i].starttime=PCB[i].arrivetime;
else
PCB[i].starttime=PCB[pre].finishtime;
PCB[i].finishtime=PCB[i].starttime+PCB[i].servicetime;
PCB[i].turnaroundtime=PCB[i].finishtime-PCB[i].arrivetime;
PCB[i].weightedturnaroundtime=PCB[i].turnaroundtime/PCB[i].servicetime;
}
if(times==num-1)
endtime=PCB[i].finishtime;
PCB[i].finish=1;
}
void?print(int?iint?times)
{
if(times==0)
{
printf(“到達時間?服務時間?開始時間?完成時間?周轉時間?帶權周轉時間\n“);
}
printf(“%8d%8d%8d%8d%9.1f%9.2f\n“PCB[i].arrivetimePCB[i].servicetime
PCB[i].starttimePCB[i].finishtimePCB[i].turnaroundtimePCB[i].weightedturnaroundtime);
}
void?check()
{
int?i;
int?statimeendtimesumturtime=0.00sumwtutime=0.00aveturtimeavewtutime;
int?current=0times=0pre=0;
PCB[pre].finishtime=0;
for(i=0;i {
PCB[i].finish=0;
}
statimeendtim

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????7357??2019-11-15?21:38??20173488林慧杰\作業調度.cpp

?????文件?????221249??2019-11-15?21:39??20173488林慧杰\作業調度.exe

?????文件???????8373??2019-12-10?09:53??20173488林慧杰\進程調度.cpp

?????文件?????188486??2019-12-10?09:53??20173488林慧杰\進程調度.exe

?????目錄??????????0??2019-12-10?10:21??20173488林慧杰

-----------?---------??----------?-----??----

???????????????425465????????????????????5


評論

共有 條評論