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

資源簡(jiǎn)介

內(nèi)容描述: (1)設(shè)計(jì)進(jìn)程控制塊PCB表結(jié)構(gòu),分別適用于優(yōu)先權(quán)調(diào)度算法和時(shí)間片輪轉(zhuǎn)調(diào)度算法。 PCB結(jié)構(gòu)中一般包括以下信息:進(jìn)程名、進(jìn)程優(yōu)先數(shù)(或輪轉(zhuǎn)時(shí)間片),進(jìn)程所占用的CPU時(shí)間,進(jìn)程的狀態(tài),當(dāng)前隊(duì)列指針等??梢愿鶕?jù)調(diào)度算法的不同,對(duì)PCB結(jié)構(gòu)作適當(dāng)?shù)脑鰟h。 (2)建立進(jìn)程就緒隊(duì)列。對(duì)兩種不同算法編制入鏈子程序。 (3)編制兩種進(jìn)程調(diào)度算法:允許用戶在程序運(yùn)行時(shí)選擇使用某一種調(diào)度算法。 a)搶占式動(dòng)態(tài)優(yōu)先權(quán)調(diào)度算法; b)時(shí)間片輪轉(zhuǎn)調(diào)度算法。 通過(guò)VC++6.0實(shí)現(xiàn)!

資源截圖

代碼片段和文件信息

#include??
#include??
#include?
#include??
#include?
#include???//控制字符長(zhǎng)度頭文件
using?namespace?std;

#define?TXIANGYING?5?//響應(yīng)時(shí)間為5s
#define?minprio?20???//優(yōu)先權(quán)高低控制標(biāo)準(zhǔn)
#define?ADDPRIO?1????//定義優(yōu)先權(quán)增加幅度
#define?UPDATETIME?2?//定義優(yōu)先權(quán)增加間隔


typedef?struct?node?
{?
??char?name[20];??????//進(jìn)程名字
??int?prio;???????????//進(jìn)程的優(yōu)先級(jí)?
??int?round;??????????//分配CPU的時(shí)間片?
??int?needtime;???????//進(jìn)程執(zhí)行所需要的時(shí)間?
??char?state[8];?????????//進(jìn)程的狀態(tài),Wait——就緒態(tài),Run——執(zhí)行態(tài),F(xiàn)inish——完成態(tài)?
??int?count;??????????//記錄執(zhí)行的次數(shù)
??int?arrive;??????????//到達(dá)時(shí)間
??int?zhouzhuan?;??????//周轉(zhuǎn)時(shí)間
??double?ave_daiquan?;??//帶權(quán)周轉(zhuǎn)時(shí)間
??int?fuwu_time;????????//服務(wù)時(shí)間?
??struct?node?*next;???//鏈表指針

}PCB;?
??????????????????????
???
int?GetFirst(int?sumtime);????????????//從就緒隊(duì)列取得第一個(gè)節(jié)點(diǎn)?
void?Output1();???????????????????????//輸出時(shí)間片輪轉(zhuǎn)隊(duì)列信息
void?Output2(int?sumtime);????????????//輸出優(yōu)先權(quán)調(diào)度隊(duì)列信息?
void?InsertPrio(PCB?*in);?????????????//創(chuàng)建優(yōu)先級(jí)隊(duì)列,規(guī)定優(yōu)先數(shù)越小,優(yōu)先級(jí)越高?
void?InsertRound(PCB?*in);????????????//創(chuàng)建時(shí)間片就緒隊(duì)列?
void?InsertFinish(PCB?*in);???????????//創(chuàng)建完成隊(duì)列
void?PrioCreate();????????????????????//優(yōu)先級(jí)輸入函數(shù)?
void?TimeCreate();????????????????????//時(shí)間片輪轉(zhuǎn)調(diào)度算法——輸入函數(shù)?
void?Priority();??????????????????????//按照優(yōu)先級(jí)調(diào)度?
void?RoundRun();??????????????????????//時(shí)間片輪轉(zhuǎn)調(diào)度?
void?update_priority(int?&add_priority);??????//等待隊(duì)列的優(yōu)先權(quán)更新

