操作系统课程设计与实现论文

操作系统课程设计与实现论文

ID:16140834

大小:433.50 KB

页数:110页

时间:2018-08-08

操作系统课程设计与实现论文_第1页
操作系统课程设计与实现论文_第2页
操作系统课程设计与实现论文_第3页
操作系统课程设计与实现论文_第4页
操作系统课程设计与实现论文_第5页
资源描述:

《操作系统课程设计与实现论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、操作系统课程设计与实现实验一、进程管理与进程同步实验目的:了解进程管理的实现方法,理解和掌握处理进程同步问题的方法并完成程序设计。实验内容:实现银行家算法、进程调度的过程模拟。实验步骤:理解银行家算法的核心机制;设计相应数据结构;编程实现;测试。理解进程的三状态调度过程;设计调度算法;编程实现;测试。实验结果:所实现的系统提供一个用户界面,可以在上边发出资源申请命令,系统应能给出是否可以接受申请,并且有结论输出;所实现的系统根据一个进程调度命令文件,模拟进程的各种调度过程,用适合的表达方式表示出来。//进程调度的过程模拟//PStateConvert.cpp:Definestheent

2、rypointfortheconsoleapplication.//#include"stdafx.h"#include"stdio.h"#include#include"trique.h"#include"iostream.h"intr[3]={0};voidreadFile(prdy&ready){intpid,runtime,iotime,ioclock,key=0;prdyp[4];FILE*fp=NULL;p[0]=ready;p[1]=(prdy)malloc(sizeof(rdy));p[2]=(prdy)malloc(sizeof(rdy));p[3

3、]=(prdy)malloc(sizeof(rdy));p[1]->next=NULL;p[2]->next=NULL;p[3]->next=NULL;//p->next=NULL;if((fp=fopen("proCtrFile.txt","rb"))==NULL){printf("打开文件失败!");}do{key++;fscanf(fp,"%d",&pid);p[key]->que=pid;fgetc(fp);fscanf(fp,"%d",&runtime);p[key]->rtm=runtime;fgetc(fp);fscanf(fp,"%d",&ioclock);p[key]

4、->iotm=ioclock;fgetc(fp);fscanf(fp,"%d",&iotime);p[key]->iolong=iotime;fgetc(fp);p[0]->next=p[key];p[0]=p[0]->next;if(key==3)break;//用三个指针变量来存储中间的输入。因为同一个指针变量指向相同的空间,会使结果//中出现的值都为一样的;}while(true);fclose(fp);}voiddelFromReady(prdy&ready){prdyp,q;p=ready;q=p->next;p->next=q->next;}voidinsertToSus(

5、){printf("阻塞过程中......");}voiddelFromSus(){printf("阻塞结束!");}voidinsertToReady(prdy&ready,prdyrunQue){prdyp;p=ready;while(p->next){p=p->next;}runQue->next=NULL;p->next=runQue;}voidroundrun(prdy&ready){prdyp,runQue;inttime;p=ready;do{getchar();//接受任意键//runQue=insertToRun(p->next);//就绪队列拿出一个进程放入

6、运行队列runQue=p->next;delFromReady(ready);time=r[runQue->que]++;if(time==runQue->iotm){for(inti=0;iiolong;i++){insertToSus();}delFromSus();insertToReady(ready,runQue);}elseif(time==runQue->rtm){printf("第%d个进程运行结束!",runQue->que);}else{printf("一个时间片结束!");insertToReady(ready,runQue);}printf

7、("任意键继续......");//delFromRun(runQue);}while(p->next!=NULL);}intmain(intargc,char*argv[]){prdyready;//就绪队列prunqrun=NULL;//运行队列pspdsuspend=NULL;//阻塞队列ready=(prdy)malloc(sizeof(rdy));ready->next=NULL;readFile(ready);ready;r

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

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

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