亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? job.cpp

?? 操作系統分頁存儲管理
?? CPP
字號:
//      實驗二 作業調度
//   單道批處理系統的作業等待模擬程序
//   采用先來先服務(FCFS),最短作業優先(SJF)的作業調度算法
//   Copyright 2008 , by freedomer

#include "stdio.h" 
#include <stdlib.h> 
#include <conio.h> 
#define getjcb(type) (type*)malloc(sizeof(type)) 
#define NULL 0 

struct jcb {					    /*定義作業控制塊JCB */ 
	char name[10];                  /*作業名*/
	char state;                     /*作業狀態*/
	int need_t;                     /*作業需要運行時間*/
	int submit_t;                   /*作業提交時刻*/
	struct jcb* link; 
}*ready=NULL,*p; 

typedef struct jcb JCB; 

int choose;                         /*選擇算法記錄*/

int begin_t=0,                      /*開始運行時刻,設定第一個作業的為0時刻*/
    finish_t;                       /*完成時刻*/
float turnover_t,                   /*周轉時間*/
	  with_t,                       /*帶權時間*/
	  sumturnover_t=0.0,            /*各個作業周轉時間和*/
      sumwith_t=0.0,                /*各個作業帶權時間和*/
	  advturnover_t,                /*平均周轉時間*/
	  advwith_t;                    /*平均帶權時間*/

void sort() {						/*建立作業用某個算法進行排列函數*/ 
	JCB *first, *second; 
	int insert=0; 
	if(choose==1) {                     /*FCFS算法*/
		if((ready==NULL)||((p->submit_t)<(ready->submit_t))) {
										/*提交時間最早者,插入隊首*/  
			p->link=ready; 
			ready=p; 
		} 
		else {                          /*作業比較提交時間,插入適當的位置中*/  
		first=ready; 
		second=first->link; 
		while(second!=NULL) { 
			if((p->submit_t)<(second->submit_t)) {
										/*若插入作業比當前作業提交時間早,*/ 
										/*插入到當前作業前面*/ 
				p->link=second; 
				first->link=p; 
				second=NULL; 
				insert=1; 
			} 
			else {                      /*插入作業提交時間最晚,則插入到隊尾*/ 
				first=first->link; 
				second=second->link; 
			} 
		} 
		if(insert==0) 
			first->link=p; 
		} 
	}
	else if(choose==2) {                /*SJF算法*/
		if((ready==NULL)||((p->need_t)<(ready->need_t))) {
										/*運行時間最少者,插入隊首*/  
			p->link=ready; 
			ready=p; 
		} 
		else {                          /*作業比較運行時間,插入適當的位置中*/  
		first=ready; 
		second=first->link; 
		while(second!=NULL) { 
			if((p->need_t)<(second->need_t)) {
										/*若插入作業比當前作業運行時間更少,*/ 
										/*插入到當前作業前面*/ 
				p->link=second; 
				first->link=p; 
				second=NULL; 
				insert=1; 
			} 
			else {                      /*插入作業運行時間最多,則插入到隊尾*/ 
				first=first->link; 
				second=second->link; 
			} 
		} 
		if(insert==0) 
			first->link=p; 
		} 
	}
} 


void input() {						/*建立初始化作業控制塊函數*/  
	int i,jobnum; 
	printf("\n 請輸入要調度的作業個數?"); 
	scanf("%d",&jobnum); 
	for(i=0;i<jobnum;i++)  { 
		printf("\n 作業號No.%d:\n",i); 
		p=getjcb(JCB); 
		printf("\t 輸入作業名:"); 
		scanf("%s",p->name);  
		printf("\t 輸入作業所需的運行時間:"); 
		scanf("%d",&p->need_t); 
		p->submit_t=i;               /*提交時間根據輸入順序累加1*/
		p->state='w'; 
		p->link=NULL; 
		sort();                      /*調用sort函數*/ 
	} 
} 


int space() {
	int l=0; JCB* pr=ready; 
	while(pr!=NULL) { 
		l++; 
		pr=pr->link; 
	} 
	return(l); 
} 


void disp(JCB * pr) {                 /*建立作業顯示函數,用于顯示當前作業*/ 
	printf("\n qname \t state \t needtime \t submittime \n"); 
	printf("|%s\t",pr->name); 
	printf("|%c\t",pr->state); 	
	printf("|%d\t\t",pr->need_t); 
	printf("|%d:00",pr->submit_t);
	printf("\n"); 
}

 
void check() {                        /*建立作業查看函數 */  
	JCB* pr; 
	printf("\n **** 當前正在運行的作業是:%s",p->name); 
									  /*顯示當前運行作業*/ 
	disp(p); 
	pr=ready; 
	printf("\n ****當前就緒隊列狀態為:\n"); 
	                                  /*顯示就緒隊列狀態*/ 
	while(pr!=NULL) { 
		disp(pr); 
		pr=pr->link; 
	} 
} 


