天天看點

Linux系列第 2 部分: Linux 系統概覽

在之前的教程 - Linux 簡介中,Linux 被介紹為流行的開源作業系統,在桌面、伺服器和移動計算環境中具有廣泛的應用範圍。Linux 是開源的,在 OSS 開發人員和擁護者中非常受歡迎,目前有數百個 Linux 發行版可用。任何 Linux 發行版或軟體包都是一個完整的作業系統軟體,将 Linux 核心、GNU 實用程式、Shell、桌面環境和一些預設應用程式捆綁在一起。是以,任何 Linux(作業系統)系統,無論其運作的硬體平台如何,基本上都具有以下軟體元件 -

1)Linux核心

2) GNU 實用程式

3)外殼

4) 桌面環境

5) 附加應用軟體

Linux系列第 2 部分: Linux 系統概覽

圖 1:Ubuntu Linux 系統

Linux 核心 –

Linux Kernel是Linux系統的核心。它負責管理計算機系統上的硬體和軟體。核心基本上實作了四個主要功能——系統記憶體管理、程式管理、硬體管理和檔案系統管理。

Linux 旨在成為 Unix 作業系統的副本。Unix 的開發是為了改善計算機上運作的不同程序對處理器時間的共享。是以,很明顯,Linux 本質上是為了改進硬體資源對包括記憶體在内的程序的配置設定。Linux 的開發不僅是為了利用實體記憶體 (RAM),它還通過在輔助存儲(硬碟)上建立虛拟記憶體來擴充可用記憶體。硬碟上的這個虛拟記憶體稱為交換空間。RAM 和交換空間上的記憶體被組織成稱為頁面的塊。核心在實體記憶體和交換空間上定位頁面,并建立目前在實體記憶體中并且接下來必須從交換空間傳輸到實體記憶體的記憶體頁面表。它将目前未使用的頁面換出以交換空間,并換入應用程式程序目前需要的頁面。這種記憶體頁面的換入和換出一直持續到 Linux 繼續運作。

核心管理的另一個重要功能是程序管理。這些程序可能在前台運作,在螢幕上顯示一些輸出,或者它們可能在背景運作,對登入使用者不可見。當 Linux 啟動時,核心啟動第一個程序——init,它啟動所有其他程序。init 程序加載虛拟記憶體并配置設定所有由它啟動的其他程序,虛拟記憶體中的一些空間用于資料和程式。在某些 Linux 發行版中,啟動後必須啟動的程序表位于 /etc/inittabs 檔案夾中,而在某些發行版中,啟動時必須啟動的程序的腳本位于 etc/init.d 檔案夾中,并且它們通過 etc/rcX.d 檔案夾中的條目啟動。

Init 必須定義一個運作級别以确定必須啟動哪些程序。通過在 etc/inittabs 檔案或 /etc/rcX.d 檔案夾中為每個程序定義運作級别,程序與運作級别相關聯。運作級别用于訓示 init 決定必須為 Linux 系統的特定模式運作哪些程序。

有 7 個運作級别,編号從 0 到 6。運作級别 0 表示停止模式,具有運作級别 0 的程序必須在系統關閉時運作。運作級别 1 表示單使用者模式,它會停止 Linux 配置網絡接口、啟動守護程序或允許非根使用者登入。運作級别 2 表示多使用者模式,它會停止 Linux 配置網絡接口并啟動守護程序。運作級别 3 表示多使用者模式,具有網絡,使 Linux 可以正常運作。運作級别 4 未定義,可以由使用者定義。運作級别 5 表示 X11,它使 Linux 正常運作,就像在運作級别 3 中向系統添加顯示管理器 (X) 一樣。運作級别 6 表示重新啟動并重新啟動系統。

運作級别 3 和 5 最常用。Linux 可以通過控制運作級别來控制整體功能。通過将運作級别從 3 更改為 5,系統可以從基于控制台的系統更改為圖形系統。

