时间片轮转算法和优先级调度算法 C语言模拟实现 收藏_第1页
时间片轮转算法和优先级调度算法 C语言模拟实现 收藏_第2页
时间片轮转算法和优先级调度算法 C语言模拟实现 收藏_第3页
时间片轮转算法和优先级调度算法 C语言模拟实现 收藏_第4页
时间片轮转算法和优先级调度算法 C语言模拟实现 收藏_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1时间片轮转算法和优先级调度算法C语言模拟实现收藏一、目的和要求进程调度是处理机管理的核心内容。本实验要求用高级语言编写模拟进程调度程序,以便加深理解有关进程控制快、进程队列等概念,并体会和了解优先数算法和时间片轮转算法的具体实施方法。二、实验内容1.设计进程控制块PCB的结构,通常应包括如下信息:

进程名、进程优先数〔或轮转时间片数〕、进程已占用的CPU时间、进程到完成还需要的时间、进程的状态、当前队列指针等。

2.编写两种调度算法程序:

优先数调度算法程序循环轮转调度算法程序3.按要求输出结果。

三、提示和说明分别用两种调度算法对伍个进程进行调度。每个进程可有三种状态;执行状态〔RUN〕、就绪状态〔READY,包括等待状态〕和完成状态〔FINISH〕,并假定初始状态为就绪状态。〔一〕进程控制块结构如下:

NAME——进程标示符

PRIO/ROUND——进程优先数/进程每次轮转的时间片数〔设为常数2〕

CPUTIME——进程累计占用CPU的时间片数

NEEDTIME——进程到完成还需要的时间片数

STATE——进程状态

NEXT——链指针注:

1.为了便于处理,程序中进程的的运行时间以时间片为单位进行计算;

2.各进程的优先数或轮转时间片数,以及进程运行时间片数的初值,均由用户在程序运行时给定。

〔二〕进程的就绪态和等待态均为链表结构,共有四个指针如下:

RUN——当前运行进程指针

READY——就需队列头指针

TAIL——就需队列尾指针

FINISH——完成队列头指针〔三〕程序说明

1.在优先数算法中,进程优先数的初值设为:

50-NEEDTIME每执行一次,优先数减1,CPU时间片数加1,进程还需要的时间片数减1。在轮转法中,采用固定时间片单位〔两个时间片为一个单位〕,进程每轮转一次,CPU时间片数加2,进程还需要的时间片数减2,并退出CPU,排到就绪队列尾,等待下一次调度。

2.程序的模块结构提示如下:整个程序可由主程序和如下7个过程组成:〔1〕INSERT1——在优先数算法中,将尚未完成的PCB按优先数顺序插入到就绪队列中;〔2〕INSERT2——在轮转法中,将执行了一个时间片单位〔为2〕,但尚未完成的进程的PCB,插到就绪队列的队尾;〔3〕FIRSTIN——调度就绪队列的第一个进程投入运行;〔4〕PRINT——显示每执行一次后所有进程的状态及有关信息。〔5〕CREATE——创立新进程,并将它的PCB插入就绪队列;〔6〕PRISCH——按优先数算法调度进程;〔7〕ROUNDSCH——按时间片轮转法调度进程。主程序定义PCB结构和其他有关变量。〔四〕运行和显示程序开始运行后,首先提示:请用户选择算法,输入进程名和相应的NEEDTIME值。每次显示结果均为如下5个字段:

name

cputime

needtime

priority

state注:

1.在state字段中,"R"代表执行态,"W"代表就绪〔等待〕态,"F"代表完成态。2.应先显示"R"态的,再显示"W"态的,再显示"F"态的。

3.在"W"态中,以优先数上下或轮转顺序排队;在"F"态中,以完成先后顺序排队。viewplaincopytoclipboardprint?/*

操作系统实验之时间片轮转算法和优先级调度算法

By

Visual

C++

6.0

*/

#include

<stdio.h>

#include

<stdlib.h>

芽#i墓nc恩lu逆de除

<辅st距ri桌ng象.h巷>

延赢

柜ty锣pe生de拥f种

方st韵ru线ct兄

n淡od捏e

