Author:rab
目錄
- 前言
- 一、UNIX
- 二、Linux
- 三、GNU
前言
你是否經常看見或聽說過這么一句話:這是一個類 Unix 的 GNU/Linux
操作系統,你是怎么理解這句話的呢?想要搞懂這句話的含義,你需要了解以下三點基本常識。
一、UNIX
想要了解 Linux,首先要清楚最早的操作系統之一 —— Unix,它是一種多用戶、多任務操作系統,由 AT&T 貝爾實驗室的 Ken Thompson
、Dennis Ritchie
等人在 1960 年代末 1970 年代初開發。其設計理念是建立一個簡潔、靈活、可擴展的操作系統,以滿足多用戶環境的需求。該操作系統最初是用匯編語言編寫的,后來演變成了使用 C 語言。
Unix 最初是一個商業操作系統,被許多公司采用并根據其需求進行修改。因此,存在多個不同的 Unix 版本,如 AIX、HP-UX、Solaris 等。不同版本之間存在差異,而且通常需要購買使用許可,這導致了標準化和互操作性的問題。
以下是 Unix 的一些關鍵特點和概念:
-
多用戶多任務
Unix 允許多個用戶同時訪問操作系統,并在同一時間運行多個程序,每個用戶都有自己的用戶賬戶和獨立的工作環境。
-
分時系統
Unix 是一種分時操作系統,它可以迅速地在不同的任務之間切換(即我們常說的并發),為用戶提供似乎同時運行的體驗。
-
分層結構
Unix 使用分層的體系結構,將系統功能劃分為若干層,每一層都有特定的功能,這種設計使得系統更易于維護和擴展。
-
命令行界面
Unix 提供了強大而靈活的命令行界面,用戶可以通過輸入命令來與系統交互,這種交互方式被稱為 shell。
-
文件系統
Unix 一切皆文件,并采用了層次化的文件系統,這種設計使得文件和設備可以以統一的方式進行管理。
-
可移植性
Unix 設計時考慮了可移植性,使得它能夠在不同的硬件平臺上運行。
-
開放性
Unix 的源代碼通常是封閉的,但有些版本如 BSD(Berkeley Software Distribution)是開源的,促使了開源運動的發展。
二、Linux
Linux 是一個免費、開源的類 Unix 操作系統內核,由 Linus Torvalds
于 1991 年首次發布。Linux 內核采用了 GNU 計劃的工具和系統組件,形成了一個完整的操作系統。
什么是類 Unix 操作系統
?其實就是指類似于 Unix 操作系統的操作系統,因此其設計和行為與 Unix 操作系統相似或兼容。這類操作系統通常采用了 Unix 的設計哲學和概念,包括多用戶、多任務、分層的系統結構、強大的命令行界面等特征。
以下是 Linux 的一些關鍵特點和概念:
-
多用戶多任務
Linux 支持多用戶和多任務操作,多個用戶可以同時登錄并在同一時間運行多個程序(與我們上面提到的 Unix 一致)。
-
發行版
Linux采用了分發式的模型,有許多不同的發行版,如Ubuntu、Fedora、Debian等。
-
命令行界面
Linux 提供了強大的命令行界面,用戶可以通過終端窗口使用命令來操作系統。
同時,也有圖形用戶界面(GUI)可供選擇。
-
文件系統
Linux 將文件和設備抽象為文件,采用了分層的、層次化的文件系統。
這種設計使文件和目錄之間的操作非常一致。
-
網絡功能
Linux 在設計時就考慮了網絡功能,使其在網絡環境中能夠高效運行,許多網絡設備和服務器使用 Linux 作為其操作系統。
-
可移植性
Linux 具有很高的可移植性,可以在多種硬件平臺上運行,從個人計算機到嵌入式系統、服務器和超級計算機。
-
安全性
Linux 有強大的安全特性,包括權限管理、防火墻、加密等功能。
這使其在服務器和網絡設備中得到廣泛應用。
-
開放性
Linux 是開源的,這意味著其源代碼可以被任何人查看、修改和分發。
這種開放性促進了廣泛的社區參與和合作。
三、GNU
GNU 是一個遞歸縮寫,它代表 "GNU's Not Unix"
。GNU 是一個自由軟件運動的項目,由理查德·斯托曼(Richard Stallman)于 1983 年發起,GNU 的目標是創建一個完全自由的 Unix 兼容操作系統。
以下是 GNU 的一些關鍵特點和概念:
-
自由軟件
GNU 強調自由軟件的概念,這意味著用戶有權利查看、修改和分發軟件的源代碼。
這樣的自由性質使得用戶能夠對軟件進行自定義,而不僅僅是使用它。
-
GPL 許可證
GNU 采用了 GPL(GNU General Public License)等開源許可證,這些許可證強調了對軟件自由使用、修改和分享的權利。
-
GNU 工具
GNU 計劃包含了一系列工具和系統組件,其中一些最為著名的包括:
- GNU Bash(Bourne Again SHell):一種常見的命令行 shell。
- GCC(GNU Compiler Collection):包括 C、C++、Fortran 等多種編程語言的編譯器。
- GNU Coreutils:包含了基本的命令行工具,如 ls、cp、mv 等。
這些工具為Linux操作系統提供了基礎,并使其成為一個完整的操作系統。
-
Hurd 內核
GNU 計劃最初計劃使用 Hurd 內核,以取代 Unix 內核。
然而,由于 Hurd 的開發進展較慢,許多 GNU/Linux 發行版使用了 Linux 內核。
-
GNU/Linux 操作系統
盡管 GNU 的原始計劃中包括了 Hurd 內核,但實際上,許多流行的 GNU/Linux 發行版使用了 Linux 內核。
因此,人們通常使用術語
"GNU/Linux"
來強調 GNU 工具和軟件在 Linux 系統上的存在和貢獻。
總體而言,Linux是一個操作系統的內核,而GNU則提供了Linux操作系統所需的大部分工具和組件。在實際使用中,人們通常會將Linux與GNU工具一起使用,形成一個完整的 GNU/Linux 操作系統。這個術語強調了GNU工具對Linux系統的貢獻,同時也表示這是一個完整的自由和開源的操作系統。
—END