Linux作為作業系統必須能夠管理硬體資源。核心通過其裝置驅動程式與硬體元件通信。裝置驅動程式可以與核心一起編譯或插入到正在運作的核心中。将裝置驅動程式與核心一起編譯的方法效率低下,因為每當将新裝置插入計算機系統(如連接配接 USB 随身碟或連接配接揚聲器)時,它都需要重新編譯 Linux 核心。是以,在運作的核心中插入裝置驅動子產品而不重新編譯的方法被引入并被普遍使用。

硬體裝置在 Linux 中由稱為裝置檔案的特殊檔案辨別,而與它們的所有通信都由另一種稱為節點檔案的特殊檔案處理。裝置檔案分為三種類型——字元(用于與核心一次一個字元通信的裝置,如數據機和終端)、塊(用于通過大塊資料通信的裝置,如硬碟驅動器)和網絡(用于通過通過通信網絡或網際網路發送或接收的資料包)。裝置驅動程式規定了 Linux 核心和硬體裝置之間必須如何進行資料通信。裝置檔案定義了這種通信的性質,節點檔案定義了所有這些資料通信必須如何執行。

二級存儲是大多數計算系統的重要組成部分。Linux 必須能夠從硬碟驅動器的各種檔案系統讀取和寫入檔案。是以,Linux 核心支援多種檔案系統,如 FAT32、NTFS、XFS、ext、ext2、ext3、ext4、iso9660、hpfs、jfs、msdos、minix、nfs、proc、ufs、umsdos、sysv、smb、ncp , ReiserFS 等。 Linux 使用虛拟檔案系統 (VFS) 與任何檔案系統互動。

這使 Linux 能夠從任何類型的檔案系統讀取和寫入資料。

GNU 實用程式 –

系統實用程式對任何作業系統都至關重要,Linux 對此并不陌生。Linux 使用 GNU 系統實用程式,這些實用程式是在 GNU 項目下作為開源軟體開發的。這些系統實用程式構成了 Linux 核心和應用軟體之間的橋梁。他們負責檔案處理、程序管理和文本操作。GNU 實用程式在 Linux 系統中具有如此重要的作用,以至于 Linux 經常被許多純粹主義者稱為 GNU/Linux 系統。

Shell-

Shell 是一個互動式實用程式,用于輸入指令并在 Linux 核心上執行它們。對于輸入指令,Shell 有一個指令提示符。shell 包括一組用于處理檔案和檔案系統、管理程序以及與程式互動的内部指令。使用者可以通過 shell 啟動、停止或更改程式執行。可以将 shell 指令分組到稱為 shell 腳本的檔案中以執行程式。

有許多可用于 Linux 的 shell。其中有些 shell 更容易建立 shell 腳本,而有些則更容易執行 shell 腳本。Linux 核心中的預設 shell 是 Bash Shell。它由 GNU 項目開發,用于替代 Bourne Shell(以其建立者命名的預設 Unix Shell)。Bash Shell 這個名字本身是從“Bourne Again Shell”中創造出來的。

其他可用于 Linux 的流行 shell 包括 Tcsh/Csh shell、Ash Shell、Zsh Shell、Korn Shell 和 Fish Shell。Tcsh/Csh 是增強的 C Shell,它使用 C 文法作為 shell 指令。其主要功能包括類似 C 語言的程式設計、指令行編輯器、拼寫更正、檔案名完成和作業控制。Ash 是一個 bash 相容的 shell,設計用于在受限記憶體上運作。Korn Shell 或 Ksh 是 Bourne 相容的 shell,具有進階程式設計語言功能和互動式指令語言。Zsh 是一個進階 shell,其中包括 korn shell、bash 和 Tchs 的功能以及許多獨特的功能,如啟動檔案、變量索引、函數索引、概念索引、檔案名生成、密鑰索引、結束注釋等。

桌面環境 –

最初,Linux 有指令行界面。随着 Windows 作業系統的流行,對 Linux 圖形使用者界面的需求開始增長。是以,OSS 開發人員沒有浪費時間,許多圖形桌面環境是由不同的 OSS 開發人員及其團隊開發的。一些流行的桌面環境包括 X Window 系統、KDE 桌面、GNOME 桌面、Unity 桌面、Fluxbox、JWM、Xfce、Fvwm、fvwm95、Mate、Cinnamon、LXQt、LXDE、Luminia、Enlightenment、Sugar、EDE、Project Looking Glass 和通用桌面環境。