冻{

准ch顺ar愚

n独am帜e[虾20骡];岂

厦/*烦进程爸的名弃字*名/稼

纺in饰t栽

p左ri袖o;挥

摆/*阴进程李的优加先级详*/娇

带in猴t倡

r突ou洒nd橡;

欢/*所分配奉CP谣U的壶时间姓片*蚕/挥

四in洋t行

c眉pu真ti诉me扣;

捷/*抽CP绵U执督行时伪间*栏/猪

桂in亡t修

n倦ee富dt痛im魄e;扔

引/*疾进程璃执行什所需盯要的奶时间杏*/形

房ch眼ar材

s针ta诞te钥;

吴/*新进程迅的状标态,瓣W—棕—就栗绪态亡,R殿——何执行奶态,豪F—粮—完议成态赌*/壶

葵in机t衣

c松ou鸟nt亚;

兆/*桐记录恒执行央的次通数*这/版

弃st菌ru处ct奋

n小od撤e

用*n液ex害t;征

皱/*盼链表厉指针矛*/战

匀}P貌CB苏;

慕PC衬B

梯*r搂ea幅dy周=N杠UL订L,泊*r历un侵=N御UL抗L,卸*f紫in承is诉h=林NU粘LL狡;

宣/*尾定义两三个钱队列听,就病绪队固列,四执行信队列光和完趁成队妻列*脆/装

悦in伏t更

n刘um沙;

垫vo庸id望

G谣et锋Fi贼rs银t(体);盾

旅/*霸从就毒绪队粒列取狐得第楚一个望节点敢*/纲

鹿

末vo撇id宿

O有ut役pu双t(乔);故

肤/*焦输出璃队列趴信息湾*/懂

睛vo钢id扁

I喜ns垫er万tP爪ri童o(冷PC冒B

搭*i赌n)银;

挎/*赴创立内优先效级队妈列,优规定讽优先割数越优小,鱼优先晴级越武高*也/行

骆vo笼id丸

I狸ns流er关tT悔im敏e(准PC难B

耽*i劝n)协;

埋/*叶时间淹片队梢列*靠/场

真vo葵id碌

I岸ns牢er慧tF旱in止is暴h(糊PC恳B

属*i云n)零;

托/*精时间棵片队帮列*瞧/其

荐vo当id镇

P体ri醒oC晶re掏at纳e(援);洞

雄/*艇优先贫级输民入函旁数*践/池

毕vo病id蛙

T根im劈eC葵re絮at递e(丧);唯

般/*绳时间调片输与入函痒数*牛/低

眯vo抽id平

P衬ri抓or英it培y(谷);医

悟/*满按照纺优先签级调且度*安/竟

铲vo坦id奥

R俯ou旨nd违Ru犁n(总);锹

跌/*目时间蛾片轮婶转调轮度*器/敞

云in娱t肥

m适ai凡n(写vo肃id那么)

参{

篮ch畏ar似

c屡ho垄se锦;

院pr达in柔tf眯(煌"请怨输入打要创令建的犬进程娇数目过:\嘴n"参);叹

示sc舒an重f(革"%辈d"计,&红nu侍m)搞;

关ge级tc鹿ha裙r(海);斯

俱pr妈in伏tf武(抬"输饶入进吸程的悉调度洽方法科:(蝴P/莫R)呼\n熄"错);厌

忆sc幕an完f(坐"%雪c"牲,&鸡ch蚂os辨e)初;

熊训

息sw及it磁ch史(c姥ho长se钥)

揭{

句ca臣se扭

茶'P债'贸:

课ca驴se害

垫'p捆'消:

袭Pr幼io罢Cr饭ea窜te给()最;

泪Pr陷io祸ri堂ty察()浆;

狭br溜ea太k偿;

乒ca辫se遣

门'R经'宰:

趟ca搜se店

秤'r洋'差:

恒Ti榨me烦Cr芹ea警te怠()踏;

杯Ro宗un旨dR时un却()钻;

石br窄ea度k袄;

奏de帮fa窑ul店t慰:捏br蝴ea申k播;

邪}

磨Ou封tp证ut君()领;

苹re仁tu沸rn眉

0充;

酱}

亿vo妻id尚

G逆et狭Fi筑rs房t(眠)

滤/*辨取得询第一隙个就乱绪队贝列节渐点*舟/名

松{

汉ru甜n

缴=

视re兔ad崇y;款

洋if霸(r刃ea拼dy仍!=萌NU耕LL释)

望{

滋ru羞n

瓦->券st容at异e

控=

贿'R英'锅;

忙re络ad熟y

浪=

裂re眼ad烧y

弄->慰ne幼xt闹;

婶ru暗n

奶->映ne芒xt戏

=由

N堵UL航L;示

寿

从}

扩}

懂vo写id探

O鹊ut侮pu反t(图)

锁/*吼输出洪队列晴信息炸*/古

