[問題] 關於kernel的多執行緒?

作者: wandog (慢跑中毒)   2018-07-09 20:55:07
我看到的一些資料 不太確定我的認知正不正確 請各位指教
基本上 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?
作者: wandog (慢跑中毒)   2018-07-09 21:05:00
LINUXDEV

Links booklink

Contact Us: admin [ a t ] ucptt.com