void destroy() {                      /*建立作業撤消函數(作業運行結束,撤消作業)*/ 
	printf("\n 作業 [%s] 已完成.\n",p->name);
	printf("此作業的相關時間如下:\n");
	printf("開始時刻:%d:00\n",begin_t);
	printf("完成時刻:%d:00\n",finish_t);
	printf("周轉時間:%.3f\n",turnover_t);
	printf("帶權周轉時間:%.3f\n",with_t);
	begin_t=begin_t+p->need_t;        /*下個作業的開始時間=前一個作業開始時間+其運行時間*/
	free(p);
	p->link=NULL;
}

 
void running() {                      /*計算在運行的作業的相應的時間,并將它釋放*/  
	finish_t=begin_t+p->need_t; 
	turnover_t=finish_t-p->submit_t;
	with_t=turnover_t/p->need_t;
    sumturnover_t+=turnover_t;
	sumwith_t+=with_t;
	destroy();                        /*調用destroy函數*/ 
	
} 

void main() {                         /*主函數*/ 
	int len,h=0; 
	char ch; 
	printf("\n\n\t1.先來先服務算法(FCFS)\n\n\t2.最短作業優先算法(SJF)\n");
	printf("\n請選擇所需要的算法...\n");
	scanf("%d",&choose);
	if((choose!=1)&&(choose!=2)) {
		printf("選擇錯誤!\n");
		exit;
	}
	else {
		input(); 
		len=space(); 
		while((len!=0)&&(ready!=NULL)) { 
			ch=getchar(); 
			h++; 
			printf("\n The execute number:%d \n",h); 
			p=ready; 
			ready=p->link; 
			p->link=NULL; 
			p->state='R'; 
			check(); 
			running(); 
			printf("\n 按任一鍵繼續......"); 
			ch=getchar(); 
		} 
		printf("\n **所有作業都已經完成.**\n這組作業的相關時間如下:\n");
		advturnover_t=sumturnover_t/len;      /*組平均周轉時間*/
		advwith_t=sumwith_t/len;              /*組帶權平均周轉時間*/
		printf("組平均周轉時間:%.3f\n組帶權平均周轉時間:%.3f\n",advturnover_t,advwith_t);
		ch=getchar(); 
	}
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97国产精品videossex| 秋霞电影网一区二区| 欧美videos大乳护士334| 精品视频123区在线观看| 色综合天天综合网国产成人综合天| 国产成人午夜高潮毛片| 99久久精品免费| 91精品91久久久中77777| 在线观看日韩国产| 欧美三级蜜桃2在线观看| 欧美性极品少妇| 欧美猛男gaygay网站| 欧美欧美欧美欧美| 日韩精品专区在线| 国产精品日日摸夜夜摸av| 亚洲视频在线观看一区| 亚洲电影中文字幕在线观看| 水蜜桃久久夜色精品一区的特点 | 久久嫩草精品久久久久| 久久九九国产精品| 亚洲精品免费电影| 麻豆一区二区99久久久久| 国产精一品亚洲二区在线视频| 成人av电影在线网| 欧美三级三级三级| 久久久亚洲精品石原莉奈| 亚洲视频在线一区观看| 美女一区二区视频| 成人免费看片app下载| 欧美日韩免费一区二区三区视频| 欧美不卡一区二区三区四区| 国产精品传媒入口麻豆| 亚洲欧美激情插| 午夜激情久久久| 床上的激情91.| 日韩视频一区二区| 亚洲精品国产视频| 国产99精品在线观看| 欧美三级视频在线| 中文字幕一区二区三区不卡| 麻豆国产精品一区二区三区| 不卡区在线中文字幕| 日韩视频在线一区二区| 一区二区三区加勒比av| 国产成人免费在线视频| 正在播放亚洲一区| 中文字幕综合网| 国产一区二区主播在线| 欧美精品久久久久久久多人混战| 中文字幕色av一区二区三区| 精品一区二区三区免费观看| 色偷偷成人一区二区三区91| 欧美激情在线看| 国产一区二区伦理| 91精品国产美女浴室洗澡无遮挡| 国产精品拍天天在线| 国产一区二区在线观看免费| 91精品一区二区三区久久久久久| 中文字幕中文字幕中文字幕亚洲无线| 老司机免费视频一区二区| 欧美日韩在线不卡| 亚洲自拍另类综合| 91麻豆精东视频| 18欧美乱大交hd1984| 奇米综合一区二区三区精品视频| 色天使色偷偷av一区二区| 国产精品卡一卡二| 成人小视频免费在线观看| 久久精品一区二区三区四区| 九一九一国产精品| 欧美成人综合网站| 九九九精品视频| 久久美女艺术照精彩视频福利播放| 激情文学综合丁香| 久久众筹精品私拍模特| 国产伦精品一区二区三区免费迷| 精品国产三级a在线观看| 国产一区二区三区四区五区美女| 精品噜噜噜噜久久久久久久久试看| 免费观看一级特黄欧美大片| 精品三级在线看| 国产一区二区久久| 国产精品视频九色porn| 97精品久久久午夜一区二区三区| 亚洲三级免费电影| 欧美嫩在线观看| 国产一区二区看久久| 国产精品美女久久久久aⅴ| 99re成人精品视频| 亚洲bt欧美bt精品777| 欧美一区永久视频免费观看| 久久精品99国产国产精| 国产精品国产三级国产a| 色综合天天综合网天天狠天天| 亚洲欧美欧美一区二区三区| 一本色道亚洲精品aⅴ| 视频一区中文字幕国产| 欧美mv日韩mv国产网站app| 成人午夜av电影| 亚洲不卡在线观看| 精品久久久久久久人人人人传媒 | 26uuuu精品一区二区| 成人免费视频一区| 亚洲精品精品亚洲| 欧美大片在线观看一区二区| 国产成人午夜片在线观看高清观看| 亚洲欧美区自拍先锋| 欧美va亚洲va| 色婷婷亚洲婷婷| 国产在线乱码一区二区三区| 亚洲欧美综合另类在线卡通| 91麻豆免费观看| 韩国av一区二区三区| 亚洲色欲色欲www| 日韩欧美久久久| 欧美在线你懂得| 国产xxx精品视频大全| 亚洲成人一区在线| 国产精品久久久久影院老司| 欧美日韩一区二区在线观看视频| 国产成人精品aa毛片| 五月婷婷色综合| 中文字幕欧美一| 久久理论电影网| 欧美电影免费观看高清完整版在线观看| 成人影视亚洲图片在线| 三级久久三级久久| 亚洲欧美日韩一区| 国产无一区二区| 久久毛片高清国产| 欧美精品一区二区蜜臀亚洲| 色系网站成人免费| 丰满放荡岳乱妇91ww| 久久国产精品免费| 男女性色大片免费观看一区二区| 亚洲欧美一区二区三区极速播放| 亚洲精品一区二区三区福利| 欧美日韩午夜在线| 日本韩国一区二区| 不卡的电影网站| 粉嫩13p一区二区三区| 激情综合亚洲精品| 国产综合久久久久久鬼色| 免费一级欧美片在线观看| 一区二区三区成人| 亚洲综合一区在线| 一级特黄大欧美久久久| 亚洲精品网站在线观看| 亚洲同性同志一二三专区| 亚洲欧洲性图库| 亚洲欧洲无码一区二区三区| 1024亚洲合集| 亚洲精品国产一区二区三区四区在线| 国产日韩亚洲欧美综合| 国产片一区二区三区| 国产午夜一区二区三区| 国产精品网友自拍| 亚洲视频精选在线| 午夜久久电影网| 久久不见久久见免费视频1| 激情图区综合网| 国产69精品久久久久毛片| 成人午夜视频网站| 99国产欧美久久久精品| 欧美怡红院视频| 欧美一区二区三区在线视频| 日韩免费在线观看| 欧美激情在线一区二区三区| 国产精品卡一卡二卡三| 亚洲精品国产第一综合99久久| 亚洲图片欧美色图| 老司机精品视频一区二区三区| 国产一区二区三区电影在线观看 | 波多野结衣亚洲一区| 91在线porny国产在线看| 欧美色男人天堂| 久久久亚洲欧洲日产国码αv| 国产欧美日本一区二区三区| 1024成人网| 麻豆成人91精品二区三区| 丁香激情综合五月| 欧美男生操女生| 国产精品国产精品国产专区不蜜| 亚洲综合图片区| 国产精品亚洲一区二区三区在线 | 91片黄在线观看| 日韩一区国产二区欧美三区| 欧美国产视频在线| 午夜影院久久久| 成人v精品蜜桃久久一区| 欧美综合在线视频| 久久中文字幕电影| 午夜私人影院久久久久| 豆国产96在线|亚洲| 91精品婷婷国产综合久久竹菊| 日本一区二区在线不卡| 日日骚欧美日韩| 色综合天天综合色综合av | 51午夜精品国产| 国产精品久久久久aaaa|