Linux 只是一個內(nèi)核:這意味著什么?
您可能已經(jīng)在互聯(lián)網(wǎng)上看到和聽到這類討論:
Linux 只是一個內(nèi)核
這讓你很好奇。是內(nèi)核嗎?它是操作系統(tǒng)嗎?兩者有什么區(qū)別?
我將在這篇博文中回答你的這些問題。
Linux 是操作系統(tǒng)還是內(nèi)核?
好吧,從技術(shù)上講,Linux只是一個內(nèi)核,而不是一個操作系統(tǒng)。但是,術(shù)語 Linux 通常是指一個完整的操作系統(tǒng),其中包括一個shell(如bash)和命令行和/或 GUI 工具來控制系統(tǒng)。這個完整操作系統(tǒng)的技術(shù)正確術(shù)語是 Linux 發(fā)行版或簡稱 Linux 發(fā)行版。流行的 Linux 發(fā)行版的例子包括 Ubuntu,Red Hat 和 Debian。
早在 1991 年,Linus Torvalds 創(chuàng)造的只是內(nèi)核。即使在今天,他也在研究 Linux 內(nèi)核。他不再編碼,但監(jiān)督哪些代碼進(jìn)入內(nèi)核。
內(nèi)核是什么?
內(nèi)核是每個操作系統(tǒng)的中心。這不僅僅是 Linux 的事情。Windows 和 macOS 也有內(nèi)核。
將內(nèi)核視為操作系統(tǒng)的核心。你離不開你的心。沒有內(nèi)核,您的操作系統(tǒng)就無法存在。
然而,就像心臟需要一個身體來生活一樣,內(nèi)核需要其他程序和工具來制作一個人們可以在他們的計算機(jī)上使用的完整操作系統(tǒng)。
以下是操作系統(tǒng)的典型結(jié)構(gòu):
內(nèi)核是與硬件交互的核心。最重要的是與內(nèi)核交互的 shell。然后你有應(yīng)用程序,命令行和圖形,給你各種使用系統(tǒng)的方式。
內(nèi)核是引擎,操作系統(tǒng)是汽車
一個更好的類比是將內(nèi)核視為汽車的引擎,將操作系統(tǒng)視為汽車。
你不能駕駛發(fā)動機(jī),但你也不能在沒有發(fā)動機(jī)的情況下駕駛汽車。你需要有輪胎、轉(zhuǎn)向系統(tǒng)和其他組件才能把它變成一輛你可以駕駛的汽車。
同樣,您不能直接使用內(nèi)核。您需要 shell,然后是其他工具和組件才能使用操作系統(tǒng)。
Linux vs GNU/Linux
在類似的語句中,你還會遇到類似“Linux 只是一個內(nèi)核,你所說的 Linux 實際上是 GNU Linux”這樣的語句。
甚至在 Linus Torvalds 在 1991 年創(chuàng)建 Linux 之前,Richard Stallman 就創(chuàng)建了自由軟件運(yùn)動和 GNU 項目。GNU 項目包括重新實現(xiàn)流行的 UNIX 工具和命令,如 ls,grep,sed 等。
通常,您的 Linux 發(fā)行版在 Linux 內(nèi)核之上附帶所有這些 GNU 工具。
這就是為什么純粹主義者堅持稱它為GNU Linux,這樣人們就不會忘記 GNU 在 Linux 成功中的貢獻(xiàn)和重要性。
最后…
因此,如果您在口頭測驗或面試中被問到這個問題,請回答“Linux 是一個內(nèi)核,而不是操作系統(tǒng)”。大多數(shù)情況下,你的老師或面試官都在尋找這個答案。
但在內(nèi)心深處,了解內(nèi)核和操作系統(tǒng)之間的區(qū)別。
如果有人說“我使用 Linux”,你就會明白這個人指的是 Linux 發(fā)行版,而不僅僅是內(nèi)核。真誠地說,沒有必要用“Linux 只是一個內(nèi)核,而不是操作系統(tǒng)”來糾正某人。