Linux

linux模組/驅動程序屬於核心空間還是使用者空間

  • July 12, 2016

一些文章說模組/驅動程序屬於核心空間,因為它參與了核心的形成;(參考:http ://www.freesoftwaremagazine.com/articles/drivers_linux )

而其他人則說只有 Ring0(直接與硬體互動)可以稱為核心空間(排除模組/驅動程序,因為它們在 Ring2)。(參考:http: //jaseywang.me/2011/01/04/vfs-kernel-space-user-space-2/

誰能告訴我哪個觀點是正確的?

在 AMD64 和複製以及 ix86 上,Linux 僅使用環 0 和 3。無論如何,沒有其他常見架構具有“環”,因此完全使用它們將是完全不可移植的。此外,Linux 是單片的。整個環的想法是能夠在環 0 上執行微核心,並讓服務程序在更高的環上執行,這樣它們就不會弄亂微核心,最後讓使用者空間在最高的環上執行,這是它做不到的很大的傷害。

你能提供參考嗎?我假設您在談論 Linux,它(據我所知)僅使用 Rings 0(核心)和 3(使用者)。

編輯:

我認為這取決於作業系統設計。您可能會在微核心架構中使用內環。您是在詢問特定係統(例如 Linux)嗎?我相信只有針對特定作業系統才能回答這個問題。但是,在大多數情況下,基於 x86 的作業系統僅使用“核心”(0)和“使用者”(3)。

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