2
操作系統特權級別和底層硬件特權級別之間的區別是什麼?所有的系統調用是否會導致內核陷阱?爲什麼系統調用會導致陷阱?是否因爲彙編代碼中的特權指令(如IN)?操作系統特權級別與硬件特權級別
操作系統特權級別和底層硬件特權級別之間的區別是什麼?所有的系統調用是否會導致內核陷阱?爲什麼系統調用會導致陷阱?是否因爲彙編代碼中的特權指令(如IN)?操作系統特權級別與硬件特權級別
直接回答你的問題:
是什麼底層硬件的操作系統的權限級別和特權級別的區別?
必須在代碼級別(即特權指令)上強制執行的權限必須在硬件中受支持。許多操作系統安全級別(即訪問特定硬件設備的權限)不需要硬件支持來驗證該特定功能,但它至少需要硬件支持才能阻止代碼訪問設備。因此,簡而言之,操作系統實現特權級別的能力取決於底層硬件,但兩者不必相同。
是否所有的系統調用都會導致內核陷阱?爲什麼系統調用會導致陷阱?是否因爲彙編代碼中的特權指令(如IN)?
這基本上是正確的。陷印是非特權代碼可以轉換到特權級別的自然機制。例如,如果一個用戶程序需要訪問某個硬件,那麼IN和OUT是有特權的,所以它必須「陷入」內核,然後內核將執行所需的操作並返回。
所以看起來系統調用是包含調用特權指令的函數的函數。我對嗎? – user1284064
@ user1284064幾乎所有的系統調用都是通過軟件中斷來實現的,例如,用特權指令「調用」函數的客戶機程序使用INT指令來告訴內核要做什麼。 – Dougvj