进程管理模拟系统完整代码.doc

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

// #include conio.h #include stdio.h #include stdlib.h #include string.h struct ProcessType 〃进程控制块 { char Pid[10]; 〃进程标识符 char Priority[10];//优先级 charSize[10];// 大小 char Message[10]; 〃信息 }; struct ProcessType Ready[20];//就绪数纟IL。 struct ProcessType Hung[20]; 〃挂起数组; struct ProcessType Cpu; 〃运行进程。 int Number 1 =0,Number2=0,First=0; //Number 1 是就绪队列中的进程的个数,Number2 是挂起 队 〃列中的进程个数,First是判断是否是第一次输入进程。 void Create。//新建:?程。 { if(Numberl20) //最大进程数为 { printf(-\n就绪进程已满,请先删除或挂起进程\n”); } else { if(First==O) { printf(^\n这是你第一次输入进程信息,它将直接调入CPU运行!”); printf(n\n请输入新进程的程序名\n”); scanfC%s”,Cpu.Pid); printf(“请输入新进程的优先级\巧; scanf(%s,Cpu.Priority); printf(请输入新述程的人小\n); scanf(n%s,Cpu.Size); First++; ) else { printf(H\n请输入新进程的程序名\n”); scanf(%sH ,Ready[Numberl].Pid); printf(请输入新进程的优先级\n); scanf(u%s,Ready[Numberl].Priority); pri nt f(请输入新进程的人小\n); scanf(%sM,Ready[Numberl].Size); Number 1++; } } } void Run()//杏看运彳亍进程。 { printf(H\n现在正在运行的进程的资料如下:\n”); printf(进程名为:%s\n 优先级为:%s\n 大小为:%sM,Cpu.Pid,Cpu.Priority,Cpu.Size); } void ChangeA()〃将优先级高的进程调入CPU执行 { char i,m[10],t[10];char n[10],p[10]; strcpy( p,Ready [0] .Priority) JI 就绪数组第一个数 for(i=0;iNumberl;i++) { if(strcmp(p,Ready[i].Priority)0)/*strcmp(char *strl, char ⑵:按照各 个字符(ascii)比较字符串strl和str2, 当strlstr2时,返回值0;当strl=str2时,返 回值=0;当strlstr2时,返回值0 */ { strcpy(p,Ready[i].Priority); 〃把 Ready[i].Priority 所指向的由 NULL 结束的字符串复制到 p 所 指的数组中。 } } for(i=0;i20;i++) { if(strcmp(p,Ready[iJ.Priority)==0) 〃用法同上 { strcpy(m,Cpu.Size);〃川法同上,以下所有关于这两个函数的丿IJ法都同上面所解释的 strcpy(Cpu.Size,Readyfi].Size); strcpy(n,Cpu.Pid); strcpy(Cpu.Pid,Readyfi].Pid); strcpy(t,Cpu.Priority); strcpy(Cpu.Priority,Ready[i].Priority); break; ) else continue; } for(i;iNumberl-1 ;i++) { strcpy(Ready[i].Size,Ready[i+l].Size); strcpy(Ready[i].Pid,Ready[i+ lJ.Pid); strcpy( Ready[i].Priority,Ready[i+l].Priority); strcpy( Re ady [i ]. Size,m); strcpy(Ready[i].Pid,n); strcpy(Ready[订.Priority」); } void ChangeB()//T-动将进程挂起 { int i;char p[IO]; printfC*\n请输入想要挂起的进程的程序名:\n(在以下中选:“); for(i=0;iNumberl;i++) { pri

文档评论(0)

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

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

1亿VIP精品文档

相关文档