单选题
嵌入式Linux操作系统中任务的创建过程如下,以下说法正确的是
________
。
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模型和spawn模型创建任务时,都要先为新任务分配相应的数据结构,然后再为新任务分配内存空间。
这两种模型的主要差别在于内存的分配方式,在fork/exec模型中,首先调用fork函数为新任务创建一份与父任务完全相同的内存空间,然后再调用exec函数装入新任务的代码,并覆盖原父任务的内容。而spawn模型则直接为子任务分配一个全新的地址空间,然后再将其代码装入运行。