C加加模擬進程調度時間片輪轉演算法
今天給大家帶來的是關於C++模擬進程調度時間片輪轉演算法,大家可以看一下,評論一下哪些地方有不足之處或者哪裡有問題
#include"stdio.h"
#include"stdlib.h"
#include
using namespace std;
#define ready 1
#define run 2
struct pcb
{
char name[10];
int priority; /*進程的優先順序*/
int state; /*進程的狀態:可以有運行和就緒*/
int needtime; /*進程需要運行的時間*/
int runtime;
int time; /*進程已運行的時間*/
struct pcb *next; /*指向下一個進程PCB的指針*/
};
typedef struct pcb PCB;
PCB *head=NULL;
void create() /*此函數用於創建進程隊列*/
{
PCB *p, *q;
int n,i;
printf("請輸入要創建的進程的數量:");
scanf("%d",&n);
head=(PCB *)malloc(sizeof(PCB));
p=head;
for(i=1;i
{
q=(PCB*)malloc(sizeof(PCB));
p->next=q;
p=q;
printf("
請輸入 NO.%d 個進程的標識符:",i);
scanf("%s",&p->name);
printf("請輸入進程的優先順序:");
scanf("%d",&p->priority);
printf("請輸入進程所需的時間:");
scanf("%d",&p->needtime);
p->state=ready;
p->runtime=0;
p->next=NULL;
}
}
void lunzhuan () /*時間片輪轉*/
{
PCB *p,*q,*r;
int time;
printf("請輸入時間片大小:
");
scanf("%d",&time);
for(p=head->next;p->next;p=p->next)
r=p;
while(head->next)
{
p=head->next; /*選出就緒隊列的第一個進程*/
p->state=run;
printf("
正在運行的進程是:
"); /*輸出該進程的信息*/
printf("%s ",p->name);
printf("state: 運行 ");
printf("needtime: %d ",p->needtime);
printf("runtime: %d
",p->needtime);
q=head->next;
if(p->needtime-p->runtimetime) /*時間片內,進程運行結束否*/
{
p->runtime=p->needtime;
printf("runtime:%d
",p->runtime);
}
else
{
p->runtime=p->runtime+p->time;
printf("runtime:%d
",p->runtime);
}
q=p->next;
if(q!=NULL) /*輸出就緒隊列中的進程信息*/
printf("就緒隊列是:
");
else
printf("就緒隊列為空!
");
while(q)
{
printf("%s ",q->name);
printf("state: 就緒 ");
printf("needtime:%d ",q->needtime);
printf("runtime:%d ",q->runtime);
printf("
");
q=q->next;
}
if(p->runtime==p->needtime)
{
delete(head,p);
}
else
{
head->next=p->next;
r->next=p;
r=p;
r->state=ready;
r->next=NULL;
}
}
}
void main()
{
cout
create();
if(head==NULL || head->next==NULL)
printf("就緒隊列沒有進程,請先創建進程
");
else
lunzhuan();
}
想要一起學習C++的可以加裙二四八八九四四三零,裙內有各種資料滿足大家,歡迎加裙


※C語言你不可以錯過的8個經典題目
※C語言圖形的那些事兒
※Linux下C語言的幾道經典面試題
※C語言入門只需如此簡單
※C語言基礎——結構體
TAG:C加加 |
※MIT新調度演算法可以減少3成的計程車
※調度機、數字程式控制調度機哪個廠家比較好
※用AI技術來調度計程車 對於市場需求預測精度高
※程式控制數字調度機申甌數字程式控制調度機熱賣
※豐田正測試一種新的計程車調度系統 可預測乘客需求
※58速運訂單調度架構演進(一)
※改進的兩跳中繼網路比例公平調度
※MIT新論文:這個調度優化演算法讓紐約計程車數量減少了1/3
※調整小米手機CPU調度機制,保證流暢提高續航!
※調度機、應急數字調度機哪個廠家好
※申甌礦用防爆調度機本安程式控制調度機熱賣
※為她趕考,鐵路臨時調度一輛列車
※Linux系統篇-進程的管理與調度
※基於北斗的應急救援調度平台建設項目通過驗收
※調度機、應急指揮調度機哪個牌子比較好
※礦用調度機、申甌礦用程式控制調度機售賣
※分散式深度學習的兩種集群管理與調度的實現方式簡介
※新能源電力系統的多時間尺度魯棒調度與區間無功電壓控制
※如何高效排查日均調度量超兩百萬次的重複調度問題?
※索尼與多公司合作成立合資公司,將推出基於AI技術的計程車調度業務