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

資源簡(jiǎn)介

操作系統(tǒng)課設(shè)時(shí)做的,設(shè)計(jì)一個(gè)允許n個(gè)進(jìn)程并發(fā)運(yùn)行的進(jìn)程管理模擬系統(tǒng)。該系統(tǒng)包括有簡(jiǎn)單的進(jìn)程控制、同步與通訊機(jī)構(gòu)。每個(gè)進(jìn)程用一個(gè)PCB表示,其內(nèi)容根據(jù)具體情況設(shè)置。各進(jìn)程之間有一定的同步關(guān)系(可選)。系統(tǒng)在運(yùn)行過程中應(yīng)能顯示或打印各進(jìn)程的狀態(tài)及有關(guān)參數(shù)的變化情況,以便觀察諸進(jìn)程的運(yùn)行過程及系統(tǒng)的管理過程。

資源截圖

代碼片段和文件信息

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


typedef?struct?PCB
{
?int?name;
?int?runtime;
?????int?runedtime;
?int?state;
?int?killtime;
?int?waitpoint;
?int?waittime;?
struct?PCB?*next;
}PCB;


PCB?*runqueue=NULL;????????????????????????//運(yùn)行隊(duì)列
PCB?*top=NULL*tail=NULL*temp*temp_pre;??//就緒隊(duì)列
PCB?*top_wait=NULL*tail_wait=NULL;????????//阻塞隊(duì)列
#define?NUM?4??????????????????????????????//創(chuàng)建的進(jìn)程數(shù)
int?timeslice=3;???????????????????????????//時(shí)間片大小


void?CreateProcess()
{
int?i;
srand(10);
????for(i=0;i {
???? temp=new?PCB;
????????temp->name=i;
temp->runtime=rand()%10+9;
temp->runedtime=0;
????????temp->next=NULL;
temp->killtime=0;
????????temp->waitpoint=rand()%10;
temp->waittime=rand()%10;
if(i==0)
{
top=temp;?
tail=temp;
}?
else{
tail->next=temp;
tail=temp;
}
printf(“process?name?%d?runtime=%d?waitpoint=%d?runedtime=%d?killtime=%d\n“tail->nametail->runtimetail->waitpointtail->runedtimetail->killtime);?
}
}


void?ProcessSchedule()
{
int?stime=0;
while(top!=NULL||top_wait!=NULL)
{???
?? if(top) //進(jìn)行調(diào)度操作
{???
//從就緒隊(duì)列選一個(gè)節(jié)點(diǎn),插入運(yùn)行隊(duì)列
????? runqueue=top;
? ? top=top->next;
????? ? runqueue->next=NULL;
runqueue->waitpoint=runqueue->waitpoint-timeslice;
if(runqueue->waitpoint>0)????????????????????????//不產(chǎn)生阻塞???
?? {
?? runqueue->runtime=runqueue->runtime-timeslice;
?? if(runqueue->runtime<=0)?????????????????????????//進(jìn)程將運(yùn)行結(jié)束
?? { ?
printf(“\n進(jìn)程?%d?占用處理機(jī)后狀態(tài)為:\n“runqueue->name); ??
runqueue->killtime=runqueue->runtime+timeslice;????//該進(jìn)程占用處理機(jī)的時(shí)間?????????????????????????????????
???????? runqueue->runedtime=runqueue->runedtime+runqueue->killtime;??//該進(jìn)程以總共使用處理機(jī)的時(shí)間
runqueue->runtime=0;???//該進(jìn)程還需要占用處理機(jī)的時(shí)間
if(top_wait!=NULL)
stime=stime+runqueue->killtime;
printf(“process?name?%d?runtime=%d?runedtime=%dkilltime=%d\n“
runqueue->namerunqueue->runtimerunqueue->runedtimerunqueue->killtime);
printf(“進(jìn)程?%d?已完成,將銷毀\n“runqueue->name);????//結(jié)束該進(jìn)程,釋放該節(jié)點(diǎn)空間
?? }
?? else????????????????????????????????????????????//進(jìn)程未完成,從運(yùn)行到就緒
{
printf(“\n進(jìn)程%d?占用處理機(jī)后狀態(tài)為\n“runqueue->name);
???????? runqueue->killtime=timeslice;?
???????? runqueue->runedtime=runqueue->runedtime+runqueue->killtime;
if(top_wait!=NULL)
???????? stime=stime+runqueue->killtime;
printf(“process?name?%d?runtime=%d?runedtime=%d?killtime=%d\n“runqueue->namerunqueue->runtimerunqueue->runedtimerunqueue->killtime);
//將運(yùn)行隊(duì)列插入到就緒隊(duì)列 ????????????????????
tail->next=runqueue;??????
tail=tail->next;
if(top==NULL?&&?tail!=NULL)
top=tail;
????tail->next=NULL;
printf(“加入就緒隊(duì)列隊(duì)尾成功!\n“);
?? }
?? }
?? else???//產(chǎn)生阻塞
?? {
?? printf(“\n進(jìn)程%d?產(chǎn)生堵塞!將在%ds后喚醒!\n“runqueue->namerunqueue->waittime);
runqueue->killtime=runqueue->waitpoi

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2016-06-10?23:28??進(jìn)程管理模擬系統(tǒng)\
?????目錄???????????0??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\
?????文件???????82944??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\vc60.idb
?????文件??????102400??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\vc60.pdb
?????文件???????10622??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\進(jìn)程管理.obj
?????文件??????176213??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\進(jìn)程管理演示.exe
?????文件??????175532??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\進(jìn)程管理演示.ilk
?????文件??????224044??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\進(jìn)程管理演示.pch
?????文件??????566272??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\Debug\進(jìn)程管理演示.pdb
?????文件????????5032??2016-01-07?09:31??進(jìn)程管理模擬系統(tǒng)\進(jìn)程管理.cpp
?????文件????????4354??2016-01-06?10:10??進(jìn)程管理模擬系統(tǒng)\進(jìn)程管理演示.dsp
?????文件?????????549??2016-01-06?10:10??進(jìn)程管理模擬系統(tǒng)\進(jìn)程管理演示.dsw
?????文件???????50176??2016-06-10?23:28??進(jìn)程管理模擬系統(tǒng)\進(jìn)程管理演示.ncb
?????文件???????48640??2016-06-10?23:28??進(jìn)程管理模擬系統(tǒng)\進(jìn)程管理演示.opt
?????文件?????????921??2016-06-10?23:27??進(jìn)程管理模擬系統(tǒng)\進(jìn)程管理演示.plg

評(píng)論

共有 條評(píng)論