為什麼人們稱 Linux 為核心而不是作業系統?

為什麼人們稱 Linux 為核心而不是作業系統?

為什麼人們將 Linux 稱為核心而不是作業系統?據我所知,核心是作業系統的一部分。

答案1

Linux 系統由許多不同的部分建構而成。

核心部分是linux核心。 (你可以從內核.org,它最初是由萊納斯·托瓦爾茲誰將其命名為“Linux”。

核心本身幾乎沒有什麼用處。它管理所有類型的硬體並提供應用程式使用的介面。因此,要使用它,您需要使用該核心的應用程式。

另一方面有GNU專案, 發起人理查德·斯托曼。它的使命是創建一個完整的免費作業系統及其周圍的所有標準工具。

幾年後,GNU 專案進展順利,他們編寫了所有標準工具,但仍然缺少一個可用的核心。

所以碰巧同時有一個沒有工具的核心專案(Linux)和一個有所有工具但沒有核心的專案(GNU)。由於兩者都是用相同的 UNIX 思維方式編寫的,因此可以將它們組合成一個完整的作業系統,人們恰當地稱之為“GNU/Linux」。

但是,如果沒有您想要在其上運行的軟體,即使是這種裸露的“GNU/Linux”系統也不是很有用。 (例如瀏覽器、郵件伺服器或類似的東西。)

因此一些分佈(如Debian、RedHat、SuSE、Arch等)將Linux核心、GNU工具和各種應用程式打包在一起,以便於安裝和維護。 (也有使用其他核心的發行版。例如,您可以有一個Debian系統以 FreeBSD 或 GNU-Hurd 作為內核。

現在,對於「普通」人(例如只想擁有一個正在運行的網頁瀏覽器)來說,這個背景太詳細了,他們只需要一個名稱。因此,大多數時候,有人聲稱他安裝了“Linux”,他通常實際上安裝了一些發行版,其中包含 Linux 內核,作為許多發行版的一部分。

長話短說,人們通常只使用中央核心的名稱來指稱整個系統。

由您來決定所謂的「作業系統」。它只是管理硬體的東西(例如Linux)還是你與之互動的東西(例如你最喜歡的桌面環境),或者可能是介於兩者之間的東西,例如基本的(基於命令列的)GNU/ Linux。

答案2

核心是較大作業系統的組成部分——通常,在 Linux 發行版中,較大作業系統包含 GNU 工具基礎,這就是為什麼許多人將核心稱為 Linux,將整個作業系統稱為「GNU」 /Linux 」(儘管很多人並沒有做出這樣的區分)。

人們將 Linux 稱為作業系統,因為他們必須選擇一個名稱來指涉由各部分總和提供的整體作業系統。 Linux 是使用者容易看到的最低層級元件,因此自然會採用這個名稱和角色。人們通常不會將 GNU grep 稱為“GNU grep”,他們通常只是將其稱為“grep”——對於許多用戶來說,GNU 工具並不像 Linux 核心那樣明顯地捆綁在一起。

Richard Stallman 非常堅持讓人們稱 Linux 為“GNU/Linux”,因為它包含許多 GNU 工具(C 編譯器可能是最關鍵的)。我沒有那麼大驚小怪,其他人也沒有那麼大驚小怪。

如果你想清楚的話,GNU/Linux 明確指的是作業系統(而不是核心)。脫離上下文後,「Linux」的意思明顯更加模糊。

答案3

據我所知,核心是作業系統的一部分。

核心是作業系統的「核心」。它提供大部分關鍵服務。進程的啟動、終止和調度、為進程分配記憶體和交換空間、進程間通訊、檔案、網路堆疊的較低層級、某些層級的 IO 抽象化。

在核心之上,我們建立了一系列其他元件。一方面,如果沒有至少一些其他元件,核心就沒有多大用處。另一方面,這些組件中很少有真正是強制性的,並且大多數都可以用其他組件替換。

因此,究竟哪些元件應算作「作業系統」的一部分尚不清楚。

為什麼人們將 Linux 稱為核心而不是作業系統?

有兩個原因。

首先,嚴格來說這是真的。名為「Linux」的專案僅維護一個核心。第三方分銷商需要將其他軟體組合在一起,才能真正將其變成一個有用的系統。

其次,自由軟體基金會對 Linux 獲得所有榮耀感到有些惱火。特別是 Linus 是一個自由軟體實用主義者而不是一個理想主義者。

GNU 計畫由 FSF 設立,旨在創建 Unix 的自由軟體替代品。他們創建了許多重要元件的替代品,例如編譯器、binutils(彙編器、連結器等)libc(提供C 標準函式庫和將核心的系統呼叫介面轉換為posix 的包裝器)、textutils、shellutils 和fileutils(現在合併為coreutils)。

然而,他們努力尋找 Unix 核心的替代品。 1987 年,斯托曼決定採用基於 Mach 微核心和一組稱為 Hurd 的守護程式的系統。然而,由於許可問題,該專案的啟動時間被推遲了 3 年,並且從那時起就一直處於停滯狀態。

同時,一位名叫 Linus 的學生受 MINIX 的啟發編寫了自己的核心。單獨的核心並不能構成作業系統,因此 GNU 元件被移植到新核心。幾個月之內,核心已經足夠先進,並且已經移植了足夠的軟體,使系統能夠“自託管”,也就是說可以在 Linux 上構建 Linux。不久之後,Linux 採用了 GPL 並迅速開始獲得發展勢頭。

無論好壞,Linux 這個術語不僅用來描述內核,還用來描述整個系統。這讓 FSF 很惱火,他們認為核心只是眾多元件中的一個。從他們的角度來看,他們認為自己的專案本質上是被拉攏的。

答案4

Linux是一個核心。這是稱其為內核的主要原因。 Ubuntu、Android 和 Chrome OS 是根本不同的作業系統。 Ubuntu 應用程式不一定在 Android 上運行,就像它們不一定在 Windows 上運行一樣。原因很簡單:作業系統不同。從安全角度來看,基於 Linux 的作業系統也存在很大差異。 Chrome 作業系統眾所周知非常安全。 Android 沒那麼安全:http://www.forbes.com/sites/gordonkelly/2014/03/24/report-97-of-mobile-malware-is-on-android-this-is-the-easy-way-you-stay-安全的/

相關內容