Re: [請益] user/kernel level

作者: watz0n (watz0n)   2014-10-08 23:47:20
※ 引述《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
作者: zelkova (*〞︶〝*)   2014-10-09 00:19:00
先謝謝watz0n大大的回覆我想我的問題主要來自於對firmware的誤解 因為我寫的lib被燒成fw 但是又一直認為fw會跑在kernel mode間接誤會我寫的library會跑在kernel mode
作者: watz0n (watz0n)   2014-10-09 00:34:00
恩,原本Firmware指很簡單的IO如BIOS,因為記憶體有限又很貴但是Flash瘋狂演進後就大到幾乎能塞下基礎OS了..回到原題, 通常.so會掛在user下, .ko會掛在kernel下.

Links booklink

Contact Us: admin [ a t ] ucptt.com