1、操作系统实验报告 实验一 进程管理实验一 进程管理一、目得进程调度就是处理机管理得核心内容。本实验要求编写与调试一个简单得进程调度程序。通过本实验加深理解有关进程控制块、进程队列得概念,并体会与了解进程调度算法得具体实施办法。二、实验内容及要求1、设计进程控制块PCB得结构(CB结构通常包括以下信息:进程名(进程I)、进程优先数、轮转时间片、进程所占用得CU时间、进程得状态、当前队列指针等.可根据实验得不同,PC结构得内容可以作适当得增删)。为了便于处理,程序中得某进程运行时间以时间片为单位计算。各进程得轮转时间数以及进程需运行得时间片数得初始值均由用户给定。、系统资源(r),共有类,每类数目
2、为r1rw。随机产生进程Pi(id,(j,),),0=in,0=j=,0=k 0 (b jncng、r) 0(c- jincheng、c) 0) a = a- jiheng、ra; =b jinhng、rb; c= incheng、rc; incn、state W; hready、Ad(jincen);/加入就绪队列 lse jinceg、state ; blo、Ad(ichen);/加入阻塞队列 listBx1、Ies、Add(”当前进程状态:” + incheng、sae); /从数组起始地址开始输出该数组得内容publc void dis(ArayLi list) ArayList li
3、t= newArryList(); ist1 = list; (lis1、Cou 0) for (intj0; it1、Count; +) pcb p= (pc)t1; isBox1、Ies、Ad( p、id、oSting()+ +p、state、ToStin() + ” + p、r、ToString() + +、b、otring()+ ” p、rc、ToStrg()+” ” p、time、String() ” 、rtim、oString()+ rn”); ls isBox1、Itms、(”rn 该队列中没有进程!r); /输出就绪数组与阻塞数组得信息publi vidutpal() liso
4、x1、tem、Add(”rn=PU运行了:”+ h、Totrng()+ 次=r); lisBox、Iem、Add(*当前就绪队列得信息!*); lisBox1、Items、Ad(进程ID进程状态A资源数 B资源数 C资源数所需时间片 已运行时间片”); disp(hreay); lisBo、Its、A(*当前就阻塞列得信息!*); ltBox1、Ites、Add(”进程D进程状态 A资源数B资源数C资源 所需时间片 已运行时间片); dip(hbl); /运行就绪数组得头进程,运行一个时间片,轮转一个时间片,时间片轮转调度算法pulid rnni() Arrayist eady1 =nw Ar
5、rist(); hredy = hread; p p1 =new pcb(); 1=(cb)hrady10; p1、sate; p、rte= p、me + ; h=+1; lisBox1、tem、Add(”rn当前正在运行进程D就是: +p、id + rn); lisBo1、Ims、Ad(rn进程ID进程状态 A资源数 资源数 C资源数所需时间片 已运行时间片rn”); lisB1、Items、Ad(p、d +” p1、stat+ p1、a+ + p1、r+ ” +p、rc+ + p1、ntie + + p1、rtme); i (p、ntime=1、rte) listBox1、Iems、Add
6、(p、d、ToString()+”得进程已经完成!rn”); a=a + p、ra; b= +1、rb; c + 1、rc; hready、oeAt(0); s 1、stae=W; hready、dd(p1); red、Removet(0); /检测当前资源数目就是否满足阻塞数组里进程得需求publi void tstblck() Arrayt hck=ne Arait(); hblk1 hblo; for (t = 0; hblock1、Cunt;m+) p p1 = new pcb(); p1 = (pcb)hblok; f (a p1、ra = 0) & (b- 1、r =0) & (c - p、rc = 0)) p1、tae; hed、Ad(1); a =a - 1、ra; b = b - p1、b; c - p1、r; listBox、Items、Add(”ID号为:+p1、d + 得进程由阻塞队列转入就绪队列r); hbloc、eoveAt(m); m-; /检测就是否有新得进程产生,随机产生新进程ublic voidestnew() int ; if (r0)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1