X 視窗系統 –

任何桌面環境(程式)都需要與視訊卡和顯示器進行資料通信,以在顯示器螢幕上投影圖形環境。X 視窗系統是為包括 Linux 在内的許多作業系統開發的桌面環境。X Window System 最流行的版本是 X.org,它支援許多最新的視訊卡。X 視窗系統是一個低級程式,直接與顯示硬體(視訊卡和顯示器)互動。除了 X.org,其他流行的 X 視窗版本是 Wayland 軟體(在 Fedora Linux 中提供)和 Mir Display Server(在 Ubuntu Linux 中提供)。桌面環境是 Linux 作業系統不可或缺的一部分。安裝時,Linux(具有 X Window 桌面)會建立一個 X Window 配置檔案,用于掃描視訊卡和顯示器,并檢測支援的視訊模式和分辨率。X Window 隻能在螢幕上顯示圖形環境。它不能讓使用者操作檔案或啟動程式。是以,X 視窗系統之上還需要其他桌面環境。

KDE 桌面環境 –

K Desktop 是一個類似于 Windows 的桌面環境,于 1996 年首次釋出。它包含一個桌面區域(類似于 Windows),可以放置檔案和應用程式的圖示。使用者可以通過單擊其圖示來啟動應用程式,而在單擊檔案圖示時,系統會提示使用者選擇一個應用程式來打開該檔案。這稱為桌面區域。桌面區域底部還有一個面闆。該面闆具有程式快捷方式和小程式(具有可變圖示的小型應用程式)。有一個 K 菜單(類似于 Windows 中的開始菜單),其中包含已安裝程式的連結。還有一個工作列(類似于 windows 中的工作列),其中放置了目前正在運作的應用程式的圖示。

GNOME 桌面 –

GNU 網絡對象模型環境(GNOME)是另一種流行的桌面環境,于 1999 年首次釋出。它是 Red Hat Linux 和許多其他 Linux 發行版中的預設桌面環境。它包括幾個類似于 Windows 的功能,例如,圖示的桌面區域、圖示和面闆區域的拖放功能。GNOME中有許多額外的圖形功能,使其有别于流行的視窗外觀和感覺。

統一桌面 -

Unity 是為 Ubuntu Linux 開發的桌面環境。它不同于 KDE 和 GNOME。Unity Desktop 的開發目标是在台式電腦、手機和平闆電腦等各種平台上提供通用的圖形環境。無論是在計算機、移動裝置、平闆電腦還是平闆手機上運作,​​它都具有相同的圖形界面。

KDE 等離子 –

可用的最新版本的 KDE 桌面是由 KDE 軟體社群開發的 KDE Plasma。它與幾個稱為 KDE 應用程式的工具和實用程式打包在一起。比如,它包含 Dolphin 檔案浏覽應用程式,該應用程式具有批處理檔案重命名、頁籤式浏覽支援、桌面小部件和多個面闆等功能。它還具有用于音頻和視訊播放應用程式的媒體控制功能的實時視窗預覽。它帶有自己的外殼,稱為 KRunner,甚至可以通過右鍵單擊應用程式的圖示來自定義應用程式。它還包含一個 KDE Con​​nect 應用程式,通過它可以将 Android 和黑莓裝置連接配接到桌面,并且可以從 Linux 桌面本身通路通知、電池狀态和移動裝置檔案。KDE Plasma 的預設桌面環境是 OpenSUSE Linux Distro。

低功率 PC 的桌面環境 –

KDE 和 GNOME 有一個很大的優勢,它們也可以在舊 PC 和低功率裝置上運作。OSS 開發人員煞費苦心地開發了許多其他功能齊全的桌面環境,這些桌面環境可以在舊 PC 和低功率裝置上運作。其中一些桌面包括 Fluxbox、JWM、Xfce、Fvwm、fvwm95 等。Fluxbox 是一個簡單的桌面,包括面闆和彈出菜單。Joe's Window Manager (JWM) 是另一個可以在低記憶體和低磁盤空間上運作的桌面環境。Xfce 是類似于 KDE 的桌面,設計用于在低記憶體上運作。Fvwm 是另一個功能齊全的桌面,盡管記憶體有限,但仍可輕松運作。fvwm95 是基于 Fvwm 的,但它具有類似 Windows 的外觀和感覺。

