不要nuwa直接用plugin-container 都可以,说明nuwa非必要。
Nuwa加plugin目的在于创建prealloc,加快进程创建时的响应速度。
如果nuwa忙不过来,就直接从b2g调plungin来fork进程,再给子进程。
nuwa中做的工作就是把支持Nuwa的线程冻结起来,加以复制,丢到prealloc里,并在复制完之后repalace 恢复。然后到b2g请求app进程时唤醒/创建具体特殊线程,并将控制权交给相应的APP???
gecko/ipc/mozglue/进程fork模块:结合Log分析nuwa.cpp,nuwa的主要工作就是冻结线程,复制之,于fork出的新进程中恢复。简单说,以nuwa为模板,复制基本公用的线程,待有实际APP触发,为其创建特殊的线程,并将进程控制权交之。

本文探讨了Nuwa在进程创建中的角色,特别是在预分配(prealloc)中的应用,旨在通过复制模板线程来加速进程响应速度。当Nuwa负载过高时,系统会直接调用插件容器(plugin-container)进行进程fork,确保应用启动效率。Nuwa的核心任务是冻结并复制线程,为特定应用程序创建定制化的线程环境。
2万+

被折叠的 条评论
为什么被折叠?



