看板 Linux 關於我們 聯絡資訊
我看到的一些資料 不太確定我的認知正不正確 請各位指教 基本上 kernel space中 可以當作一個process一直在無限loop 並且裡面有多個threads在執行 當user space的process執行kill這個指令 則會藉由c lib呼叫syscall 並將要執行的vector function所對應 的代號放入特定暫存器後 執行軟體中斷 切換到kernel mode 而在kernel mode中 vector function讀取站存器存放的代號 呼叫對應的函式做事 我不太懂的是 如果kernel space是一個多執行緒的process 他是另外產生一個 thread來呼叫對應的函式做事 還是原本就在跑的thread自己會呼叫函式做事? 以及這個呼叫的過程是怎麼實作的? 另外想接著問一個schedular的問題 他的運作方式是是在timer的中斷產生後 直接在vetor function中就執行context switch的動作嗎? 抑或是跟上一段 一樣 vector function是讓kernel process去執行context switch? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.75.154.85 ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1531140909.A.11C.html
wandog: LINUXDEV 07/09 21:05
wandog:轉錄至看板 LinuxDev 07/09 21:06