版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、进程的唤醒与阻塞 #include<stdio.h>#include<stdlib.h>#include<string.h>struct jincheng_typeint pid;int youxian;int zhuangtai;/标志进程状态,0为不存在内存,1为在内存,3为挂起char info10;struct jincheng_type neicun20;int shumu=0,guaqi=0,pid,flag=0;void create()if(shumu>=20) printf(&a
2、mp;quot;n内存已满,请先换出或杀死进程n");elsefor(int i=0;i<20;i+)/定位,找到可以还未创建的进程if(neicuni.zhuangtai=0) break;printf("n请输入新进程pidn");scanf("%d",&(neicuni.pid);for(int j=0;j<i;j+)if(neicuni.pid=neicunj.pid)printf("n该进程已存在n");return
3、;printf("n请输入该进程的优先级n");scanf("%d",&(neicuni.youxian);printf("n请输入该进程的大小n");scanf("%d",&(neicuni.daxiao);printf("n请输入新进程的内容n");scanf("%s",&();/创建进程,使标记为1nei
4、cuni.zhuangtai=1;shumu+;void run()for(int i=0;i<20;i+)if(neicuni.zhuangtai=1)/输出运行进程的各个属性值printf("n pid=%d",neicuni.pid);printf("youxian=%d",neicuni.youxian);printf("daxiao=%d",neicuni.daxiao);printf("zhuangtai=%d",neicun
5、i.zhuangtai);printf("info=%s",);flag=1;if(!flag)printf("n当前没有运行的进程n");void huanchu()if(!shumu)printf("当前没有运行的进程n");return;printf("n");printf("n");scanf("%d",&pid);for(int i
6、=0;i<20;i+)/定位,找到所要换出的进程,根据其状态做相应的处理if(pid=neicuni.pid)if(neicuni.zhuangtai=1)neicuni.zhuangtai=2;guaqi+;printf("n已成功换出进程n");else if(neicuni.zhuangtai=0) printf("n要换出的进程不存在n");else printf("n要换出的进程已被挂起n");flag=1;brek;/找不到,则说明进程不存在if(flag=0)
7、 printf("n要换出的进程不存在n");void kill()if(!shumu)printf("当前没有运行的进程n");return;printf("n ");scanf("%d",&pid);for(int i=0;i<20;i+)/定位,找到所要杀死的进程,根据其状态做相应的处理if(neicuni.pid)if(pid=neicuni.zhuangtai=1)neicuni.zhuangtai=0;shum
8、u-;printf("n已成功杀死进程n");else if(neicuni.zhuangtai=0) printf("n要杀死的进程不存在n");else printf("n要杀死的进程已被挂起n");flag=1;break;/找不到,则说明进程不存在if(!flag)printf("n要杀死的进程不存在n");void huanxing()if(!shumu)printf("当前没有运行的进程n");retur
9、n;if(!guaqi)printf("当前没有挂起的进程n");return;printf("n输入pidn");scanf("%d",&pid);for(int i=0;i<20;i+)/定位, 找到所要换出的进程,根据其状态做出相应的处理if(pid=neicuni.pid)flag=false;if(neicuni.zhuangtai=2)neicuni.zhuangtai=1;gauqi-;printf("n已成功换出进程n&am
10、p;quot;);else if(neicuni.zhuangtai=0) printf("n要换出的进程不存在n");else printf("n要换出的进程已被挂起n");break;/找不到,则说明进程不存在if(flag) printf("n要换出的进程不存在n");void main()int n=1;int sum;/一开始所有进程都不在内存中for(int i=0;i<20;i+)neicuni.zhuangtai=0;while(n)printf(&
11、quot;n*");printf("n* 进程演示系统 *");printf("n*");printf("n* 1.创建新的进程 *");printf("n* 2.换出某个进程 *");printf("n* 3.唤醒某个进程 *");printf("n*");printf("n请选择(16)n");scanf("%d&qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海事港航内部管理制度
- 海底捞内部管理规章制度
- 火锅店内部员工奖惩制度
- 煤矿内部保卫制度
- 煤矿应急办内部考核制度
- 环保局内部治安防范制度
- 理发店内部规章制度范本
- 监控中心内部管理制度
- 监理内部工作制度
- 监理项目部内部制度范本
- 冶金安全生产责任制度
- 2024版2026春新教科版科学三年级下册教学课件:第一单元1.根据太阳辨别方向含2个微课视频
- 水利水电工程单元工程施工质量检验表与验收表(SLT631.8-2025)
- 地下水污染健康风险评估工作指南(试行)
- 儿科病历标准书写及PDCA循环管理
- 商品混凝土培训课件
- 儿科护理特点与注意事项
- 2026年盐城工业职业技术学院单招职业技能考试题库及参考答案详解一套
- 2026年湖南铁道职业技术学院单招职业技能测试题库附答案
- GB/T 17587.2-2025滚珠丝杠副第2部分:公称直径、公称导程、螺母尺寸和安装螺栓公制系列
- AKI免疫炎症反应与CRRT免疫调节策略
评论
0/150
提交评论