1. 程式人生 > >【原始碼】程序--任督二脈之一

【原始碼】程序--任督二脈之一

程序和記憶體管理堪稱核心的任督二脈,是最重要的兩部分,也是最難的兩部分,這兩部弄清楚了,主體架構也就確立,其它都是支脈

 

(1)基本部分:程序。

start_kernel-->sched_init

start_kernel-->fork_init

start_kernel-->rest_init-->kernel_thread-->_do_fork

切換:

總是通過schedule進入切換程序。

切換的時機有兩種:

1.tick時鐘中斷,會呼叫 scheduler_tick,該函式再呼叫schedule。

2.當前程序執行完畢,主動呼叫schedule函式。

 

(2)擴充套件部分:互鎖和程序間通訊。