当前位置:   article > 正文

linux进程控制实验原理,实验三 Linux进程的创建与控制

linux进程控制的实验原理

实验三 Linux进程的创建与控制

一、实验目的

(1)加深对进程概念的理解,明确进程和程序的区别。

(2)进一步认识并发执行的实质。

(3)分析进程竞争资源现象,学习解决进程互斥的方法。

(4)了解Linux系统中进程通信的基本原理。

二、实验预备内容

阅读Linux的fork.c源文件,分析进程的创建过程。

三、实验内容

1. 进程的家族关系

在主程序中用3个fork()调用,最后输出一个字符或字符串,运行此简单的程序,观察并分析运行结果。

2. 进程的创建

编写一段源程序,使系统调用fork()创建两个子进程,当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符:父进程显示字符“a”,子进程分别显示字符“b”和字符“c”。观察纪录屏幕上的显示结果,并分析原因。

3. 进程的控制

修改已编写的程序,将每个进程输出一个字符改为每个进程输出一句话,在观察程序执行时屏幕出现的现象,并分析原因。

如果在程序中使用调用lockf()来给每一个子进程加锁,可以实现进程之间的互斥,观察并分析出现的现象。

四、实验源程序(仅供参考)

1. 用进程的家族关系

main()

{

fork();

fork();

fork();

printf(“S”);

}

查看运行结果并分析进程的创建和调用过程。

2.进程的创建

#include

main()

{ int p1,p2;

while((p1=fork())==-1); /创建进程p1,创建成功后退出/

if(p1= =0) /CPU运行p1/

putchar(…b?); /输出字符b/

else

{

while((p1=fork())==-1); /创建进程p2, 创建成功后退出/

if(p1= =0)

putchar(…c?);

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/458665
推荐阅读
相关标签
  

闽ICP备14008679号