操作系统实验一实验报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验一实验报告 实验源码: #include stdio.h #include stdlib.h #include string.h #include conio.h #include iostream.h #include windows.h // 内存最大装备作业数 #define N 5 #define P_TIME 50 struct PCB{ int pid; // 进程 id int priority; // 优先权int size; // 大小 int state; // 进程状态 0 表示不存在 1 表示运行状态阻塞状态 char info[10]; // 消息  2 表示 }; struct PCB neicun[N]; int shumu = 0, guaqi = 0; int pid; int flag = 0; // 查找相应进程是否存在的标志 // 进程调度 enum state{ ready, working, block, finish };// 定义进程状态 struct D_PCB{ char name[4]; // 进程名 int priority; // 优先权 int cputime; // CPU 运行时间 int needtime; // 进程运行所需时间 int count; // 进程执行次数int round; // 时间片轮转轮次state process; // 进程状态 D_PCB *next; };// 定义进程 PCB // 创建进程 void create() { system(cls); if(shumu = N) printf(\n 内存已满,请先换出或杀死进程\n); else{ for(int i = 0; i N; i++) // 定位,找到还未创建的进程 if(neicun[i].state == 0) break; printf(请输入新进程 pid\n); scanf(%d,(neicun[i].pid)); for(int j = 0; j i; j++) if(neicun[j].pid == neicun[i].pid){ printf(\n 该进程已存在\n); return; } printf(请输入新进程优先级\n); scanf(%d,(neicun[i].priority)); printf(请输入新进程大小\n); scanf(%d,(neicun[i].size)); printf(请输入新进程内容\n); scanf(%s,(neicun[i].info)); // 创建进程,使标记位为 1 neicun[i].state = 1; shumu++; } } // 查看运行进程 void run() { system(cls); printf(\npid\tprioroty\tsize\tstate\tinfo\n); for(int i = 0; i N; i++){ if(neicun[i].state == 1){ // 输出运行进程的各个属性值 printf(%d\t%d\t\t%d\t%d\t%s\n,neicun[i].pid,neicun[i].priority,neicun[i].size,n eicun[i].state,neicun[i].info); flag = 1; } } if(!flag) printf(\n 当前没有运行进程\n); } // 换出进程 void huanchu() { system(cls); if(!shumu){ printf(当前没有运行进程\n); return; } printf(\n 输入换出运行进程 ID 值\n); scanf(%d,pid); for(int i = 0; i N; i++){ // 定位,找到所要换出的进程,根据其状态做相应处理 if(pid == neicun[i].pid){ if(neicun[i].state == 1){ neicun[i].state = 2; guaqi++; printf(\n 已经成功换出进程\n); } else if(neicun[i].state == 0) printf(\n 要换出的进程不存在\n); else printf(\n 换出的进程已被挂起\n); flag = 1; break; } } // 找不到,则说明不存在 if(flag == 0) printf(\n 要换出的进程不存在\n); } // 杀死进程 void kill() { system(cls); if(!shumu){ printf(当前没有运行进程\n); return; } printf(\n 输

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档