-
大小: 8KB文件類型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-10
- 標簽: 操作系統(tǒng)??
資源簡介
操作系統(tǒng)實驗,搶占式短作業(yè)優(yōu)先算法,結(jié)合內(nèi)存管理,實現(xiàn)進程調(diào)度
代碼片段和文件信息
#include
#include
using?namespace?std;
struct?PCB
{
string?name;//進程名
int?ta;//進程到達時間
int?tb;//進程開始運行時間
int?tm;//進程需運行的時間
int?prioriry;
int?rn;//進程運行的次數(shù)
PCB?*next;//定義指向下一個進程的指針
int?start;//內(nèi)存起址
int?memory;//占用內(nèi)存?
int?allocation;//是否已分配內(nèi)存?
};
struct?Memory{
int?length;??//表項的內(nèi)存大小
int?start;???//起址
int?state;???//是否分配
Memory?*next;//指向下一個表項的指針
};
int?channels;?????//規(guī)定道數(shù)?
string?pname[100];//保存進程調(diào)度隊列
int?pronum;//定義進程數(shù)為pronum
Memory?*Mhead=NULL;
PCB?*create(PCB?*head);//創(chuàng)建進程隊列
Memory?*crea();//創(chuàng)建進程表項?
void?del(PCB?*p);//刪除p的下一個節(jié)點
void?remove(Memory?*p);//刪除p的下一個節(jié)點?
void?add(Memory?*sMemory?*p);//在p之后插入s節(jié)點?
void?sort(PCB?*head);//將進程按到達的先后順序排列
int?getNumber(PCB?*headint?time);//察看在time之前到達的進程數(shù)量
PCB?*Select(PCB?*headint?cou
- 上一篇:進程管理系統(tǒng)
- 下一篇:C語言實現(xiàn)socket通信
評論
共有 條評論