2011-12-10 83 views

回答

3

這是不安全的,從搶先。

do_fork調用copy_process,後者又執行初始化任務的sched_fork。之後,do_fork調用wake_up_new_task以將其放到運行隊列中。

這是分開的,以便能夠在計劃之前終止或終止進程。

sched_fork禁用搶佔,但在其完成工作後啓用它,使內核在調用wake_up_new_task並將其放入運行隊列之前搶先成爲可能。

這是基於我對2.6內核的瞭解。