資源簡(jiǎn)介
調(diào)度的實(shí)質(zhì)是操作系統(tǒng)按照某種特定的分配策略來分配資源。進(jìn)程調(diào)度的目的是分配
CPU 資源。

代碼片段和文件信息
//?diaodu.cpp?:?Defines?the?entry?point?for?the?console?application.
//
//#include?“stdafx.h“
#include?“conio.h“
#include?“iostream.h“
#include?“fstream.h“
//--------------------------------------------------------------------------
#define?KEY_EXIT?‘-‘
typedef?struct{
char?ch;
char??*label;
void??(*pfunc)();
}MenuItemDef;
void?clearscr(){cout<<“\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n“;}
int??waitakey(){return?getch();}
class?MenuDef{
public:
????int???nCount;
????MenuItemDef?menu[24];
public:
????MenuDef(){nCount=0;}
public:
????void?display()
????{??
for?(int?i=0;i cout<<“???????“< cout<<“???????“< ????}
????void?run()
????{???int?ch;
do??{
clearscr();
display();
ch=waitakey();
for?(int?i=0;i if?(menu[i].ch==ch)
menu[i].pfunc();
}while?(ch!=KEY_EXIT);
????}
????void?add(char?ch0char?*plabelvoid?(*func)())
{???menu[nCount].ch=ch0;
menu[nCount].label=plabel;
menu[nCount].pfunc=func;
nCount++;
}
};
class?PCB{
public:
PCB()?{?SetNull();}
public:
enum?{kReady=0kRun=1kWait=2kNew=3kTerm=4kDone=5};
????char?name[8];
????int??tmCPU; //需要cpu執(zhí)行時(shí)間
????int??priority; //優(yōu)先權(quán)?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????
????int??tmArrive; //進(jìn)程預(yù)計(jì)到達(dá)就緒隊(duì)列時(shí)間
????int??tmEnd; //進(jìn)程執(zhí)行結(jié)束時(shí)間
????int??tmSum; //進(jìn)程已經(jīng)執(zhí)行時(shí)間
????int??nStatus; //進(jìn)程狀態(tài)
????int??nPointer; //進(jìn)程隊(duì)列指針
public:
????int??IsBlank(){?return?name[0]==‘\0‘;}
????int??IsFinish(){?return?tmSum==tmCPU;}
????void?Run(){tmSum++;}
????void?SetNull()
????{name[0]=‘\0‘;tmCPU=tmArrive=tmEnd=tmSum=priority=0;nPointer=-1;nStatus=-1;}
????double??T(){return?(double)(tmEnd-tmArrive);}
????double?Ti(){return?(double)((tmEnd-tmArrive)*1.0/tmCPU);}
public:
public:
????friend?istream&?operator>>(istream&?streamPCB&b)
????{
stream>>b.name>>b.tmArrive>>b.tmCPU>>b.priority>>b.nPointer>>b.nStatus;
return?stream;
}
????friend?ostream&?operator<<(ostream&?streamPCB&b)
????{???
stream< return?stream;
}
};
class?Kernel{
public:
????Kernel(){SetNull();}
public:
enum?{?kFCFS=0kPrioritykRR};?????????????//調(diào)度算法ID定義
int?tmClick;???????????????????????????????//時(shí)鐘
int?bGrab;?????????????????????????????????//是否允許搶占CPU,0:否???1:是
int?nAlgID;????????????????????????????????//調(diào)度算法ID
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件???????4116??2008-12-11?19:19??算法\銀行家算法\wyf.cpp
?????文件???????3365??2008-12-11?17:48??算法\銀行家算法\wyf.dsp
?????文件????????531??2008-12-11?19:24??算法\銀行家算法\wyf.dsw
?????文件??????41984??2008-12-11?20:54??算法\銀行家算法\wyf.ncb
?????文件??????48640??2008-12-11?20:54??算法\銀行家算法\wyf.opt
?????文件????????240??2008-12-11?20:41??算法\銀行家算法\wyf.plg
?????文件??????77824??2008-12-11?20:37??算法\銀行家算法\Debug\vc60.pdb
?????文件?????168022??2008-12-11?20:40??算法\銀行家算法\Debug\wyf.exe
?????文件??????23990??2008-12-11?20:37??算法\銀行家算法\Debug\wyf.obj
?????文件?????435200??2008-12-11?20:40??算法\銀行家算法\Debug\wyf.pdb
?????文件??????????5??2008-12-10?22:40??算法\進(jìn)程調(diào)度算法\1234
?????文件????????254??2008-12-10?14:36??算法\進(jìn)程調(diào)度算法\in.txt
?????文件??????10819??2008-12-10?18:01??算法\進(jìn)程調(diào)度算法\新建?文本文檔.txt
?????文件??????10821??2008-12-10?22:00??算法\進(jìn)程調(diào)度算法\進(jìn)程調(diào)度算法.cpp
?????文件???????3475??2008-12-10?22:00??算法\進(jìn)程調(diào)度算法\進(jìn)程調(diào)度算法.dsp
?????文件????????549??2008-12-10?22:04??算法\進(jìn)程調(diào)度算法\進(jìn)程調(diào)度算法.dsw
?????文件??????58368??2008-12-11?22:19??算法\進(jìn)程調(diào)度算法\進(jìn)程調(diào)度算法.ncb
?????文件??????48640??2008-12-11?22:19??算法\進(jìn)程調(diào)度算法\進(jìn)程調(diào)度算法.opt
?????文件????????258??2008-12-11?22:16??算法\進(jìn)程調(diào)度算法\進(jìn)程調(diào)度算法.plg
?????文件??????69632??2008-12-11?15:34??算法\進(jìn)程調(diào)度算法\Debug\vc60.pdb
?????文件?????237665??2008-12-11?21:39??算法\進(jìn)程調(diào)度算法\Debug\進(jìn)程調(diào)度算法.exe
?????文件??????50382??2008-12-11?21:38??算法\進(jìn)程調(diào)度算法\Debug\進(jìn)程調(diào)度算法.obj
?????文件?????476160??2008-12-11?15:34??算法\進(jìn)程調(diào)度算法\Debug\進(jìn)程調(diào)度算法.pdb
?????文件?????164352??2010-05-12?15:32??算法\1.進(jìn)程調(diào)度算法.doc
?????文件?????143872??2010-05-12?15:32??算法\2.銀行家算法.doc
?????目錄??????????0??2009-06-01?23:59??算法\銀行家算法\Debug
?????目錄??????????0??2009-06-01?23:59??算法\進(jìn)程調(diào)度算法\Debug
?????目錄??????????0??2009-06-01?23:59??算法\銀行家算法
?????目錄??????????0??2009-06-01?23:59??算法\進(jìn)程調(diào)度算法
?????目錄??????????0??2009-06-01?23:59??算法
............此處省略3個(gè)文件信息
- 上一篇:清華的同學(xué)寫的GRE math sub攻略
- 下一篇:座次管理小程序
評(píng)論
共有 條評(píng)論