当前位置:首页 » 课程大全 » 操作系统课程设计吃水果问题

操作系统课程设计吃水果问题

发布时间: 2021-02-02 14:55:32

『壹』 跪求操作系统中一家人吃苹果橘子问题C或C++代码,要能运行且结果正确

这是一个同步互斥问题呀,不是OS上有哇。

『贰』 操作系统中吃水果问题的同步管程步骤

有点不懂哦

『叁』 计算机操作系统题,爸爸放水果,儿子女儿吃的问题

是用P,V原语实现的那个吧,
先画一个图,父箭头到儿,再父箭头到女,再儿和女一起在下面内画条横线,儿和女的箭头到父
然后容:
S(儿)=0,S(女)=0,S(父盘)=1
P(S盘) P(S儿) P(S女)
放 取走 取走
计放苹果then V(S女)
else V(S儿)
要注意那些括号都要在右下角标记~
这些是老师讲课时候记的笔记~o(∩_∩)o...

『肆』 有关进程同步的程序:吃苹果问题

begin
s:semaphore;
s:=1;
cobegin
process A
begin
L1: P(s);
放香蕉或苹果;
V(s);
goto L1;
end;
process B
begin
L2:P(s);
拿苹回果;
V(s);
goto L2;
end;
process C
begin
L3: P(s);
拿香答蕉;
V(s);
goto L3;
end;
coend;
end;

『伍』 不好意思,请教一下,关于计算机操作系统的,吃水果问题。 谢谢~

int mutex=1,s1=0,s2=0,s3=0;
father:{
wait(mutex);
if(s3==0) {signal(s1);s3+=1;}
signal(mutex);
}
daughter:{
wait(mutex);
wait(s1);s3-=1;
signal(mutex);
下面抄的mother ,son类似

『陆』 计算机操作系统问题,PV操作吃水果问题为什么是属于并发执行的

这不就是三个进程并发执行吗
三个进程同时在
只是通过三个信号量同步放和吃

『柒』 求指教:用c语言写吃苹果问题,原理是操作系统同步与互斥 父亲往盘子里放一个苹果,儿子取一个吃,且盘

您好,有个例子,对您有用:
同步关系
设信号量e(表示盘子内为空),a(表示盘子里容是苹果),o(表示盘子里是桔子)
int e=1,a=o=0;
main()
{father();
//son();
//daughter();/*三个为并发进程*/
}
father()
{while(1)
{ 洗水果
wait(e)
把水果放入盘子
if(水果是苹果)signal(a)
else signal(o)
}
}

son()
{while(1)
{wait(o)
从盘子里取桔子
signal(e)
吃桔子}
}

daughter()
{while(1)
{wait(a)
从盘子里取苹果
signal(e)
吃苹果}
}

『捌』 猴子吃桃子问题 数据结构课程设计

//数组解法
#include<stdio.h>
void main()
{
int i,tao[10];
tao[9]=1;//tao[9]代表第10天剩的桃子数
for(i=8;i>=0;i--){
tao[i]=2*(tao[i+1]+1);
}
printf("共摘了%d个桃子!\n",tao[0]);
}
//递归实现
#include<stdio.h>
int tao(int n)
{
if(n==10) return 1;
return 2*(tao(n+1)+1);
}
void main()
{
int sum=0;
sum+=tao(1);
printf("共摘了%d个桃子!\n",sum);
}
至于用数据结构实现,可以采用栈,如下:
#include<stdio.h>
#include<stdlib.h>
//栈的结构定义
typedef struct{
int *base;
int *top;
}Stack;
//初始化栈
void InitStack(Stack &s)
{
s.base=(int *)malloc(sizeof(int));
if(s.base) s.top=s.base;
else{
printf("空间分配错误!\n");
exit(0);
}
}
//入栈
void PushStack(Stack &s,int data)
{
*s.top++=data;
}
//出栈
int PopStack(Stack &s)
{
return *(--s.top);
}
void main()
{
int i=10,data;
Stack s;
InitStack(s);
PushStack(s,1);//先将第10天的桃子数1入栈
while(i-->1){
data=PopStack(s);//出栈一个元素保存在data中
PushStack(s,2*(data+1));//再将2*(data+1)入栈
}
//最后栈中剩余的那个元素就是第1天摘的桃子数
printf("共摘了%d个桃子!\n",PopStack(s));
}

热点内容
武汉大学学生会辅导员寄语 发布:2021-03-16 21:44:16 浏览:612
七年级学生作文辅导学案 发布:2021-03-16 21:42:09 浏览:1
不屑弟高考成绩 发布:2021-03-16 21:40:59 浏览:754
大学毕业证会有成绩单 发布:2021-03-16 21:40:07 浏览:756
2017信阳学院辅导员招聘名单 发布:2021-03-16 21:40:02 浏览:800
查询重庆2018中考成绩查询 发布:2021-03-16 21:39:58 浏览:21
结业考试成绩怎么查询 发布:2021-03-16 21:28:40 浏览:679
14中医医师资格笔试考试成绩查分 发布:2021-03-16 21:28:39 浏览:655
名著赏析课程标准 发布:2021-03-16 21:27:57 浏览:881
北京大学商业领袖高端培训课程 发布:2021-03-16 21:27:41 浏览:919