网站大量收购独家精品文档,联系QQ:2885784924

《操作系统》实训报告讲述.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《操作系统》实训报告讲述

 PAGE 21 实训一、模拟进程操作原语 实训目的: 通过设计并调试创建、终止、阻塞、唤醒原语功能,有助于对操作系统中进程控制功能的理解,掌握操作系统模块的设计方法和工作原理。 实训内容: 设计创建、终止、阻塞、唤醒原语功能函数。 设计主函数,采用菜单结构(参见后面给出的流程图)。 设计“显示队列”函数,目的能将就绪、阻塞队列中的进程信息显示在屏幕上,以供随时查看各队列中进程的变化情况。 实训步骤: 1、系统总体结构: 开始 系统主菜单1…创建 2…阻塞 3…唤醒 4…终止 5…显示 0…退出 请输入您需要的功能(0-5): 输入选择=? 5 4 3 2 1 0 退出 创建 阻塞 唤醒 终止 显示 结束 其中: 进程名用P1,P2标识。 优先级及运行时间:为实训题目二做准备。 状态为:就绪、运行、阻塞,三种基本状态。 指针:指向下一个PCB。 2、进程PCB中应包含以下内容: 进程名优先级运行时间状态指针实训代码: #include stdio.h #includestring.h struct PCB { char name[4]; int priority; int runtime; }; void main() { int x,t; int a=0; int k=0,r=1,i=0,j=0;//k为就绪队列总数,r堵塞队列总数 char name[4]; struct PCB pcb[10]; struct PCB pcb1[10]; struct PCB pcb2[10]; printf(菜单\n\n\n); printf(0退出系统\n); printf(1创建进程\n); printf(2堵塞进程\n); printf(3唤醒进程\n); printf(4终止进程\n); printf(5显示进程\n); printf(\n); strcpy(pcb1[0].name,s);//堵塞队列 pcb1[0].priority = 2; pcb1[0].runtime = 3; while(1) { printf(请输入你的选择:); scanf(%d,x); if(x==0) break; if(x==1) { printf(创建进程\n); printf(进程名:); scanf(%s,pcb[k].name); printf(优先级:); scanf(%d,pcb[k].priority); printf(运行时间:); scanf(%d,pcb[k].runtime); k=k+1; } if(x==2) { printf(堵塞进程\n); printf(请输入要查找的进程:); scanf(%s,name); for(j=0;j=k;j++) { if(strcmp(pcb[j].name,name)==0) { t=j; strcpy(pcb2[a].name,pcb[t].name); pcb2[a].priority = pcb[t].priority; pcb2[a].runtime = pcb[t].runtime; strcpy(pcb1[r].name,pcb2[a].name); pcb1[r].priority = pcb2[a].priority; pcb1[r].runtime = pcb2[a].runtime; r=r+1; a=a+1; for(i=t;i=k;i++) { strcpy(pcb[i].name,pcb[i+1].name); pcb[i].priority = pcb[i+1].priority; pcb[i].runtime = pcb[i+1].runtime; } k=k-1; printf(将就绪序列调度为运行:); for(i=0;ia;i++) printf(%s %d %d\n,pcb2[i].name,pcb2[i].priority,pcb2[i].runti

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档