为了账号安全,请及时绑定邮箱和手机立即绑定

关于计算机操作系统实验!fork()的意思?

关于计算机操作系统实验!fork()的意思?

守着星空守着你 2020-12-27 14:10:21
#include<stdio.h>main(){int p1,p2;while ((p1=fork())==-1); if(p1==0)  putchar('b') ; else  {  while((p2=fork())==-1) ;if(p2==0) putchar('c');else putchar('a');  }}程序怎么解释?运行结果是什么?
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

fork() 创建子进程
根据fork()的返回值可以判断该处是在父进程还是子进程的代码里。

while((p1=fork())==-1);
是创建子进程,失败重复,直到创建成功一个为止;
这时在创建的p1子进程里输出'b';

然后,同理,在创建的p2子进程里输出‘c’

最后,父进程输出'a'

这个程序就是用一个父进程创建了两个子进程,分别在每个进程里输出一个不同的字符以作区别。

在终端看来,就是输出了三个字符,但顺序不确定。

查看完整回答
反对 回复 2021-03-28
?
SMILET

TA贡献1796条经验 获得超4个赞

操作系统(OS)学的基本上都比较低层了,大致就是在计算机硬件上上搭载一个平台,并且给予上层接口,使上层的软件可以操作计算机~~
操作系统存在广泛性,从小型机到大型机使用的系统都是不同的,微机上常见的OS诸如Linux,Mac OS X,Windows,DOS,Solaris,BSD,OS/2等,一般中型机以上的就都是运行Unix或者类Unix系统了~~
目前Top500的机子里大多数使用的都是Linux系统~~
你的串号我已经记下,采纳后我会帮你制作



查看完整回答
反对 回复 2021-03-28
  • 2 回答
  • 0 关注
  • 695 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信