-
大小: 829KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-05-22
- 語(yǔ)言: 其他
- 標(biāo)簽: 廣工??操作系統(tǒng)??實(shí)驗(yàn)??報(bào)告??代碼??
資源簡(jiǎn)介
包含作業(yè)調(diào)度,存儲(chǔ)調(diào)度,進(jìn)程調(diào)度,含有實(shí)驗(yàn)報(bào)告

代碼片段和文件信息
#include
#include
#include
typedef?struct?pcb{
????char?name[10];//進(jìn)程名
????int?time;?//進(jìn)程的總時(shí)間?
????int?runtime;//進(jìn)程已經(jīng)占用的cpu時(shí)間
????int?needtime;//進(jìn)程還需要的時(shí)間
????char?state;//進(jìn)程運(yùn)行狀態(tài):w(wait)?or?r(runing)
????struct?pcb?*next;
}pcb*PCB;
typedef?struct?queue{
char?name[10];
int?timeSlice;??//時(shí)間片的大小?
PCB?mPcb;
struct?queue?*next;
}queue?*QUEUE;
QUEUE?queueHead?=?NULL;
PCB?pcbHead?=?NULL;
PCB?pcbTail?=?NULL;
PCB?pcbHead_2?=?NULL;
PCB?pcbTail_2?=?NULL;
bool?isFinish?=?false;
char?finishName[10]?=?{};
/**
* 創(chuàng)建好隊(duì)列?
*/
void?createQueue(){
int?mn;??//就緒隊(duì)列數(shù)?
QUEUE?q;
printf(“請(qǐng)輸入就緒隊(duì)列數(shù):?“);
scanf(“%d“?&m);
n?=?m;??//記錄m的值?
if(m!=0){
queueHead?=?(QUEUE)malloc(sizeof(queue));
queueHead->next?=?NULL;
q?=?queueHead;
}
m?=?m-1;
while(m>0){
q->next?=?(QUEUE)malloc(sizeof(queue));
q?=?q->next;
q->next?=?NULL;
m--;
}
q?=?queueHead;
for(int?i=1;i<=n;i++){
printf(“請(qǐng)輸入隊(duì)列%d的名字:“?i);
scanf(“%s“?&q->name);
printf(“請(qǐng)輸入隊(duì)列%d的時(shí)間片大?。骸?i);
scanf(“%d“?&q->timeSlice);
q->mPcb?=?NULL;
if(i!=n){
???????? q?=?q->next;
????????}else{
???????? q->next?=?NULL;
????????}
}
}
/**
* 創(chuàng)建進(jìn)程加入就緒隊(duì)列的第一個(gè)隊(duì)列?
*/
void?createProcessInQueue(QUEUE?queueHead){
int?m?n;
PCB?p;
printf(“請(qǐng)輸入要?jiǎng)?chuàng)建的進(jìn)程數(shù):“);
scanf(“%d“?&m);
n?=?m;
if(m!=0){
pcbHead?=?pcbTail?=?(PCB)malloc(sizeof(pcb));
pcbHead->next?=?NULL;
p?=?pcbHead;
}
m--;
while(m>0){
p->next?=?(PCB)malloc(sizeof(pcb));
p?=?p->next;
pcbTail?=?p;
p->next?=?NULL;
m--;
}
p?=?pcbHead;
for(int?i=1;i<=n;i++){
printf(“請(qǐng)輸入進(jìn)程%d的名字:“?i);
scanf(“%s“?&p->name);
printf(“輸入進(jìn)程%d的總時(shí)間:“i);
????????scanf(“%d“&p->time);
????????p->runtime?=?0;
????????p->needtime?=?p->time;
????????p->state?=?‘w‘;
????????if(i!=n){
???????? p?=?p->next;
????????}else{
???????? p->next?=?NULL;
????????}
}
queueHead->mPcb?=?pcbHead;
}
/**
* 打印一隊(duì)列里面的進(jìn)程?
*/
void?printProcessInQueue(PCB?mPcb){
PCB?p1?=?mPcb;
printf(“進(jìn)程名??進(jìn)程總時(shí)間??進(jìn)程已經(jīng)運(yùn)行的時(shí)間??進(jìn)程還需要的時(shí)間??進(jìn)程狀態(tài)\n“);
while(p1!=NULL){
printf(“%s????????“?p1->name);
printf(“%d????????????????“?p1->time);
printf(“%d????????????????“?p1->runtime);
printf(“%d?? ??????????“?p1->needtime);
printf(“%c? ?????? ??“?p1->state);
printf(“\n“);
if(p1->next==NULL){
p1?=?NULL;
}else{
p1?=?p1->next;
}
}
}
/**
* 打印各個(gè)隊(duì)列的進(jìn)程列表?
*/
void?printQueue(){
QUEUE?mQ?=?queueHead;
while(mQ!=NULL){
printf(“???????????%s隊(duì)列里面的進(jìn)程狀態(tài)如下(時(shí)間片大小是?%d):\n“?mQ->name?mQ->timeSlice);
printf(“--------------------------------------------------------------------\n“);
if(mQ->mPcb!=NULL){
printProcessInQueue(mQ->mPcb);
}
printf(“--------------------------------------------------------------------\n“);
printf(“\n“);
mQ?=?mQ->next;
}
if(isFinish==true){
printf(“??????????????????????%s?進(jìn)程已經(jīng)運(yùn)行完畢“?finishName);
isFinish?=?false;
strcpy(finishName?““);
}
getch
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????..A.SH.???????162??2015-12-29?22:34??實(shí)驗(yàn)\~$實(shí)驗(yàn)報(bào)告.docx
?????文件???????6928??2016-01-02?01:57??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\多級(jí)反饋隊(duì)列?程序&源碼\MultilevedFeedBackQueue.cpp
?????文件???????8192??2016-01-02?01:57??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\多級(jí)反饋隊(duì)列?程序&源碼\MultilevedFeedbackQueue.exe
?????文件???????5405??2016-01-02?01:57??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\多級(jí)反饋隊(duì)列?程序&源碼\MultilevedFeedbackQueue.o
?????文件???????2948??2015-12-29?23:14??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\最高優(yōu)先數(shù)優(yōu)先?程序&源碼\FirstAtHighestPriority.cpp
?????文件??????25845??2015-12-29?23:16??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\最高優(yōu)先數(shù)優(yōu)先?程序&源碼\FirstAtHighestPriority.exe
?????文件??????11004??2015-12-29?23:16??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\最高優(yōu)先數(shù)優(yōu)先?程序&源碼\FirstAtHighestPriority.o
?????文件???????2318??2016-01-02?03:21??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\輪轉(zhuǎn)法?程序&源碼\RoundRobin.cpp
?????文件???????6656??2016-01-02?03:21??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\輪轉(zhuǎn)法?程序&源碼\RoundRobin.exe
?????文件???????2616??2016-01-02?03:21??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\輪轉(zhuǎn)法?程序&源碼\RoundRobin.o
?????文件???????6486??2016-01-06?21:45??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\動(dòng)態(tài)分區(qū)分配\DynamicPartition.cpp
?????文件??????29645??2016-01-06?21:45??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\動(dòng)態(tài)分區(qū)分配\DynamicPartition.exe
?????文件??????14952??2016-01-06?21:45??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\動(dòng)態(tài)分區(qū)分配\DynamicPartition.o
?????文件???????3451??2016-01-07?00:10??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\固定分區(qū)分配\FixationPartition.cpp
?????文件???????7168??2016-01-07?00:10??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\固定分區(qū)分配\FixationPartition.exe
?????文件???????3087??2016-01-07?00:10??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\固定分區(qū)分配\FixationPartition.o
?????文件???????6387??2016-01-05?01:45??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\單道作業(yè)調(diào)度\JobOfSingleprogramming.cpp
?????文件??????28971??2016-01-05?01:45??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\單道作業(yè)調(diào)度\JobOfSingleprogramming.exe
?????文件??????14033??2016-01-05?01:45??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\單道作業(yè)調(diào)度\JobOfSingleprogramming.o
?????文件???????5006??2016-01-05?22:54??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\多道作業(yè)調(diào)度\JobOfMultiprogramming.cpp
?????文件???????7168??2016-01-05?22:54??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\多道作業(yè)調(diào)度\JobOfMultiprogramming.exe
?????文件???????3162??2016-01-05?22:54??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\多道作業(yè)調(diào)度\JobOfMultiprogramming.o
?????文件?????891724??2016-01-07?00:24??實(shí)驗(yàn)\實(shí)驗(yàn)報(bào)告.docx
?????目錄??????????0??2016-01-07?09:00??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\多級(jí)反饋隊(duì)列?程序&源碼
?????目錄??????????0??2016-01-07?09:00??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\最高優(yōu)先數(shù)優(yōu)先?程序&源碼
?????目錄??????????0??2016-01-07?09:00??實(shí)驗(yàn)\實(shí)驗(yàn)一:進(jìn)程調(diào)度\輪轉(zhuǎn)法?程序&源碼
?????目錄??????????0??2016-01-07?09:00??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\動(dòng)態(tài)分區(qū)分配
?????目錄??????????0??2016-01-07?09:00??實(shí)驗(yàn)\實(shí)驗(yàn)三:存儲(chǔ)管理\固定分區(qū)分配
?????目錄??????????0??2016-01-07?09:00??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\單道作業(yè)調(diào)度
?????目錄??????????0??2016-01-07?09:00??實(shí)驗(yàn)\實(shí)驗(yàn)二:作業(yè)調(diào)度\多道作業(yè)調(diào)度
............此處省略7個(gè)文件信息
評(píng)論
共有 條評(píng)論