A-A+
嵌入式Linux操作系统中任务的创建过程如下 以下说法正确的是(53)。 void main
问题详情
嵌入式Linux操作系统中任务的创建过程如下,以下说法正确的是(53)。
void main()
{ int pid;
pid= fork()
if(pid>0)
printf("parent task");
else if(pid= =0)
{ printf("child task") ;
execvp ("MyTash", NULL);
}
}
A.子任务的创建基于fork/exec模型
B.子任务的创建基于spawn模型
C.先为子任务分配内存空间,再分配相应的数据结构
D.直接为子任务分配一个全新的地址空间,然后再将其代码装入运行请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:fork/exec模型和spawn模型创建任务时,都要先为新任务分配相应的数据结构,然后再为新任务分配内存空间。这两种模型的主要差别在于内存的分配方式,在fork/exec模型中,首先调用fork函数为新任务创建一份与父任务完全相同的内存空间,然后再调用exec函数装入新任务的代码,并覆盖原父任务的内容。而spawn模型则直接为子任务分配一个全新的地址空间,然后再将其代码装入运行。