- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
- 运输公司调度工作计划及打算.docx
- 运输公司车队领导新年致词与运输合同范本委托货物运输合同范本2篇合集.docx
- 运输公司驾驶员聘用合同.doc
- 运输合同代雇运输车辆运送合约与运输合同包机运输合同范本合集.docx
- 运输合同保税区报关、运输合作协议书与运输合同包机运输合同范本合集.docx
- 运输合同公路运输合同范本2篇与运输合同包机运输合同范本合集.docx
- 运输合同大件货物运输合同与运输合同棉花运输合同合集.docx
- 运输合同建筑渣土运输合同与运输合同棉花运输合同合集.docx
- 运输合同棉花运输合同与运输合同海运运输合同合集.docx
- 运输合同设备搬迁协议与运输合同货物运输代理合同合集.docx
文档评论(0)