其他桌面環境 –

Linux 發行版還有其他幾種流行的桌面環境,如 MATE、Cinnamon、Pantheon、LXQt、PIXEL、Budgie、Enlightenment、LXDE、Trinity 等。大多數流行的 Linux 發行版預設都有一個或其他桌面環境。像 Cinnamon 是 Linux Mint 的預設桌面,Unity 是 Ubuntu 的預設桌面環境,Budgie 是 Solus 的預設桌面環境等等。Linux 使用者還可以顯式下載下傳和安裝桌面環境。必須注意不同的 Linux 發行版有不同的記憶體要求。例如,Cinnamon 需要 175 MB,GNOME 250 MB,KDE Plasma 300 MB,LXDE 85 MB,XFCE 100 MB,MATE 125 MB,Enlightenment 85 MB,Unity 300 MB 記憶體 (RAM) 空間。每個環境都有自己的特點和優勢。是以,

應用軟體 –

Linux 發行版預設提供了一些應用程式軟體。每個發行版都有自己的附加應用程式,這些應用程式預設與 Linux 一起安裝。使用者可以根據自己的需要和用途添加或删除應用軟體。不同的 Linux 發行版具有共同的核心和系統實用程式,僅在桌面環境和預設附加應用程式方面有所不同。

Linux 發行版 –

Linux 發行版是完整的 Linux 系統包,包括核心、系統實用程式、外殼、桌面環境和附加應用程式。有數百種 Linux 發行版,其中許多是為特定使用者組定制的。Linux 發行版可大緻分為三種類型 -

1) 完整的核心 Linux 發行版– 這些發行版包括 Linux 核心、一個或多個桌面環境以及僅對核心必不可少的應用程式和實用程式。它是裸機和核心 Linux 安裝。一些流行的核心 Linux 發行版是 Red Hat、Fedora、Slackware、Arch Linux、OpenSUSE、Mandriva Linux、Gentoo 和 Debian。Red Hat 是用于網際網路伺服器的商業 Linux 發行版。Fedora 是 Red Hat 的衍生産品,供家庭使用。Slackware 是可定制的早期 Linux 發行版,于 1993 年首次釋出。OpenSUSE 被設計為家庭和辦公室工作站的核心 Linux。Gentoo 發行版适用于進階使用者,包含 Linux 源代碼和通過 FreeBSD 端口從源代碼編譯的應用程式。Arch Linux 是另一個為進階使用者設計的發行版,包含 PKGBUILD 檔案形式的官方和非官方二進制包。Mandriva Linux 是一種流行的、現在由社群驅動的 Red Hat 衍生産品。Debian 是最受 Linux 使用者歡迎的非商業發行版。

2) 專業發行版——這些發行版通常是核心發行版的衍生産品,包含核心應用程式的子集以及針對特定使用者組的應用程式。Debian 是制作專業發行版的最受歡迎的選擇。這些發行版具有自定義安裝并針對特定使用者組,如圖形設計師、教育工作者、開發人員等。一些流行的專業發行版包括 Mint、Ubuntu、CentOS、PCLinuxOS、bolic、Puppy Linux、Solus、Elementary OS 等。

3) LiveCD 測試發行版——許多 Linux 發行版也以可啟動 LiveCD 的形式提供。它們不需要任何安裝,可以直接從 CD-ROM 引導。許多 LiveCD 可以從網際網路上下載下傳,刻錄成 CD-ROM 并可以随時随地使用。一些流行的 LiveCD 發行版包括 Ubuntu、PCLinuxOS、Slitaz、Knoppix、Reskatux Linux、Puppy Linux、Tails Live、Clonezilla、Finnix 和 Slax。由于顯而易見的原因,LiveCD 發行版通常在功能和應用程式方面受到限制。

在下一個教程中,學習如何安裝 Linux 和設定開發環境。

繼續閱讀