linux 是由 Linus 和 GNU 基金會開發(fā)的原始代碼,指的是 GNU/Linux 操作系統(tǒng)的內(nèi)核。更一般地說,它是類Unix。Unix是由AT&T開發(fā)的原始代碼,是指AT&T開發(fā)的原始操作系統(tǒng)。更一般地說,它指的是派生操作系統(tǒng)的系列。Linux是開源的,而Unix是混合的,實際上,很多是閉源的,很少有Unix項目是開源的。
什么是 UNIX?
Unix被認(rèn)為是大多數(shù)操作系統(tǒng)之母。Unix系統(tǒng)的設(shè)計基于“Unix哲學(xué)”,其中包括以下特征:
- 使用純文本進(jìn)行數(shù)據(jù)存儲。
- 分層文件系統(tǒng)。
- 將設(shè)備和某些特定類型的進(jìn)程間通信 (IPC) 作為文件進(jìn)行處理。
- 使用大量的軟件工具。
- 多個小型,簡單和模塊化的程序,可以使用管道通過命令行解釋器連接在一起,與使用包含所有相同功能的單個整體程序形成鮮明對比。
這里值得一提的是下面關(guān)于Unix哲學(xué)的引用:
雖然這種哲學(xué)不能用一句話來寫,因為它的核心是系統(tǒng)的力量更多地來自程序之間的關(guān)系,而不是程序本身。許多 UNIX 程序孤立地做著非常微不足道的事情,但是,與其他程序相結(jié)合,成為通用和有用的工具。 – Brian Kernighan & Rob Pike
Unix Architecture
下圖將向您描述Unix體系結(jié)構(gòu)。
Unix的主控程序是它的內(nèi)核。內(nèi)核可以完全控制整個系統(tǒng)。它具有為文件系統(tǒng)處理,資源處理,內(nèi)存管理,啟動和停止程序以及少數(shù)其他低級核心任務(wù)提供服務(wù)的子系統(tǒng)。
內(nèi)核是操作系統(tǒng)的核心,充當(dāng)用戶和硬件之間的接口。每個內(nèi)核子系統(tǒng)都具有某些功能,如并發(fā)、虛擬內(nèi)存、分頁和虛擬文件系統(tǒng)。
在架構(gòu)的外層,我們有shell,命令和應(yīng)用程序。Shell 是用戶和內(nèi)核之間的接口。Shell和用戶鍵入命令,解釋這些命令并相應(yīng)地調(diào)用計算機(jī)程序。
Unix操作系統(tǒng)的例子是Solaris和HP-UX。UNIX系統(tǒng)的最大分銷商包括IBM,HP和SUN。
什么是 Linux?
到現(xiàn)在為止,你已經(jīng)對Unix有了一個大概的了解。現(xiàn)在讓我們詳細(xì)探討一下 Linux。
人們確實在Unix和Linux這兩個術(shù)語之間混淆了很多,他們通常會問這樣的問題:“Unix與Linux不同嗎?”/“Linux和Unix是一回事嗎?”/“Linux像Unix嗎?”/ “Linux是建立在Unix之上的嗎?
以下是所有這些問題的答案。首先,讓我用一句話來澄清你的困惑。Linux和Unix是不同的,但它們確實相互關(guān)系,因為Linux是從Unix派生的。
Linux不是Unix,但它是一個類Unix的操作系統(tǒng)。Linux系統(tǒng)是從Unix派生出來的,它是Unix設(shè)計基礎(chǔ)的延續(xù)。Linux發(fā)行版是直接Unix衍生品中最著名和最健康的例子。BSD(Berkley Software Distribution)也是Unix衍生品的一個例子。
在這個關(guān)鍵時刻,重要的是我們讓你清楚什么是類Unix?
類Unix操作系統(tǒng)(也稱為UN*X或*nix)是以類似于Unix系統(tǒng)的方式工作的操作系統(tǒng),但是,它們不必符合單一UNIX規(guī)范(SUS)或類似的POSIX(可移植操作系統(tǒng)接口)標(biāo)準(zhǔn)。
SUS是任何操作系統(tǒng)都需要滿足的標(biāo)準(zhǔn),才有資格使用“UNIX”商標(biāo)。該商標(biāo)由“開放集團(tuán)”授予。
目前注冊的 UNIX 系統(tǒng)的一些示例包括 macOS、Solaris 和 AIX。如果我們考慮POSIX系統(tǒng),那么Linux可以被視為類Unix的操作系統(tǒng)。
根據(jù)Linux內(nèi)核官方README文件,Linux是由Linus Torvalds和團(tuán)隊從頭開始開發(fā)的UNIX克隆。它的目標(biāo)是符合 POSIX 標(biāo)準(zhǔn)。Linux內(nèi)核代碼完全是從頭開始編寫的。它的設(shè)計方式使其像Unix一樣,但它沒有原始的Unix代碼。
同樣重要的是要注意,Linux只是內(nèi)核,而不是完整的操作系統(tǒng)。這個Linux內(nèi)核通常被打包在Linux發(fā)行版中,從而使其成為一個完整的操作系統(tǒng)。
因此,Linux只是內(nèi)核,而Linux發(fā)行版可以被視為操作系統(tǒng)。另一方面,UNIX本身就是一個完整的操作系統(tǒng),因為所有東西(所有必需的應(yīng)用程序都捆綁在一起)都來自一個供應(yīng)商。例如 索拉里斯。
Linux發(fā)行版(簡稱發(fā)行版)是一種操作系統(tǒng),由基于Linux內(nèi)核構(gòu)建的軟件集合創(chuàng)建,是一個包管理系統(tǒng)。
標(biāo)準(zhǔn)的Linux發(fā)行版由Linux內(nèi)核,GNU系統(tǒng),GNU實用程序,庫,編譯器,附加軟件,文檔,窗口系統(tǒng),窗口管理器和桌面環(huán)境組成。
Linux發(fā)行版中包含的大多數(shù)軟件都是免費和開源的。它們可能包括一些專有軟件,如二進(jìn)制 blob,這對于一些設(shè)備驅(qū)動程序至關(guān)重要。
基于 Linux 的操作系統(tǒng)體系結(jié)構(gòu)
因此,Linux發(fā)行版實際上通過添加不同的應(yīng)用程序使Linux內(nèi)核完全可以用作操作系統(tǒng)。有各種版本的Linux發(fā)行版可以滿足廣泛的用戶需求。
例如,我們有用于嵌入式設(shè)備的基于OpenWrt Linux的操作系統(tǒng),用于個人計算機(jī)的Linux Mint和用于超級計算機(jī)的Rocks Cluster Distribution。總共存在大約600個Linux發(fā)行版。
有趣的是,您知道google流行的Android移動操作系統(tǒng)是基于Linux的。Android OS的每次迭代都是基于當(dāng)前的Linux內(nèi)核構(gòu)建的。