朝{

抚PC吴B

没*p光;

跨p

雕=

婶re牺ad但y;判

蜓pr痕in桐tf汽(棒"进揉程名货\t锅优先幅级\丹t轮厅数\给tc环pu独时间眉\t伯需要尊时间液\t拘进程演状态夜\t道计数屿器\焰n"派);把

池wh经il锣e胳(p阅!=躬NU巧LL贿)

短{

益pr单in内tf践(豆"%酷s\破t%滴d\江t%挂d\轰t%锅d\姻t%遥d\慈t\影t%杆c\除t\蓄t%钩d\恋n"歇,p来->暴na顽me票,p搏->斤pr慨io芒,p终->错ro障un症d,替p-迈>c椒pu久ti愚me巨,p学->困ne困ed括ti忘me愤,p去->色st蛇at株e,副p-额>c慢ou旷nt蕉);泽

肚p

季=

顶p-读>n渐ex起t;浑

算}

测p

鸟=

田fi歇ni时sh就;

顶wh芹il溉e酿(p提!=研NU端LL茶)

宽{

决pr叉in知tf友(显"%饭s\嘉t%他d\南t%桑d\唯t%悼d\诱t%江d\惑t\捡t%芒c\绪t\饶t%骆d\煌n"努,p勺->笋na动me妙,p刮->欺pr究io曲,p知->泡ro泉un叠d,胀p-找>c谣pu脏ti宪me送,p歼->芦ne裁ed延ti进me刃,p慕->情st袜at垃e,筑p-李>c马ou浑nt米);捞

漠p

氧=

爬p-愈>n切ex祥t;碑

预}

呼p

好=

降ru含n;盾

燥wh员il仙e焰(p丛!=赖NU如LL萝)

滩{

患pr咬in做tf燥(吴"%眯s\吐t%郊d\岂t%艳d\划t%尊d\脏t%封d\雀t\伙t%莲c\滥t\隶t%饲d\炮n"彩,p斤->鼠na讯me岁,p患->卧pr延io卖,p锐->葬ro弟un艺d,湖p-镜>c冲pu誓ti闷me榴,p糖->逐ne外ed送ti萄me位,p杨->续st辫at迷e,丝p-瑞>c漂ou锅nt煎);突

先p

央=

匀p-烤>n制ex欺t;币

索}

亡}

敬vo号id林

I桑ns祖er朋tP为ri喇o(赌PC蒜B

你*i睛n)悟

已/*骄创立企优先式级队嫌列,与规定导优先维数越许小,里优先病级越胡低*京/变

坛{

跌PC施B

扑*f贵st现,*违nx眯t;涌

杜fs笨t

浅=

国nx裳t

高=

冈re庄ad今y;荒

蚊if论(r均ea孔dy盖

=铸=

产NU袭LL齿)

咸/*仓如果晴队列病为空姐,那么治为第价一个陆元素葬*/嫂

戚{

怀in脆->纳ne糟xt钥

=朽

r茄ea磨dy遍;

赶re肌ad损y

机=

别in筛;

殃}

呢el赞se直

喷/*促查到糟适宜于的位唉置进匠行插蚂入*扇/值

姿{

怜if玻(i飞n

绢->闭pr席io称

>丢=

屿fs旅t

供->厚pr焦io碑)

裹/*睁比第塔一个唇还要首大,去那么插来入到付队头硬*/己

陵{

晴in壳->泳ne占xt扑

=连

r挽ea羡dy亿;

惠re辟ad咏y

卷=

深in赢;

就}

将el洲se屯

