資源簡介
FCFS HRN SJF 多級反饋隊列 時間片輪轉 首次適應算法 最高優先數 最壞適應算法 最佳適應算法 九個算法的代碼及可執行文件,包括實驗報告

代碼片段和文件信息
#include?
#include?
#include?
#define?getpch(type)?(type*)malloc(sizeof(type))
//#define?NULL?0
struct?jcb?{?/*?定義作業控制塊JCB?*/
int?jnum;??????//作業號
char?jname[10];???//作業名
char?state;??????//作業狀態
int?atime;??//作業提交時間
int?ntime;????//作業需運行時間
int?stime;???//作業開始執行時間
int?ftime;?//作業完成時間
int?ctime;???//作業周轉時間
float?wtime;//作業帶權周轉時間
struct?jcb*?next;//下個節點的指針
}*p;
typedef?struct?jcb?JCB;
jcb?*ready=NULL*rear=NULL;??//未完成作業隊列
jcb?*finish=NULL*frear=NULL;??//完成作業隊列
int?t=0;????????//cpu時間計數器用于顯示cpu當前時刻
void?insert()
{
??if(ready==NULL)
??{
??ready=p;
??rear=ready;
??}
??else
??{
rear->next=p;
rear=p;
??}
}
int?getident()//讓用戶只能輸入正整數
{
char?ch;
int?i?=?0;
fflush(stdin);
ch?=?getchar();
while(ch?==?‘\n‘){
printf(“\tf輸入不能為空..請重新輸入\n“);
fflush(stdin);
ch?=?getchar();
}
while(ch?!=?‘\n‘){
if(ch?>?‘9‘?||?ch?‘0‘){
printf(“\t輸入有誤!!輸入只能為正整數,請重新輸入...\n“);
fflush(stdin);
i?=?0;
ch?=?getchar();
}else{
i?=??i*10?+?(ch-‘0‘);
ch?=?getchar();
}
}
return?i;
}
void?input()?/*?建立作業控制塊輸入函數*/?
{?
??int?inum;?
??printf(“\n?請輸入作業總個數:“);?
??num=getident();
??for(i=1;i<=num;i++)?
??{?
p=getpch(JCB);
????printf(“\n?請輸入作業號“);
p->jnum=getident();
????printf(“\n?輸入作業名:“);?
????scanf(“%s“p->jname);?
printf(“\n?輸入作業提交時間:“);
p->atime=getident();
????printf(“\n?輸入作業需運行時間:“);?
????p->ntime=getident();?
????printf(“\n“);?
p->stime=0;??//作業開始時間默認為0
????p->ftime=0;??//作業完成時間默認為0
p->ctime=0;?????//作業周轉時間默認為0
p->wtime=0;??????//作業帶權周轉時間默認為0
????p->state=‘w‘;??//狀態默認為等待態
????p->next=NULL;?
????insert();????/*?調用insert函數*/?
??}?
}?
int?count()??//用于計算JCB個數
{?
??int?l=0;?
??JCB*?pr=ready;?
??while(pr!=NULL)?
??{?
????l++;?
????pr=pr->next;?
??}?
??return(l);?
}
void?disp(JCB?*pr)?/*建立作業顯示函數用于顯示當前作業*/?
{?
??printf(“\njnum?\t?jname?\t?state?\t?atime?\t?ntime?\t?stime?\t?ftime?\t?ctime?\t?wtime?\n“);?
??printf(“?%d\t?%s\t?%c\t?%d\t?%d\t?%d\t?%d\t?%d\t?%f\t\n“pr->jnumpr->jname
???????pr->statepr->atimepr->ntimepr->stimepr->ftimepr->ctimepr->wtime);?
}?
void?check()?/*?建立作業查看函數?*/?
{?
??JCB*?pr;?
??pr=p;
??if(pr!=NULL)
??{
???printf(“\n當前正在運行的作業是:%s“pr->jname);?/*顯示當前運行作業*/?
???disp(pr);
??} ??
??pr=ready;?
??printf(“\n當前就緒隊列狀態為:\n“);?/*顯示就緒隊列狀態*/?
??while(pr!=NULL)?
??{?
????disp(pr);?
????pr=pr->next;?
??}
??pr=finish;
??printf(“\n當前完成隊列狀態為:\n“);?/*顯示完成隊列狀態*/
??while(pr!=NULL)?
??{?
????disp(pr);?
????pr=pr->next;?
??}
}?
void?finsert()?/*建立作業完成插入函數*/?
{?
??printf(“\n?作業?[%s]?已完成.\n“p->jname);?
??if(finish==NULL)
??{
????finish=p;
????frear=finish;
??}
??else
??{
frear->next=p;
frear=p;
??}
??p=NULL;
}?
void?running()?//建立作業就緒函數作業運行時間到更改狀態?
{?
??if(p->atime>=t)
??{
??p->stime=p->atime;
??t=(p->stime)+(p->ntime);
??p->ftime=t;
??}
??else
??{
????p->stime=t;
t+=p->ntime;
p->ftime=t;
??}
??p->ctime=t-(p->atime);
??p->wtime=(float)(p
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????1798656??2015-01-15?19:42??3212005944林翠麗\操作系統實驗報告.doc
?????文件???????4545??2015-01-14?03:07??3212005944林翠麗\FCFS.cpp
?????文件??????94540??2015-01-14?03:07??3212005944林翠麗\FCFS.exe
?????文件???????6430??2015-01-14?03:14??3212005944林翠麗\HRN.cpp
?????文件??????95162??2015-01-14?03:14??3212005944林翠麗\HRN.exe
?????文件???????5705??2015-01-14?03:11??3212005944林翠麗\SJF.cpp
?????文件??????94559??2015-01-14?03:11??3212005944林翠麗\SJF.exe
?????文件???????3906??2015-01-14?02:25??3212005944林翠麗\多級反饋隊列.cpp
?????文件??????93415??2015-01-14?02:25??3212005944林翠麗\多級反饋隊列.exe
?????文件???????4012??2015-01-14?01:38??3212005944林翠麗\時間片輪轉.cpp
?????文件??????93047??2015-01-14?01:38??3212005944林翠麗\時間片輪轉.exe
?????文件???????7336??2015-01-14?03:42??3212005944林翠麗\最佳適應算法.cpp
?????文件??????94653??2015-01-14?03:42??3212005944林翠麗\最佳適應算法.exe
?????文件???????7334??2015-01-14?03:45??3212005944林翠麗\最壞適應算法.cpp
?????文件??????94653??2015-01-14?03:45??3212005944林翠麗\最壞適應算法.exe
?????文件???????5882??2015-01-14?01:44??3212005944林翠麗\最高優先數.cpp
?????文件??????94270??2015-01-14?01:44??3212005944林翠麗\最高優先數.exe
?????文件???????6664??2015-01-14?03:48??3212005944林翠麗\首次適應算法.cpp
?????文件??????94095??2015-01-14?03:48??3212005944林翠麗\首次適應算法.exe
?????目錄??????????0??2015-01-14?04:46??3212005944林翠麗
-----------?---------??----------?-----??----
??????????????2698864????????????????????20
- 上一篇:運籌學教程第四版胡運權.pdf
- 下一篇:labview can 通訊
評論
共有 條評論