PCB?*ready=NULL*run=NULL*finish=NULL;//定義3個(gè)隊(duì)列,就緒隊(duì)列,執(zhí)行隊(duì)列和完成隊(duì)列?

int?main()?
{?
char?choose;
FILE?*fp;
cout<<“*****************歡迎進(jìn)入進(jìn)程管理和調(diào)度的算法模擬*****************\n“< cout<<“*****************************主菜單*****************************“< cout<<“輸入進(jìn)程的調(diào)度方法(請(qǐng)輸入對(duì)應(yīng)數(shù)字):“< cout<<“1.搶占式動(dòng)態(tài)優(yōu)先權(quán)調(diào)度(手工輸入)“< cout<<“2.時(shí)間片輪轉(zhuǎn)調(diào)度(手工輸入)“< cout<<“3.搶占式動(dòng)態(tài)優(yōu)先權(quán)調(diào)度(從文件讀入已設(shè)定的的數(shù)據(jù))“< cout<<“4.時(shí)間片輪轉(zhuǎn)調(diào)度(從文件讀入已設(shè)定的的數(shù)據(jù))“< cout<<“5.退出程序“< cin>>choose;?

switch(choose)?
{?
case?‘1‘:??
PrioCreate();?
Priority();
Output1();????
break;?
case?‘2‘:?
TimeCreate();?
RoundRun();
Output1();?
break;?
case?‘3‘:
fp=freopen(“yxj.txt““r“stdin);//優(yōu)先級(jí)輸入文件
PrioCreate();?
Priority();
Output1();?
fclose(fp);
break;
case?‘4‘:
fp=freopen(“sjp.txt““r“stdin);//時(shí)間片輸入文件
TimeCreate();?
RoundRun();
Output1();
fclose(fp);
break;
case?‘5‘:exit(1);
default:break;?
}


return?0;?
}?

/*
void?GetFirst()??//取得就緒隊(duì)列第一個(gè)節(jié)點(diǎn)
{?
??run?=?ready;?
???
??if(ready!=NULL)?
??{?
????strcpy(run?->state“Run“);?
????ready?=?ready?->next;?
????run?->next?=?NULL;?
??}?
}?
*/
int?GetFirst(int?sumtime)??//取得就緒隊(duì)列第一個(gè)節(jié)點(diǎn)
{
PCB?*fst*temp1*temp2*temp3;

if(ready!=NULL?&&?sumtimearrive)//ready隊(duì)列改變
{
fst=ready;
while(sumtimearrive)//尋找到達(dá)時(shí)間最小的
{
temp1=fst;//記錄符合條件的前面一個(gè)值
fst=fst->next; ??
if(fst==NULL)
{
sumtime++;
Output2(sumtime);
fst=ready;
if?(sumtime>=fst->arrive)//搜索一輪之后,設(shè)置CPU時(shí)間+1,即全部進(jìn)程都等待
{
run=ready;
if(ready!=NULL)?
{?
strcpy(run?->stat

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件???????3401??2010-04-18?00:44??diaodu.dsp

?????文件????????537??2010-04-18?00:44??diaodu.dsw

?????文件??????41984??2010-04-25?00:36??diaodu.ncb

?????文件??????53760??2010-04-25?00:36??diaodu.opt

?????文件???????1162??2010-04-18?00:44??diaodu.plg

?????文件?????????40??2010-04-18?00:44??sjp.txt

?????文件?????????39??2010-04-18?00:44??sjp1.txt

?????文件?????????52??2010-04-18?00:44??yxj.txt

?????文件?????????53??2010-04-18?00:44??yxj1.txt

?????文件?????????55??2010-04-18?00:44??yxj2.txt

?????文件?????548962??2010-04-18?00:44??Debug\diaodu.exe

?????文件?????285808??2010-04-18?00:44??Debug\diaodu.obj

?????文件????1123328??2010-04-18?00:44??Debug\diaodu.pdb

?????文件?????126976??2010-04-18?00:44??Debug\vc60.pdb

?????文件??????11485??2010-04-18?00:44??diaodu.cpp

?????目錄??????????0??2010-04-18?00:44??Debug

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

??????????????2197642????????????????????16


評(píng)論

共有 條評(píng)論

相關(guān)資源