日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

处理机调度实验c语言,操作系统实验处理机调度C语言实现

發布時間:2025/4/5 windows 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 处理机调度实验c语言,操作系统实验处理机调度C语言实现 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

操作系統實驗處理機調度C語言實現

下載提示(請認真閱讀)1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內容而直接下載帶來的問題本站不予受理。

2.下載的文檔,不會出現我們的網址水印。

3、該文檔所得收入(下載+內容+預覽)歸上傳者、原創作者;如果您是本文檔原作者,請點此認領!既往收益都歸您。

文檔包含非法信息?點此舉報后獲取現金獎勵!

下載文檔到電腦,查找使用更方便

20

積分

還剩頁未讀,繼續閱讀

關?鍵?詞:操作系統

實驗

處理機

調度

語言

實現

資源描述:

#include#include#include #include#define N 20

#define MAX 100

typedef struct PCB //pcb進程控制塊定義

{

int num[N]; //進程序號

char name[10]; //進程名

char state; //進程狀態

int tijiaotime; //進程到達時間

int runtime; //進程開始時間

int finishtime; //進程結束時間

int needtime; //服務時間

int pro;//進程優先級

struct PCB *next; //鏈接指針 指向下個作業的

}pcb;

struct PCB *head_input;

struct PCB *head_run;

struct PCB *head_run_pre;

unsigned long current; //記錄系統當前時間的變量

int time=10000,n; //計時器

pcb *head=NULL,*p,*q;

void getInfo() //創建進程

{

int num;

printf("\n請輸入要建立的進程個數:");

scanf("%d",&n);

for(num=0;numnum,&p->name,&p->tijiaotime,&p->needtime);

if(p->tijiaotime < time) time=p->tijiaotime;

q->next=p;

p->runtime=0;

p->finishtime=0;

p->next=NULL;

p->state=W;

q=p;

}

}

// *********************1.先來先服務調度算法*******************************

void run_fcfo(pcb *p1)//定義先來先到服務的算法

{

time = p1->tijiaotime > time? p1->tijiaotime:time;

p1->runtime=time;

printf("\n現在時間是%d,開始運行進程%s\n",time,p1->name);

time+=p1->needtime;

p1->state=F;

p1->finishtime=time;

printf("進程名 開始時間 所需時間 結束時間\n");

printf("%s %d %d %d ",p1->name,p1->runtime,p1->needtime,p1->finishtime);

}

void fcfo()//定義運行進程函數

{

int i,j,t;

for(j=0;jtijiaotimestate==W)

{

t=p->tijiaotime;

q=p; //標記當前未完成的進程

}

p=p->next;

}

run_fcfo(q);

}

}

// ************************2.優先級調度服務算法************************************

int readydata()

{ //建立就緒隊列

if(head_input->next==NULL)

{

return 0;

}

struct PCB *p1=head_input->next,*pmax,*p2;

int maxpro=0xffff;

pmax=p1;

p2=head_input;

while(p1!=NULL)

{

if(p1->propro;

head_run_pre=p2;

pmax=p1;

}

p2=p1;

p1=p1->next;

}

head_run=pmax;

head_run_pre->next=head_run->next;

return 1;

}

void runprocess() //運行進程函數

{

head_run->runtime-=10;

head_run->pro++;

struct PCB *p1,*p2;

printf("時間片的大小 %d",current);

current+=10;

printf(" %s 開始\n",head_run->name);

printf("時間片的大小 %d",current);

printf(" %s 結束\n",head_run->name);

if(head_run->runtime<=0)

{//判斷進程是否運行結束

}

else

{

p1=head_input;

p2=head_input->next;

p1->next=head_run;

head_run->next=p2;

}

}

int readyprocess()

{

while(1)

{

if(readydata()==0)

return 0;

else runprocess();

}

}

void Init()

{

head_input=new PCB;

head_input->next=NULL;

current=0;

int numpro;

printf("請重新輸入要建立的進程個數:");

scanf("%d",&numpro);

printf("請依次輸入 進程名 運行時間 優先級\n");

for(int i=0;iname);

scanf("%d",&p1->runtime);

scanf("%d",&p1->pro);

p1->state=C;

p1->next=NULL;

struct PCB *p2=head_input->next;

head_input->next=p1;

p1->next=p2;

}

}

// ************************3.時間片輪轉調度服務算法************************************

void shijianpian()

