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

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

[14]1年前 (2025-02-02)

int main(

{

int i;

for (i = 0; i < 3; i++

{


fork(;


printf("Hello World\n";

}

}


答案

共打印出14行Hello World


解析在UNIX类操作系统中,父进程通过调用fork(函数创建子进程,fork(函数执行的特点是:调用一次,返回两次,两次从当前位置开始执行;即在父进程中调用fork(函数:    当第一次时,调用fork(函数创建一个子进程,此时父进程A,子进程B都接着执行printf(函数,输出2行Hello World;    接着父子进程的变量i自增为1,接着执行fork(循环,父进程A接着创建自己的子进程C,子进程B也创建自己的子进程D,接着4个进程A、B、C、D都执行printf(函数,再次输出4行Hello World;    接着父子进程的变量i自增为2,接着执行fork(循环,父进程A接着创建自己的子进程E,子进程B也创建自己的子进程F,子进程C也创建自己的子进程G,子进程D也创建自己的子进程H,接着8个进程A、B、C、D、E、F、G、H都执行printf(函数,再次输出8行Hello World;    最后程序执行结束。所以该程序总共会输出14行Hello World,故选择D选项。

【涉及考点】

第3章 进程线程模型


转载请注明出处。

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

相关文章

[14][1][单选]下列哪些资源在操作系统控制下可以“互斥共享”

中央处理器、存储器和可重入代码中央处理器、存储器和打印机中央处理器、外部设备和可重入代码存储器、外部...

[14][3][单选]中断是指CPU对系统中或系统外发生的异步事件的响应,中断响应是指

清除引起中断的那些事件中断控制器向处理器发出的信号正在执行的程序暂停,切换到新进程处理器暂停当前程序...

[14][4][单选]系统调用与一般过程调用是不同的,下列对被调用程序嵌套使用的描述中,哪一个是正确的

过程调用和系统调用均不可以嵌套使用过程调用和系统调用均可以嵌套使用过程调用可以嵌套使用,系统调用不可...

[14][5][单选]进程控制块PCB是描述进程基本情况以及进程的运行变化过程的数据结构,下列哪一项不是进程控制块PCB中记录的信息?

中断源“家族”关系消息队列指针打开文件句柄答案中断源解析进程控制块PCB的内容一般可以分成调度信息和...

[14][6][单选]进程控制块PCB的内容一般可以分成调度信息和现场信息两大部分,下列哪一项属于调度信息

程序状态字时钟信息界地址寄存器>优先级答案优先级解析进程控制块PCB的内容一般可以分成调度信息...

[14][8][单选]当使用进程唤醒原语唤醒进程时,下列哪一个选项描述的顺序是合理的

在等待队列中找到该进程PCB,修改PCB中状态为就绪,将其插入到就绪队列在就绪队列中找到该进程PCB...