嵌入式工程师考试总结 fork()函数

假设在UNIX操作系统环境下执行以下程序:

main()
{
   printf("Hello World\n");
   fork();
   printf("Hello World\n");
}

若程序正常运行,子进程创建成功,那么,屏幕上得到输出的有

A)  1个Hello World

B)  2个Hello World

C)  3个Hello World

D)  4个Hello World

一个现有进程可以调用fork函数创建一个新进程。由fork创建的新进程被称为子进程(child process)。fork函数被调用一次但返回两次。两次返回的唯一区别是子进程中返回0值而父进程中返回子进程ID。

子进程是父进程的副本,它将获得父进程数据空间、堆、栈等资源的副本。注意,子进程持有的是上述存储空间的“副本”,这意味着父子进程间不共享这些存储空间。

UNIX将复制父进程的地址空间内容给子进程,因此,子进程有了独立的地址空间。在不同的UNIX (Like)系统下,我们无法确定fork之后是子进程先运行还是父进程先运行,这依赖于系统的实现。所以在移植代码的时候我们不应该对此作出任何的假设。

在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。在子进程中,fork函数返回0,在父进程中,fork返回新创建子进程的进程ID。我们可以通过fork返回的值来判断当前进程是子进程还是父进程。

所以有3个Hello world。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-24 17:16:09

嵌入式工程师考试总结 fork()函数的相关文章

嵌入式工程师考试知识点总结 微内核结构

在操作系统的结构设计中,微内核结构表示的是 A)  整体式结构 B)  层次结构 C)  分布式结构 D)  客户机/服务器结构 微内核是指把操作系统结构中的内存管理.设备管理.文件系统等高级服务功能尽可能地从内核中分离出来,变成几个独立的非内核模块,而在内核只保留少量最基本的功能,使内核变得简洁可靠,因此叫微内核. 微内核实现的基础是操作系统理论层面的逻辑功能划分.几大功能模块在理论上是相互独立的,形成比较明显的界限,其优点如下: · 充分的模块化,可独立更换任一模块而不会影响其他模块,从而方

2016上半年网络工程师考试上午真题(1-26)

2016年上半年网络工程师考试真题是备战下半年网络工程师考试的最佳资料,下面希赛软考学院为您整理了上午试题,供您参考学习. 2016年上半年网络工程师考试上午真题(1-26) ●内存按字节编址,从A1000H到B13FFH的区域的存储容量为(1)KB. A.32 B.34 C.65 D.67 ●以下关于总线的叙述中,不正确的是(2). A.并行总线适合近距离高速数据传输 B.串行总线适合长距离数据传输 C.单总线结构在一个总线上适应不同种类的设备,设计简单且性能很高 D.专用总线在设计上可以与连

2016年上半年数据库系统工程师考试真题(下午题)

数据库系统工程师考试的要求为:掌握计算机体系结构以及各主要部件的性能和基本工作原理:掌握操作系统.程序设计语言的基础知识,了解编译程序的基本知识:熟练掌握常用数据结构和常用算法:熟悉软件工程和软件开发项目管理的基础知识:熟悉计算机网络的原理和技术:掌握数据库原理及基本理论:掌握常用的大型数据库管理系统的应用技术:掌握数据库应用系统的设计方法和开发过程:熟悉数据库系统的管理和维护方法,了解相关的安全技术:了解数据库发展趋势与新技术.做真题,是巩固和掌握知识点最佳的方法,下面希赛软考学院为您提供20

希赛信息安全工程师考试视频教程介绍

信息安全工程师是软考新增的一项考试,将于2016年下半年开考.为了帮助广大考生们顺利通过考试,希赛软考学院编写了信息安全工程师培训视频教程,下面为你介绍教程相关信息.  一.希赛信息安全工程师考试视频教程介绍 <信息安全工程师考试培训视频教程(2016)>是由希赛教育信息安全工程师考试培训专家根据信息安全工程师考试大纲.教材编写的经验而录制的视频教程.视频对信息安全工程师考试知识点进行了全面深入的讲解,对考试重难点进行了梳理. <信息安全工程师考试培训视频教程(2016)>每个视频

2017年上半年信息安全工程师考试真题含答案(下午题)

2017年上半年信息安全工程师考试真题含答案(下午题) https://www.moondream.cn/?p=389 第1题 阅读下列说明,回答问题 1 至问题 3,将解答写在答题纸的对 应栏内. [说明] 安全目标的关键是实现安全的三大要素:机密性.完整性和可用性.对于一般性的信息类型的安全分类有以下表达形式: { (机密性,影响等级), (完整性,影响等级), (可用性,影 响等级) } 在上述表达式中,"影响等级"的值可以取为低 (L).中(M).高(H) 三级以及不适用 (N

2016年下半年信息安全工程师考试真题含答案(下午题)

2016年下半年信息安全工程师考试真题含答案(下午题) https://www.moondream.cn/?p=328 试题一(共20分) 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内. [说明] 研究密码编码的科学称为密码编码学,研究密码破译的科学称为密码分析学,密码编码学和密码分析学共同组成密码学.密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用. [问题1](9分) 密码学的安全目标至少包括哪三个方面?具体内涵是什么? [问题2](3分) 对下列违规安全事件,

2017年怀化造价工程师考试买答案包过

2017年怀化造价工程师考试买答案包过[◥██◤唯-Q-Q--12942436◥██◤] 多年助考经验,一次通过,可考后付,实力验证!2017年怀化造价工程师考试买答案包过采枝起身站定禀道:"世子得知郡主失踪,很是担心,一直派人在暗中搜寻,因此奴婢寻到别院看到郡主的画,便立即传讯给了世子,是世子吩咐奴婢和雪芽过来服侍郡主的.世子爷吩咐了,陈家家风清正,郡主可暂时留在陈家." 她想着这些时日的遭遇,简直是她自穿越到这个世界这么些年来最为颠簸流离的一段日子,她简直不知道自己怎么就好端端从一

2017年鸡西消防工程师考试答案

2017年鸡西消防工程师考试答案[◥██◤唯-Q-Q--12942436◥██◤] 多年助考经验,一次通过,可考后付,实力验证!2017年鸡西消防工程师考试答案安槿也心知留在陈家是最稳妥的法子,且陈家家主陈老太爷是南华书院的院长,萧烨曾经也在南华书院陈老太爷门下就读过一段时间,陈峖柏又是身在朝堂,她无论是想联系到萧烨还是想了解多些岭南,住在陈家都是极好的选择. 安槿再次醒过来的时候见到的是花梨木雕花拔步床,云锦绞丝帐,身上盖的是大红锦缎祥纹被,若不是全身疼痛,她简直以为自己又回到了京都,睡在了自

linux fork函数与vfork函数

man vfork: NAME vfork - create a child process and block parent SYNOPSIS #include <sys/types.h> #include <unistd.h> pid_t vfork(void); DESCRIPTION Standard description (From POSIX.1) The vfork() function has the same effect as fork(2), except