大神帮帮忙。操作系统:编程模拟多进程共享临界资源,用c++,或c语言编一下,求源代码c或c++的
要求产生至少3个进程:1、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;在临界区中等待一段随机时间,...
要求产生至少3个进程:
1、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;在临界区中等待一段随机时间,并显示:“进程x正在临界区…”;当时间结束,显示:“进程x退出临界区…”,同时向管理进程提出退出申请。
2、一个进程作为原语级管理进程,接受其他进程的临界区进入请求:如果允许进入,则设置相应变量,然后返回;如果不允许进入,则进入循环等待,直到允许为止;
3、对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。
4、进程间通信可以采用信号、消息传递、管道或网络通信方式。 展开
1、两个进程模拟需要进入临界区的用户进程,当需要进入临界区时,显示:“进程x请求进入临界区…”,同时向管理进程提出申请;在临界区中等待一段随机时间,并显示:“进程x正在临界区…”;当时间结束,显示:“进程x退出临界区…”,同时向管理进程提出退出申请。
2、一个进程作为原语级管理进程,接受其他进程的临界区进入请求:如果允许进入,则设置相应变量,然后返回;如果不允许进入,则进入循环等待,直到允许为止;
3、对临界区的访问应遵循空闲让进、忙则等待、有限等待、让权等待的准则。
4、进程间通信可以采用信号、消息传递、管道或网络通信方式。 展开
1个回答
2016-06-29
展开全部
#includeint main(void){int a, b;char c;printf("请输入两个数:");scanf("%d %d", &a, &b);getchar();printf("请输入你需要的运算法则:");scanf("%c",&c);switch (c){case '+':printf("%d+%d = %d", a, b, a+b);break;case '-':printf("%d-%d = %d", a, b, a-b);break;case '*':printf("%d*%d = %d", a, b, a*b);break;case '/':printf("%d/%d = %d", a, b, a/b);break;default:printf("输入的符号有错!");break;}return 0;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询