{int b,i,X,t,k;

int a[MAX];//存放進程的剩余時間

int cnt[MAX];//存放進程調度次數

printf("請輸入進程數:");

scanf("%d",&X);

printf("\n請輸入時間片t大小:");

scanf("%d",&t);

printf("\n請依次輸入各個進程的服務時間");

for(i=0;i=t)

{

a[i]-=t;

b+=t;

cnt[i]=cnt[i]+1;

printf("\n\t%d\t\t%d\t\t%d\t\t%d",i+1,cnt[i],b,a[i]);

}

else

{

b=b+a[i];

cnt[i]=cnt[i]+1;

a[i]=0;

printf("\n\t%d\t\t%d\t\t%d\t\t%d",i+1,cnt[i],b,a[i]);

}

else continue;

}

for(i=0;i=X)

k=0;

}

}

void main()

{

printf(" *******************************");

printf("\n 1. 按先來先到服務調度的算法模擬\n");

printf(" *******************************");

getInfo();

fcfo();

printf("\n *******************************");

printf("\n 2. 按優先級調度的算法模擬\n");

printf("\n *******************************\n");

Init();

readyprocess();

printf("\n *******************************");

printf("\n 3. 按時間片輪轉調度的算法模擬\n");

printf(" *******************************\n");

shijianpian();

printf(" \n");

}

展開閱讀全文

溫馨提示:

1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。

2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。

3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。

4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。

5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。

6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。

7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

?

人人文庫網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。

關于本文

本文標題:操作系統實驗處理機調度C語言實現

鏈接地址:https://www.renrendoc.com/p-79168893.html

總結

以上是生活随笔為你收集整理的处理机调度实验c语言,操作系统实验处理机调度C语言实现的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 2018自拍偷拍 | 久久五月视频 | 国产一二区在线观看 | 色综合中文综合网 | 久草视频手机在线观看 | 女性喷水视频 | 日本成人免费 | 一本一道久久 | 东京热无码av一区二区 | 久久裸体视频 | 国产福利短视频 | 伦一理一级一a一片 | 亚洲性事 | 在线国产视频 | 男人av影院 | 欧美国产三级 | 午夜宅男在线 | 一二三毛片 | 乱人伦xxxx国语对白 | 国产喷水在线 | 日本亚洲欧洲色 | 亚洲蜜桃精久久久久久久久久久久 | 蜜桃视频在线观看污 | 天天爽天天搞 | 大陆女明星乱淫合集 | 蜜桃视频久久一区免费观看入口 | 不卡av免费在线观看 | 国产精品中文字幕在线 | а√天堂资源官网在线资源 | 久久无吗视频 | 99热这里只有精品9 日韩综合在线 | 无码av免费毛片一区二区 | 91亚洲国产成人精品一区二区三 | 黑人与日本少妇 | 久久久免费网站 | 都市激情综合 | 中文字幕在线一区 | 国产精品无码免费在线观看 | 免费欧美| 乱子伦一区| 永久免费在线播放 | 巨乳动漫美女 | 蜜桃tv一区二区三区 | 日韩诱惑 | 黑人巨大精品人妻一区二区 | 亚洲精品成人无码毛片 | 91麻豆网 | 人妻熟人中文字幕一区二区 | 无码精品一区二区三区在线 | 日本 奴役 捆绑 受虐狂xxxx | 综合色婷婷一区二区亚洲欧美国产 | 伊人55 | 台湾性dvd性色av | 欧美日韩电影一区二区三区 | 欧美视频亚洲 | 69视频在线 | 欧美老熟妇一区二区 | 成人美女免费网站视频 | 成人在线免费电影 | 久99热 | 女人的天堂网站 | 一区二区日韩国产 | 中文字幕欧美日韩 | www.国产成人 | 国内成人自拍视频 | 蜜美杏av| 日韩的一区二区 | 亚洲日本精品 | 黄色一级欧美 | 一区二区三区四区在线播放 | av在哪里看| 日韩欧美一区二区三区在线观看 | 青青草.com| 久久午夜精品人妻一区二区三区 | 国产一区二区高清视频 | 一品道av| 黄色不打码视频 | 亚洲视频黄色 | 国产夫妻在线 | 欧美日韩在线一区二区 | 国产一级一区 | 日韩av不卡电影 | 黄页网站视频在线观看 | 生活片一级片 | 黄色一二三区 | 日韩亚洲影院 | 美女av毛片| 亚洲色图35p | 激情插插插 | 麻豆一区二区在线 | 黄色片免费观看 | 免费av动漫 | 日韩视频在线一区 | 国产精品久久久爽爽爽麻豆色哟哟 | 免费成人黄色网址 | 国产精品久久久久久无人区 | 中文字幕av二区 | 日日综合| 国产精品视频一区二区三区, |