进程同步c语言实验报告,操作系统实验报告实验3-1

操作系统实验报告

操作系统实验报告

实验3-1: Linux进程的创建与父子进程同步

1. 实验目的

(1)熟悉在C语言源程序中使用Linux所提供的系统调用界面的方法;

(2)掌握Linux中进程的创建方法以及调度执行情况,理解进程与程序的区别;

(3)使用系统调用wait()和exit(),实现父子进程同步;

(4)了解Linux提供的C编译器gcc的调用;

(5)进一步掌握vi的使用。

2. 实验内容

(1)父进程创建子进程,返回后父子进程都分别循环输出字符串“I am parent.”或“I am child.”5次,每输出一次后使用sleep(1)延时1秒,然后再进入下一次循环,如下所示。将该源程序链接后执行,观察并分析运行结果。

父进程返回后执行:

1-122-jpg_6_0_______-266-0-0-266.jpg

子进程返回后执行:

1-127-jpg_6_0_______-269-0-122-269.jpg

(2)进程家族树

在源程序中连续使用4个fork(),而不是用if()进行返回值的判段,在4个fork()语言后面输出字符“A”。观察并分析该程序编译连接执行后的输出结果。

(3)父子同步进程

修改第(1)题的程序,使用exit()和wait()实现父子进程同步,其同步方式为父进程等待子进程的同步,即:子进程先循环输出5次,然后父进程再循环输出5次.观察是否有不同的结果出现。

3. 实验思考

(1) 观察运行结果,分析结果产生的原因。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值