2012-08-31 50 views

回答

2

直接回答你的問題:

是什麼底層硬件的操作系統的權限級別和特權級別的區別?

必須在代碼級別(即特權指令)上強制執行的權限必須在硬件中受支持。許多操作系統安全級別(即訪問特定硬件設備的權限)不需要硬件支持來驗證該特定功能,但它至少需要硬件支持才能阻止代碼訪問設備。因此,簡而言之,操作系統實現特權級別的能力取決於底層硬件,但兩者不必相同。

是否所有的系統調用都會導致內核陷阱?爲什麼系統調用會導致陷阱?是否因爲彙編代碼中的特權指令(如IN)?

這基本上是正確的。陷印是非特權代碼可以轉換到特權級別的自然機制。例如,如果一個用戶程序需要訪問某個硬件,那麼IN和OUT是有特權的,所以它必須「陷入」內核,然後內核將執行所需的操作並返回。

+0

所以看起來系統調用是包含調用特權指令的函數的函數。我對嗎? – user1284064

+0

@ user1284064幾乎所有的系統調用都是通過軟件中斷來實現的,例如,用特權指令「調用」函數的客戶機程序使用INT指令來告訴內核要做什麼。 – Dougvj