Linux 只是一個內核:這是什麼意思?
這是一個困擾 Linux 用戶的常見問題。這也是考試和面試中經常問到的一個問題。下面是你需要了解的所有內容。
開源朗讀者 | 徐斯佳
你可能在網路上的各種論壇以及討論區聽過這句話:
這讓你感到好奇。它是個內核?還是個操作系統?兩者之間有什麼區別?
我將在本文中回答這些問題。
Linux 是操作系統還是內核?
好吧,從技術上講,Linux 只是一個內核,而不是一個操作系統。但是,術語 「Linux」 通常是指一個完整的操作系統,它包括一個 交互界面 (例如:bash)和命令行和/或 GUI 工具來控制系統。這個完整的操作系統的正確叫法是 「Linux 發行版」。流行的 Linux 發行版有 Ubuntu、Red Hat 和 Debian。
早在 1991 年,Linus Torvalds 創建的只是一個內核。直到今天,他也在為 Linux 內核工作。他不再編寫代碼,而是監督哪些代碼進入內核。
內核?什麼東西?
內核是每個操作系統的中心。不僅僅是 Linux,Windows 和 macOS 也有內核。
將內核想像成操作系統的心臟。沒有心臟,你就無法生存。沒有內核,操作系統就無法存在。
但是,就像心臟需要一個身體來生存一樣,內核需要其他人們可以在計算機上使用的程序和工具來構成一個完整的操作系統。
這是一個操作系統的典型架構:
在中心的內核與硬體交互。在它之上是與內核交互的 交互界面 。然後你有應用程序、命令行和圖形界面,為你提供使用系統的各種方式。
內核是引擎,操作系統是汽車
一個更好的類比是將內核想像成汽車的引擎,而操作系統則是汽車。
你不可能駕駛一個引擎,但是如果沒有引擎,你也不能駕駛一輛汽車。你需要輪胎、轉向機和其他組件才能將其變成一輛可以駕駛的汽車。
相似地,你不能直接使用內核。你需要 交互界面 ,其他工具和組件才能使用操作系統。
Linux 對比 GNU/Linux
在類似的地方,你也會看到例如 「Linux 只是一個內核,你所說的 Linux 實際上是 GNU/Linux」 的陳述。
在 Linus Torvalds 在 1991 年創建 Linux 之前,Richard Stallman 就創建了 自由軟體運動 和 GNU 項目。GNU 項目包括對流行的 UNIX 工具和命令的重新實現,例如 ls
、grep
、sed
等。
通常,你的 Linux 發行版會在 Linux 內核之上包含所有這些 GNU 工具。
這就是為什麼純粹主義者堅持稱之為 GNU/Linux,以便人們不要忘記 GNU 對 Linux 成功的貢獻和重要性。
最後……
所以,如果你在面試或者考試中被問到這個問題,回答 「Linux 是一個內核,而不是一個操作系統」。這是你的老師或面試官在大多數情況下想要的答案。
但是更深入一點,理解內核和操作系統之間的區別。
如果有人說:「我使用 Linux」,你就會明白這個人是指 Linux 發行版,而不僅僅是內核。誠然,沒有必要用 「Linux 只是一個內核,而不是一個操作系統」 來糾正別人。
via: https://itsfoss.com/linux-kernel-os/
作者:Abhishek Prakash 選題:lkxed 譯者:Cubik65536 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive