“Linux”不等同于Linux內核:構建Linux系統的8個軟件包

jopen 10年前發布 | 18K 次閱讀 Linux

“Linux”不等同于Linux內核:構建Linux系統的8個軟件包

Linux發行版并不僅僅是Linux內核。所有的Linux發行版都包含了除內核之外的一些必要的軟件包,比如Grub引導程序、Bash shell、GNU shell工具軟件、守護進程、X.org圖形服務器和桌面環境等等。所有這些不同的程序均由相互獨立的開發小組開發。這些程序被Linux發行版集成到 一起從而形成一套完整的“Linux”操作系統。這和Windows操作系統不同,因為整個Windows系統全部由微軟公司開發。

引導程序 (Bootloader)

當你打開電腦的時候,電腦的BIOS或者UEFI固件會 從其引導設備中加載軟件。任何一個操作系統啟動時首先加載的都是引導程序。在Linux操作系統中,通常使用的引導程序是Grub。如果你在一臺電腦上安 裝了多個操作系統,Grub會提供一個菜單供你選擇。例如,如果你裝了雙系統(Linux和Windows),你可以從Linux和Window中選擇任 何一項來啟動。如果你的電腦只安裝了Linux,或許Grub可以瞬間啟動它,但是它提供的選擇菜單還在那里。Grub負責啟動Linux系統、提供命令 行啟動選項和允許以其它方式啟動Linux以排除故障。沒有引導程序的Linux操作系統是無法啟動的。
“Linux”不等同于Linux內核:構建Linux系統的8個軟件包

Linux內核

確切地講,Grub引導的是Linux內核。它是操作系統的一部分,并且通常被稱為“Linux”。內核是整個Linux系統的核心。它管理著 CPU、內存和輸入/輸出設備(例如鍵盤、鼠標和顯示器)。由于內核可以直接和硬件交互,很多硬件驅動程序都成為Linux內核的一部分并且在內核中運 行。其它所有的軟件都運行在內核之上。內核是最底層的軟件,它提供操作硬件的接口。它在硬件之上提供一個抽象層來處理硬件的各種事務,從而把系統的其它部 分從硬件中解放出來。Windows操作系統使用的內核是Windows NT,Linux操作系統使用的是Linux內核。

守護進程 (Daemons)

守護進程是不可缺少的后臺進程。作為啟動進程的一部分,它在Linux內核之后和登錄界面顯示之前啟動。Windows把這些進程成為“服務”,而 類Unix系統則稱它們為“守護進程”。例如,管理任務調度的crond就是一個守護進程——最后的字母d即代表守護進程。廣泛使用的管理系統日志的 syslogd也是守護進程。服務器進程,如sshd,也是以守護進程的形式在后臺運行。這種做法可以保證它們一直處在運行狀態,從而持續監聽遠程連接。
守護進程本質上只是在后臺運行的進程,但它們是讓人很少留意的系統級進程。

Shell

大多數Linux系統的默認shell是Bash shell。Shell提供了命令處理接口,從而可以在命令行窗口中輸入命令來控制電腦。Shell也可以以Shell腳本的方式運行,這種情況下一組Shell命令被寫在腳本中并按順序依次執行。
即使只使用圖形桌面,shell也一直在后臺運行。當你打開終端窗口的時候就會看到shell提示符。
“Linux”不等同于Linux內核:構建Linux系統的8個軟件包

Shell工具軟件

Shell提供了一些最基本的內嵌命令。但大多數用戶經常用到的shell命令并沒有被內嵌到Shell中。例如,GNU核心工具軟件包提供了很多 和cp(復制文件)、ls(列出當前目錄下的文件)和rm(刪除文件)一樣重要的命令。如果沒有這些重要的命令,Linux的功能就會受到極大的限制。事 實上,Bash shell本身就是GNU項目的一部分。這就是為什么大家一直在爭議應該把Linux叫做“Linux”還是應該叫它“GNU/Linux”。 “Linux”的批評者認為Linux系統中包含了大量的通用軟件,但“Linux”沒有明確指出它們的存在;而“GNU/Linux”的批評者則認為 Linux系統中也包含了很多“GNU/Linux”無法代表的重要軟件。并不是所有的shell工具軟件和命令行程序都包含在GNU項目中。一些命令和 終端程序都有自己特定的項目。

X.org圖形服務器

Linux圖形桌面不是Linux內核的一部分。它是由一個名叫“X服務器”的工具包提供的,它實現了很早就有的“X視窗系統”。目前最受歡迎的X 服務器——或叫做圖形服務器——是X.org。你看到的圖形登錄窗口和桌面正是X.org體現它的魔力所在。整個圖形系統是由X.org控制的,它提供了 與顯卡、顯示器、鼠標和其它一些設備的接口。X.org只提供了圖形系統而不是整個桌面環境。桌面環境和工具包可以構建在X.org提供的圖形系統之上。

桌面環境

你真正使用的Linux桌面是一個桌面環境。 例如,Ubuntu采用Utility桌面環境,Fedora采用GNOME,Kubuntu采用KDE,Mint一般使用Cinnamon或MATE。 這些桌面環境提供了一些你看得見的東西——桌面背景、面板、窗口的標題欄和邊框。桌面環境通常包含一些自己開發的工具軟件來形成一個整體。例 如,GNOME和Unity包含了Nautilus文件管理器;而KDE則包含了Dolphin文件管理器。
“Linux”不等同于Linux內核:構建Linux系統的8個軟件包

桌面程序

并不是每個桌面程序都是桌面環境的一部分。例如,Firefox和Chrome是與桌面環境無關的,它們通常可以在任何桌面環境中運行。同 樣,OpenOffice套件也與具體桌面環境無關。你可以在任何桌面環境中運行任意Linux桌面程序。但是為某個特定桌面環境設計的程序在其它桌面環 境中運行時會顯得不協調或運行速度較慢。例如,如果你在KDE中運行GNOME下的Nautilus文件管理器,它會顯得不協調并要求你安裝一系列的 GNOME庫,而且啟動時它或許會后在臺運行GNOME桌面進程。這種情況下它可以運行起來并且可以被使用的。

Linux發行版執行最后的步驟:把上述的所有軟件集成到一起使它們很好的工作,并添加其它一些必要的軟件。例如,Linux發行版通常都包含自己特定的系統安裝軟件。通過這個軟件,你可以安裝Linux系統和軟件包管理器(用來安裝其它軟件或更新現有的軟件)。

原文鏈接: Chris Hoffman 翻譯: 極客范 - 小道空空

譯文鏈接: http://www.geekfan.net/5035/

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!