91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 464KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-12-20
  • 語言: 其他
  • 標簽: 廣工??

資源簡介

代碼加文檔,一共9個實驗 實驗一 進程調(diào)度 實驗二 作業(yè)調(diào)度 實驗三 動態(tài)分區(qū)分配方式的模擬 實驗四 多級反饋調(diào)度隊列調(diào)度算法 實驗五 最低松弛度調(diào)度算法模擬及其應(yīng)用 實驗六 銀行家算法 實驗七 死鎖檢測算法 實驗八 頁面置換算法 實驗九 磁盤調(diào)度算法

資源截圖

代碼片段和文件信息

//?OperatingSystem.cpp?:?定義控制臺應(yīng)用程序的入口點。
//

#include?“stdafx.h“

#include?“stdio.h“
#include?“stdlib.h“?

#define?getpch(type)?(type*)malloc(sizeof(type))

struct?pcb?{?/*?定義進程控制塊PCB?*/
char?name[10];
int?reachTime;?//到達時間
int?ntime;?//需要運行的時間?
int?rtime;?//已用CPU的時間?
char?state;
struct?pcb*?link;
}*ready?=?NULL?*p?*job?=?NULL;?//ready是就緒隊列?p是當(dāng)前運行的進程?job是作業(yè)調(diào)度序列?

typedef?struct?pcb?PCB;

int?restTime(PCB?*pr)?{
return?pr->ntime?-?pr->rtime;
}

void?insertToJob()?{?//對作業(yè)調(diào)度序列中的作業(yè)按到達時間升序排列?
PCB?*first?*second;
int?insert?=?0;
if?((job?==?NULL)?||?(p->reachTime?reachTime))?{?/*到達時間最早者作為隊首*/
p->link?=?job;
job?=?p;
}
else?{?/*?作業(yè)比較到達時間插入適當(dāng)?shù)奈恢弥?/
first?=?job;
second?=?first->link;
while?(second?!=?NULL)?{
if?(p->reachTime?reachTime)?{?/*若插入作業(yè)比當(dāng)前作業(yè)到達時間早*/
/*插入到當(dāng)前進程前面*/
p->link?=?second;
first->link?=?p;
second?=?NULL;
insert?=?1;
}
else?{?/*?插入進程優(yōu)先數(shù)最低則插入到隊尾*/
first?=?first->link;
second?=?second->link;
}
}
if?(insert?==?0)?first->link?=?p;
}
}

void?insertToReady()?{?/*?建立按進程尚需運行時間(需要運行的時間-已用CPU時間)進行排列函數(shù)?把p插進ready*/
PCB?*first?*second;
bool?insert?=?false;
if?((ready?==?NULL)?||?(restTime(p)? p->link?=?ready;
ready?=?p;
}
else?{?/*?進程比較尚需運行時間插入適當(dāng)?shù)奈恢弥?/
first?=?ready;
second?=?first->link;
while?(second?!=?NULL)?{
if?(restTime(p)? insert?=?true;
p->link?=?second;
first->link?=?p;
second?=?NULL;
}
else?{?/*?選擇下一個進程進行比較*/
first?=?first->link;
second?=?second->link;
}
}
if?(!insert)?first->link?=?p;?//插入到隊尾
}
}

void?jobDispatch(int?time)?{?//根據(jù)到達時間把作業(yè)分配PCB?放到進程就緒隊列中?
while?(job?!=?NULL)?{
if?(job->reachTime?==?time)?{?//作業(yè)可以分配PCB?
p?=?job;
job?=?job->link;?//
insertToReady();?//插入進程就緒隊列
}
else?{
break;
}
}
}

int?jobLength()?{
int?len?=?0;
PCB?*pr?=?job;
while?(pr?!=?NULL)?{
len++;
pr?=?pr->link;
}
return?len;
}