功{

墨wh五il税e披(f绵st偏->区ne渠xt歼

!怪=

赚NU办LL展)

估/*未移动日指针肠查找迹第一抛个别掩它小领的元蚕素的讯位置先进行矮插入墨*/劫

殿

刮{

壁nx华t

涝=

主fs体t;突

吉fs励t

收=

赏fs嫂t-复>n劣ex响t;森

慨}

谜if剪(f澡st当

-周>n尤ex茎t

做==围

N雄UL茄L)谁

岩/*换已经孟搜索嚷到队济尾,僻那么其言优先蜓级数威最小咏,将猴其插工入到旋队尾碍即可斥*/夹

枕{

禽in柜

-动>n杯ex辜t

陆=

锐fs欧t

摩->旦ne精xt于;

崖fs存t

顿->圆ne只xt丰

=顾

i胃n;刊

兆}

肤el掩se裙

泄/*她插入富到队晋列中堆*/知

假设

福{

俯nx老t

炼=

锯in浆;

懂in绢

-奥>n窑ex意t

径=

玻fs跑t;馋

智}

磨}

纸}

报}

眉vo兔id朴

I万ns程er贩tT径im矿e(圆PC宪B

衫*i咏n)歼

库/*刚将进墨程插秀入到战就绪闪队列跑尾部亲*/亡

畜{

壶PC腿B

粗*f赵st阳;

赤fs澡t

卧=

流re非ad习y;已

饿

歪if践(r匆ea肿dy嘴

=银=

裹NU果LL挺)

素{

唱in车->抱ne配xt城

=耻

r椒ea妻dy恒;

像re碧ad嫌y

严=

易in银;

讲}

净el钩se姥

药{

危wh情il疫e州(f罗st待->寸ne溜xt巨

!搏=

孩NU伏LL滑)

尿

酸{

颜fs检t

贸=

狼fs渡t-贝>n成ex湾t;套

情}

济in丰

-丝>n料ex通t

表=

链fs椅t

怠->痛ne怜xt元;

庙fs锋t

怎->岔ne迅xt焦

=怜

i抵n;呈

择}

礼}

贼vo浊id或

I借ns赤er凳tF孤in网is拒h(徐PC恳B

需*i趟n)恐

感/*踢将进疯程插劳入到具完成亩队列替尾部尸*/钟

轨{

姓PC习B

街*f属st轰;

般fs纽t

通=

速fi队ni从sh贵;

直if泡(f暴in员is看h

棉==果

N货UL色L)躲

附{

翁in稠->彼ne娘xt秆

=拥

f户in适is鼻h;随

肌fi拦ni婚sh似

=乡

i激n;侨

购}

裙el柴se早

峰{

始wh肯il少e仓(f壳st垦->传ne竖xt耀

!信=

疯NU肥LL榜)

眉{

拥fs盐t

蛙=

片fs椅t-洁>n端ex镜t;萌

委}

火in役

-忽>n童ex赏t

会=

赏fs闸t

译->尖ne周xt业;

滤fs邀t

畅->参ne找xt额

=株

i泽n;劫

喂}

且}

蝴vo天id察

P狼ri售oC困re心at次e(薯)

男/*笑优先商级调派度输绣入函说数*自/债

但{

滩PC妥B

眉*t助mp泽;

锯in蹄t促

i抢;

奥pr正in槽tf恳(敬"输椒入进体程名沸字和促进程裤所需景时间肤:\闭n"虑);材

该fo慌r删(i柔

=稿

0搁;i利

<旨

n渴um返;

共i+附+)寇

危{

秤if算((弦tm废p

椅=

钻(P版CB粥

*现)m岁al迁lo织c(希si前ze扰of悔(P阅CB蒜))文)=育=N称UL杯L)爸

惰{

字pe泡rr龙or谨(成"m骄al叔lo乓c"虑);董

贷ex汉it探(1幼);场

枯}

跃sc祸an蛙f(嚷"%湾s"钩,t叶mp葬->抢na锁me闷);蛮

胁ge普tc砌ha熊r(痒);简

优/*尘吸收钓回车键符号璃*/进

侵sc雁an软f(催"%扛d"完,&纪(t似mp役->社ne受ed地ti足me殖))鸣;

奉tm迎p

厉->郊cp偶ut踢im浆e

畅=

捆0;披

好tm债p

称->鲁st听at汽e

球=顷'W歌'群;

踏tm甜p

手->款pr晶io禽

=政

5细0

激-

仆tm激p-穴>n暮ee醋dt王im纵e;脖

首/*渣设置欲其优品先级拍,需础要的朗时间侧越多深,优稼先级丢越低贪*/魔

钞tm畜p

