实验一 进程管理

实验一 进程管理

ID:26479104

大小:66.00 KB

页数:10页

时间:2018-11-27

实验一 进程管理_第1页
实验一 进程管理_第2页
实验一 进程管理_第3页
实验一 进程管理_第4页
实验一 进程管理_第5页
资源描述:

《实验一 进程管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、实验一进程管理专业:计算机系班级:xx软件工程学号:xxx姓名:xxx实验地点:xxx实验时间:xxx指导教师:xxx【实验目的】1)加深对进程概念及进程管理各部分内容的理解。熟悉进程管理中主要数据结构的设计和进程调度算法、进程控制机构、同步机构、通讯机构的实施。【实验环境】具备Windows或MS-DOS操作系统、带有TurboC集成环境的PC机。【实验内容】一.阅读实验程序程序代码见【实验例程】。二.编译实验例程用TurboC编译实验例程。三.运行程序并对照实验源程序阅读理解实验输出结果的意义。【实验例程】#include#defineTRUE1#

2、defineFALSE0#defineMAXPRI100#defineNIL-1struct{intid;charstatus;intnextwr;intpriority;}pcb[3];struct{intvalue;intfirstwr;}sem[2];charsavearea[3][4],addr;inti,s1,s2,seed,exe=NIL;init(){intj;for(j=0;j<3;j++){pcb[j].id=j;pcb[j].status='r';pcb[j].nextwr=NIL;printf("process%dpriority?",j+1)

3、;scanf("%d",&i);pcb[j].priority=i;}sem[0].value=1;sem[0].firstwr=NIL;sem[1].value=1;sem[1].firstwr=NIL;for(i=1;i<3;i++)for(j=0;j<4;j++)savearea[i][j]='0';}floatrandom(){intm;if(seed<0)m=-seed;elsem=seed;seed=(25173*seed+13849)%65536;return(m/32767.0);}timeint(ad)charad;{floatx;x=random()

4、;if((x<0.33)&&(exe==0))return(FALSE);if((x<0.66)&&(exe==1))return(FALSE);if((x<1.0)&&(exe==2))return(FALSE);savearea[exe][0]=i;savearea[exe][1]=ad;pcb[exe].status='t';printf("timessilceinterrupt'process%denterintoready.",exe+1);exe=NIL;return(TRUE);}scheduler(){intpd;if((pd=find())==

5、NIL&&exe==NIL)return(NIL);if(pd!=NIL){if(exe==NIL){pcb[pd].status='e';exe=pd;printf("process%disexecuting.",exe+1);}elseif(pcb[pd].priority

6、}}i=savearea[exe][0];addr=savearea[exe][1];return(exe);}find(){intj,pd=NIL,w=MAXPRI;for(j=0;j<3;j++)if(pcb[j].status=='r')if(pcb[j].priority

7、;charad;{if(--sem[se].value>=0)return(FALSE);block(se);savearea[exe][0]=i;savearea[exe][1]=ad;exe=NIL;return(TRUE);}block(se)intse;{intw;printf("process%disblocked",exe+1);pcb[exe].status='w';pcb[exe].nextwr=NIL;if((w=sem[se].firstwr)==NIL)sem[se].firstwr=exe;else{while

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。