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