欲->俊ro些un寺d

掘=

放0;馆

毁tm曾p

弟->朗co逐un饶t

施=

隐0;粥

赞In街se蹲rt废Pr姨io构(t径mp泽);晃

拨/*晶按照渔优先犬级从抱高到败低,遣插入航到就铅绪队横列*轨/铲

究}

棚}

刊vo萄id腹

T寻im箭eC主re殊at奴e(抛)

铅/*刃时间台片输除入函找数*油/鹿

诵{

图PC摘B

份*t解mp蝴;

及in客t份

i荣;

琴pr饱in消tf怪(嚷"输芳入进姓程名逢字和氏进程灭时间跨片所却需时锤间:亦\n撒"押);身

奸fo丈r吵(i槽

=盈

0驶;i悔

<吊

n肆um模;

惧i+疲+)匀

严{

掌if壳((巨tm乎p

炊=

饶(P坟CB析

*膨)m记al充lo倚c(腹si婆ze标of谢(P择CB临))抹)=惰=N汪UL被L)卡

严{

阀pe拼rr终or喝(款"m絮al辅lo拘c"撑);屈

或ex坑it韵(1扑);直

搏}

盐sc再an沿f(勤"%恳s"轻,t疤mp尝->宏na鸟me窝);哀

暂ge涂tc讯ha马r(脚);赶

自sc凑an么f(刷"%峰d"模,&叹(t跌mp嘴->絮ne摔ed顾ti紧me娃))许;

琴tm湿p

掉->植cp零ut逐im侄e

提=

们0;骨

裁tm伟p

骄->骡st北at零e

摩=应'W且'白;

榨tm足p

养->朴pr标io缩

=沟

0犁;

齿

片tm壤p

辣->稳ro佛un校d

其=

阶2;茶

遮/*英假设俩每个在进程仿所分贱配的扶时间义片是苏2*税/猜

衰tm名p

献->何co最un摊t

奥=

祖0;遵

筒In鼓se屯rt企Ti沃me趣(t祝mp甜);皂

穿}

按}

鉴vo累id繁

P往ri陡or拍it字y(论)

译/*休按照衰优先暖级调牧度,翁每次兔执行背一个你时间冲片*技/浇

艇{

汤in许t觉

f霸la别g

猛=

右1;患

浸Ge均tF休ir喂st悄()怒;

包wh极il低e做(r妖un司

!熟=

令NU盟LL对)

拔/*蛋当就东绪队味列不诵为空匠时,群那么调望度进蹲程如蜜执行略队列坊执行歉*/姻

节{

辰Ou拐tp佩ut毫()彼;

葡/*甚输出阳每次晒调度宋过程车中各暑个节度点的赖状态常*/血

繁wh娱il溉e恼(f版la萌g)地

渡{

怀

鸽ru信n-锤>p往ri前o

宴-=堤

3竿;

桂/*叫优先半级减蛙去三酱*/使

饮ru括n-熊>c续pu高ti蝶me掉++化;

动/*描CP拉U时苦间片冒加一坦*/影

笛ru棉n-漏>n带ee盲dt制im宴e-矮-;钢/*辉进程查执行么完成崇的剩裳余时胸间减盛一*晓/悄

稿

盾if秒(r帖un邻->识ne遗ed姥ti坡me志

=驴=

倾0)险/*勒如果乱进程棍执行胶完毕弹,将险进程偏状态蝴置为贿F,旗将其桐插入滥到完百成队浓列*滥/斤

娘{

仿

授ru袖n

趋->缺st议at份e

炸=

污'F施'姓;

苍ru影n-封>c菠ou绩nt在++圣;

驶/*仪进程津执行概的次旱数加饥一*拜/浪

夜In储se装rt轿Fi害ni忙sh脊(r扎un至);雪

枪fl卵ag蝇

=瑞

0聋;

稀}

志el览se您

佛/*翠将进级程状方态置厚为W耐,入饼就绪迅队列侍*/借

淡{

愿ru皂n-煤>s翅ta肥te椅

=卸

裁'W束'爱;

盈ru惊n-显>c冻ou暗nt竹++拉;

刘/*箩进程叔执行贵的次右数加茂一*偿/喊

陆In驰se释rt元Ti跳me伐(r笨un这);芬

偷fl百ag显

=戏

0老;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论