当前位置:首页 > 四级网络工程师 > [18] > 正文内容

[18][9][单选]对于如下C语言程序

[18]2年前 (2025-02-02)

```c int main() {    pid_t pid;    int a = 5;    pid = fork();    if(pid == 0)        printf("This is the son process, a = %d\n", a + 1);    else        printf("This is the dad process, a = %d\n", a - 1); } ``` 在UNIX操作系统中正确编译链接后执行,其运行结果是

This is the son process, a = 6
This is the dad process, a = 4

This is the son process, a = 6

This is the dad process, a = 4

This is the dad process, a = 6
This is the son process, a = 4


答案


This is the son process, a = 6
This is the dad process, a = 4


解析


在UNIX类操作系统中,父进程通过调用fork()函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据、堆栈段、以及用户栈,fork函数被调用一次,却返回两次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量a,在父进程和子进程中存在2份,初始值都是5,程序运行后子进程输出a = 6,父进程输出a = 4。故本题答案选择A选项。涉及考点为第3章进程线程模型。


转载请注明出处。

本文链接:http://www.pythonopen.com/?id=6623

相关文章

[18][1][单选]共享性是操作系统的特征之一。下列描述的四种资源中,哪一种不具有“同时共享”

内存储器系统中的扫描仪可重入的操作系统代码硬盘驱动器答案系统中的扫描仪解析系统中的扫描仪是独占设备,...

[18][3][单选]中断和异常都是将正在执行的程序打断,完成相应处理后再恢复执行,但是二者是有区别的。下列各种事件中,哪一项属于中断

网卡上数据缓冲区满算术溢出内存保护出错自主程序试图执行特权指令答案网卡上数据缓冲区满解析中断是由外部...

[18][4][单选]系统调用扩充了机器指令,增强了系统功能,方便了用户使用。下列哪一项不属于系统调用

用户程序需要获得当前进程的属性读写磁盘上一个打开的文件将成绩输入学生成绩数据库请求使用光盘驱动器答案...

[18][5][单选]线程是进程中的一个实体,是处理器调度和分派的基本单位。下列哪一项是线程拥有的必不可少的资源?

一组寄存器占用的内存空间打开的文件占用的设备答案一组寄存器解析线程自己基本上不拥有系统资源,只拥有一...

[18][6][单选]在计算机系统中被创建的进程具有多种特性,所谓进程的“独立性”是指

进程可以控制自己的运行节奏,不依赖任何外部条件一个进程是一个相对完整的资源分配单位一个进程对应一段程...

[18][8][单选]进程创建后其进程控制块形成了多个队列,下列哪一个队列不在这些队列中

就绪队列等待队列消息队列运行队列答案消息队列解析为了实现对进程的管理,系统将所有进程的PCB排成若干...