Kernel

響鈴和執行級別

  • December 22, 2018

下面陳述的問題在技術上可能不正確(誤解),因此如果誤解也得到解決,那將是顯而易見的。

不同的 *nix執行級別在哪個級別執行?

戒指標籤不可用。

Unix 執行級別與保護環是正交的(在“不相關”、“獨立於”的意義上)。

執行級別基本上是整個作業系統的執行時配置/狀態,它們描述了哪些服務可用(“對使用者”)——如 SSH 訪問、MTA、文件伺服器、GUI。

環是一個硬體輔助概念,它允許對硬體進行更細粒度的控制(如您連結到的維基百科頁面中所述)。例如,在更高級別的 Ring 中執行的程式碼可能無法執行某些 CPU 指令。

x86 架構上的 Linux 通常將 Ring0 用於核心(包括設備驅動程序),將 Ring3 用於使用者空間應用程序(無論它們是由 root 還是其他普通使用者或特權使用者執行)。

因此,您不能真的說某個執行級別正在某個特定的 Ring 中執行 - 總是有1 個使用者空間應用程序(至少 PID 1 - the init)在 Ring3 和核心(Ring0)中執行。


1與往常一樣,“總是”實際上意味著“幾乎總是”,因為您可以在 Ring0 中執行“正常”程序,但在現實生活中不太可能看到這一點(除非您在 HPC 上工作)。

引用自:https://unix.stackexchange.com/questions/94663