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

作者: wandog (慢跑中毒)   2018-07-09 21:06:44
※ [本文轉錄自 Linux 看板 #1RGrij4S ]
作者: wandog (fight!!) 看板: Linux
標題: [問題] 關於kernel的多執行緒?
時間: Mon Jul 9 20:55:07 2018
我看到的一些資料 不太確定我的認知正不正確 請各位指教
基本上 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 (慢跑中毒)   2017-07-09 21:05:00
LINUXDEV
作者: hizuki (ayaka)   2018-07-09 21:14:00
userspace和kernel混合一起講,再加上interrupter這個是大哉問啊。另外timer也很多種類,而且現代不需要整個cpu切換
作者: wandog (慢跑中毒)   2018-07-09 21:34:00
以比較簡單的狀況來討論?
作者: hizuki (ayaka)   2018-07-10 23:03:00
os一學期就學你問的那麼多東西

Links booklink

Contact Us: admin [ a t ] ucptt.com