介绍
这个实验的主要内容是关于进程的创建,让大家理解进程在操作系统中的作用,通过创建进程充分理解进程创建的过程。
实验内容
编写一段程序,使用系统调用fork()创建两个子进程。当此程序运行时,在系统中有一个父进程和两个子进程活动。让每一个进程在屏幕上显示一个字符;父进程显示字符“a”;子进程分别显示字符“b”和字符“c”。试观察记录屏幕上的显示结果,并分析原因。
分析与实现
题目分析
在本实验中,进程的创建主要依赖于fork()
函数的调用。fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是说他们两个进程可以做相同的事(代码段相同)。
进程创建后,系统给新创建的子进程分配资源。我们可以通过进程号pid
来区分父进程和子进程。父进程返回的是子进程的pid,子进程返回的是0。详细可以参考fork过程详解。
代码实现
1 |
|
结果分析
编译执行上述代码,结果如图:
使用流程图进行分析,思路如下:
小结
通过这个实验,相信大家可以很好地理解如何通过fork()
来创建进程。通过创建多进程可以完成很多复杂的任务,这样可以提高CPU的工作效率。