void?input()?{?/*?建立進程控制塊函數(shù)*/
int?i?num;
printf(“請輸入進程數(shù):?“);
scanf(“%d“?&num);

char?c;
for?(i?=?0;?i? printf(“\n輸入第%d個進程的信息:\n“?i?+?1);

p?=?getpch(PCB);?//為PCB分配空間
while?((c?=?getchar())?!=?‘\n‘?&&?c?!=?EOF)?{
;
}
printf(“輸入進程名:“);
scanf(“%s“?p->name);

printf(“輸入進程到達時間:“);?//@
scanf(“%d“?&p->reachTime);

printf(“輸入進程運行時間:“);
scanf(“%d“?&p->ntime);
printf(“\n“);

p->rtime?=?0;
p->state?=?‘w‘;
p->link?=?NULL;

insertToJob();?//插入到作業(yè)隊列中?
}
}
int?readyLength()?{?//計算就緒隊列中進程數(shù)?
int?len?=?0;
PCB*?pr?=?ready;
while?(pr?!=?NULL)?{
len++;
pr?=?pr->link;
}
return(len);
}
void?display(PCB?*?pr)?{?/*建立進程顯示函數(shù)用于顯示當(dāng)前進程*/
printf(“%10s%10s%13s%10s%10s\n“?“qname“?“state“?“reachTime“?“needTime“?“runtime“);?//
printf(“%10s“?pr->name);
printf(“%10c“?pr->state);
pr

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件???????4927??2017-12-09?21:02??操作系統(tǒng)實驗\實驗1代碼\ShortestFirst.cpp

?????文件????????219??2017-11-16?22:52??操作系統(tǒng)實驗\實驗1代碼\stdafx.cpp

?????文件????????234??2017-11-16?22:52??操作系統(tǒng)實驗\實驗1代碼\stdafx.h

?????文件????????240??2017-11-16?22:52??操作系統(tǒng)實驗\實驗1代碼\targetver.h

?????文件????????502??2017-11-21?19:28??操作系統(tǒng)實驗\實驗2代碼\jcb.h

?????文件???????6068??2017-11-21?22:30??操作系統(tǒng)實驗\實驗2代碼\JobDispatch.cpp

?????文件????????215??2017-11-20?16:59??操作系統(tǒng)實驗\實驗2代碼\stdafx.cpp

?????文件????????327??2017-11-21?21:52??操作系統(tǒng)實驗\實驗2代碼\stdafx.h

?????文件????????240??2017-11-20?16:59??操作系統(tǒng)實驗\實驗2代碼\targetver.h

?????文件??????11075??2017-11-26?21:05??操作系統(tǒng)實驗\實驗3代碼\DynamicPartition.cpp

?????文件????????360??2017-11-24?20:56??操作系統(tǒng)實驗\實驗3代碼\partition.h

?????文件????????220??2017-11-23?11:40??操作系統(tǒng)實驗\實驗3代碼\stdafx.cpp

?????文件????????331??2017-11-23?22:02??操作系統(tǒng)實驗\實驗3代碼\stdafx.h

?????文件????????240??2017-11-23?11:40??操作系統(tǒng)實驗\實驗3代碼\targetver.h

?????文件????????482??2017-12-09?19:11??操作系統(tǒng)實驗\實驗4代碼\MultiLevedFeedbackQueue.h

?????文件???????5910??2017-12-09?19:49??操作系統(tǒng)實驗\實驗4代碼\MultilevedFeedBackQueueScheduling.cpp

?????文件????????237??2017-12-08?10:05??操作系統(tǒng)實驗\實驗4代碼\stdafx.cpp

?????文件????????438??2017-12-08?10:07??操作系統(tǒng)實驗\實驗4代碼\stdafx.h

?????文件????????240??2017-12-08?10:05??操作系統(tǒng)實驗\實驗4代碼\targetver.h

?????文件???????2875??2017-12-08?09:25??操作系統(tǒng)實驗\實驗5代碼\LLF.cpp

?????文件????????207??2017-12-02?14:21??操作系統(tǒng)實驗\實驗5代碼\stdafx.cpp

?????文件????????363??2017-12-02?15:41??操作系統(tǒng)實驗\實驗5代碼\stdafx.h

?????文件????????240??2017-12-02?14:21??操作系統(tǒng)實驗\實驗5代碼\targetver.h

?????文件????????316??2017-12-02?18:56??操作系統(tǒng)實驗\實驗5代碼\task.h

?????文件???????4981??2017-12-02?14:16??操作系統(tǒng)實驗\實驗6代碼\Banker.cpp

?????文件?????????90??2017-12-01?19:21??操作系統(tǒng)實驗\實驗6代碼\banker.h

?????文件????????210??2017-12-01?18:51??操作系統(tǒng)實驗\實驗6代碼\stdafx.cpp

?????文件????????390??2017-12-01?19:17??操作系統(tǒng)實驗\實驗6代碼\stdafx.h

?????文件????????240??2017-12-01?18:51??操作系統(tǒng)實驗\實驗6代碼\targetver.h

?????文件???????3457??2017-12-02?14:19??操作系統(tǒng)實驗\實驗7代碼\DeadlockDetection.cpp

............此處省略27個文件信息

評論

共有 條評論

相關(guān)資源