-
大小: 3KB文件類(lèi)型: .cpp金幣: 1下載: 0 次發(fā)布日期: 2021-01-10
- 標(biāo)簽: 優(yōu)先數(shù)??時(shí)間片??調(diào)度??輪轉(zhuǎn)??處理??
資源簡(jiǎn)介
1、設(shè)計(jì)一個(gè)程序?qū)崿F(xiàn)基于優(yōu)先數(shù)的時(shí)間片輪轉(zhuǎn)調(diào)度算法調(diào)度處理器。
2、假定系統(tǒng)有5個(gè)進(jìn)程,每個(gè)進(jìn)程用一個(gè)進(jìn)程控制塊PCB開(kāi)代表
3、每次運(yùn)行所設(shè)計(jì)的處理器調(diào)度程序調(diào)度進(jìn)程之前,為每個(gè)進(jìn)程任意確定它的要求運(yùn)行時(shí)間。
4、此程序是模擬處理器調(diào)度,因此,被選中的進(jìn)程并不實(shí)際啟動(dòng)運(yùn)行,而是執(zhí)行
已運(yùn)行時(shí)間+1
來(lái)模擬進(jìn)程的一次運(yùn)行,表示進(jìn)程已經(jīng)運(yùn)行過(guò)一個(gè)單位時(shí)間。
.5、在所設(shè)計(jì)的程序中應(yīng)有顯示或打印語(yǔ)句,能顯示或打印每次被選中的進(jìn)程名以及運(yùn)行一次后進(jìn)程隊(duì)列的變化。
6、為進(jìn)程任意確定要求運(yùn)行時(shí)間,運(yùn)行所設(shè)計(jì)的處理器調(diào)度程序,顯示或打印逐次被選中進(jìn)程的進(jìn)程名以及進(jìn)程控制塊的動(dòng)態(tài)變化過(guò)程。
7、設(shè)有一個(gè)就
代碼片段和文件信息
#include?
using?namespace?std;
#define?NULL?0
typedef?struct?PCB
{
char?name;
struct?PCB?*next;
double?begin;
double?need;
double?dTime;
int?prio;
char?condition;
}PCB*linkList;
?typedef?struct?Queue
?{
linkList?front;
linkList?rear;
?}queueList;
void?initQueue(queueList?&q)
{
linkList?p;
p?=?(linkList)malloc(sizeof(PCB));
q.front?=?q.rear?=?p;
}
void?creatPCB(linkList?*Waitint?n)
{
cout<<“請(qǐng)輸入進(jìn)程名、優(yōu)先數(shù)、到達(dá)時(shí)間、要求運(yùn)行時(shí)間“< for(int?i?=?0;i? {
cin?>>Wait[i]->name>>Wait[i]->prio>>Wait[i]->begin>>Wait[i]->need;
Wait[i]->condition?=?‘d‘;//表示還未加入就緒隊(duì)列的標(biāo)志
Wait[i]->dTime?=?0;
}
}
int?Comepare(linkList?*Waitint?n)
{
int?flag1?=?1;
for(int?i?=?0;i? {
if(Wait[i]->condition?!=?‘f‘)
{
評(píng)論
共有 條評(píng)論