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

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

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

int main( {    pid_t pid;    int a = 20;    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=19 This is the dad process, a=21

This is the son process, a=18

This is the dad process, a=22

This is the dad process, a=19 This is the son process, a=21

答案

This is the son process, a=19 This is the dad process, a=21


解析

在 UNIX 类操作系统中,父进程通过调用 fork(函数创建子进程,子进程获得与父进程地址空间相同的一份拷贝,包括文本、数据、堆栈段、以及用户栈,fork 函数被调用一次,却返回两次:一次是在调用进程中,一次是在新创建的子进程中,所以题目程序中的变量 a,在父进程和子进程中存在 2 份,初始值都是 20,程序运行后子进程输出 a = 19,父进程输出 a = 21。

涉及考点:第 3 章 进程线程模型


转载请注明出处。

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

相关文章

[21][1][单选]操作系统的任务之一是组织和管理计算机系统中的硬件及软件资源,为此在操作系统内部设计了各种数据结构。这些数据结构在操作系统运行中

可以由用户进程修改可以由系统动态更新自系统启动后保持不变只在退出系统或销毁用户时保存改变的内容答案可...

[21][2][单选]下列选项中,哪一项所列的寄存器组都是用户不可见寄存器?

数据寄存器、指令寄存器、程序状态字寄存器程序计数器、指令寄存器、程序状态字寄存器地址寄存器、程序计数...

[21][3][单选]下列哪一种事件产生的是中断而不是异常?

算术溢出定时器归零被零除执行访管指令答案定时器归零解析中断是由外部事件引发的,而异常是由正在执行的指...

[21][5][单选]在设计操作系统的调度算法时,应该针对不同的应用领域确定不同的设计目标。为获得较高吞吐量指标的调度算法适用于下列哪一种环境?

批处理系统交互式系统实时系统嵌入式系统答案批处理系统解析运行大量批处理作业的大型计算中心的管理者们为...

[21][6][单选]衡量多道程序设计系统效率的指标是

处理机利用率系统吞吐量响应时间周转时间答案系统吞吐量解析引入多道程序设计后,提高了设备资源利用率,使...