91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

進程調(diào)度
時間片輪轉(zhuǎn)與優(yōu)先級
作業(yè)調(diào)度
高響應(yīng)比 短作業(yè) 先到先服務(wù)
進程調(diào)度
時間片輪轉(zhuǎn)與優(yōu)先級
作業(yè)調(diào)度
高響應(yīng)比 短作業(yè) 先到先服務(wù)

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
#include
#define?N?10
///////////////////////////////高響應(yīng)比///////////
typedef?char?string[10];
struct?task
{
int ID; //進程號
string name; ????//進程名
int arrivetime; //到達時間
int servicetime; //服務(wù)時間
int?????waittime; //等待時間
int starttime; //開始運行時間
int finishtime; //結(jié)束運行時間
float turnaroundtime; //周轉(zhuǎn)時間
float weightedturnaroundtime; //帶權(quán)周轉(zhuǎn)時間
int priority; //優(yōu)先權(quán)
int?????finish; //是否已經(jīng)完成
}PCB[10];
int?num;
void?input()
{
int?i;
system(“cls“);
printf(“\n請輸入作業(yè)數(shù)量:“);
scanf(“%d“&num);
for(i=0;i {
printf(“\n請輸入進程%d:\n“i);
printf(“進程名?到達時間?服務(wù)時間\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; //優(yōu)先權(quán)=(等待時間+要求服務(wù)時間)/要求服務(wù)時間
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; //找到第一個還沒完成的作業(yè)
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; //找出到達時間在上一個進程完成之前,優(yōu)先權(quán)高的進程
}
else //如果進程是在上一個進程完成之后到達
{
if(PCB[j].arrivetime current=j; //找出比較早到達的一個
if(PCB[j].arrivetime==PCB[current].arrivetime) //如果同時到達
if(PCB[j].priority>PCB[current].priority)
current=j; //找出服務(wù)時間比較短的一個
}
}
}
return?current; //返回當(dāng)前進程
}
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(“到達時間?服務(wù)時間?開始時間?完成時間?周轉(zhuǎn)時間?帶權(quán)周轉(zhuǎn)時間\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林慧杰\作業(yè)調(diào)度.cpp

?????文件?????221249??2019-11-15?21:39??20173488林慧杰\作業(yè)調(diào)度.exe

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

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

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

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

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


評論

共有 條評論