※ 引述《zelkova (*〞︶〝*)》之銘言:
: 各位前輩好
: 最近面試的時候 遇到一位面試官問了一個問題
: 類似這樣 "你這支程式是user level還是kernel level?"
: 以前修OS大概還能區分這兩個名詞的差異
: 但是我發現我都沒去思考怎麼區分程式是屬於哪一個@@
: 請問有什麼關係可以判斷程式是屬於user/kernel level呢? 謝謝
推文主要是表示Kernel/User使用的記憶體區塊不同,
但是重新看了下Figure 3確實也沒有切得很清楚.
大略切割架構如下連結的Figure 2,
http://www.ibm.com/developerworks/library/l-linux-kernel/
然後User Level/Kernel Level應該是類似如下內文的說法:
http://unix.stackexchange.com/questions/87625/
what-is-difference-between-user-space-and-kernel-space
但是我比較喜歡下面這篇的解釋方法.
http://stackoverflow.com/questions/17208648/
linux-kernel-space-and-user-space
至於為什麼要切這兩個模式, 應該是要實現OS裡面設計的分時多工系統,
因為硬體只有一個, 但是軟體有千千萬萬個,
不獨立一個區域管理, 有時資源(CPU, Memory, IO等)就會衝突而癱瘓.
再詳細要去看有OS實作的書籍解釋如何分配的演算法了.
Many Thanks,
watz0n