「Linux」不等同於Linux內核:構建Linux系統的8個軟件包

請輸入圖片描述
Linux發行版並不只僅是Linux內核。全部的Linux發行版都包含了除內核以外的一些必要的軟件包,好比Grub引導程序、Bash shell、GNU shell工具軟件、守護進程、X.org圖形服務器和桌面環境等等。全部這些不一樣的程序均由相互獨立的開發小組開發。這些程序被Linux發行版集成到一塊兒從而造成一套完整的「Linux」操做系統。這和Windows操做系統不一樣,由於整個Windows系統所有由微軟公司開發。linux

引導程序 (Bootloader)

當你打開電腦的時候,電腦的BIOS或者UEFI固件會從其引導設備中加載軟件。任何一個操做系統啓動時首先加載的都是引導程序。在Linux操做系統中,一般使用的引導程序是Grub。若是你在一臺電腦上安裝了多個操做系統,Grub會提供一個菜單供你選擇。例如,若是你裝了雙系統(Linux和Windows),你能夠從Linux和Window中選擇任何一項來啓動。若是你的電腦只安裝了Linux,或許Grub能夠瞬間啓動它,可是它提供的選擇菜單還在那裏。Grub負責啓動Linux系統、提供命令行啓動選項和容許以其它方式啓動Linux以排除故障。沒有引導程序的Linux操做系統是沒法啓動的。
Grub引導程序shell

Linux內核

確切地講,Grub引導的是Linux內核。它是操做系統的一部分,而且一般被稱爲「Linux」。內核是整個Linux系統的核心。它管理着CPU、內存和輸入/輸出設備(例如鍵盤、鼠標和顯示器)。因爲內核能夠直接和硬件交互,不少硬件驅動程序都成爲Linux內核的一部分而且在內核中運行。其它全部的軟件都運行在內核之上。內核是最底層的軟件,它提供操做硬件的接口。它在硬件之上提供一個抽象層來處理硬件的各類事務,從而把系統的其它部分從硬件中解放出來。Windows操做系統使用的內核是Windows NT,Linux操做系統使用的是Linux內核。ubuntu

守護進程 (Daemons)

守護進程是不可缺乏的後臺進程。做爲啓動進程的一部分,它在Linux內核以後和登陸界面顯示以前啓動。Windows把這些進程成爲「服務」,而類Unix系統則稱它們爲「守護進程」。例如,管理任務調度的crond就是一個守護進程——最後的字母d即表明守護進程。普遍使用的管理系統日誌的syslogd也是守護進程。服務器進程,如sshd,也是以守護進程的形式在後臺運行。這種作法能夠保證它們一直處在運行狀態,從而持續監聽遠程鏈接。
守護進程本質上只是在後臺運行的進程,但它們是讓人不多留意的系統級進程。segmentfault

Shell

大多數Linux系統的默認shell是Bash shell。Shell提供了命令處理接口,從而能夠在命令行窗口中輸入命令來控制電腦。Shell也能夠以Shell腳本的方式運行,這種狀況下一組Shell命令被寫在腳本中並按順序依次執行。
即便只使用圖形桌面,shell也一直在後臺運行。當你打開終端窗口的時候就會看到shell提示符。
Linux終端-Bash Shell服務器

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項目中。一些命令和終端程序都有本身特定的項目。ssh

X.org圖形服務器

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

桌面環境

你真正使用的Linux桌面是一個桌面環境。例如,Ubuntu採用Unity桌面環境,Fedora採用GNOME,Kubuntu採用KDE,Mint通常使用Cinnamon或MATE。 這些桌面環境提供了一些你看得見的東西——桌面背景、面板、窗口的標題欄和邊框。桌面環境一般包含一些本身開發的工具軟件來造成一個總體。例如,GNOME和Unity包含了Nautilus文件管理器;而KDE則包含了Dolphin文件管理器。
Unity桌面環境spa

桌面程序

並非每一個桌面程序都是桌面環境的一部分。例如,Firefox和Chrome是與桌面環境無關的,它們一般能夠在任何桌面環境中運行。一樣,OpenOffice套件也與具體桌面環境無關。你能夠在任何桌面環境中運行任意Linux桌面程序。可是爲某個特定桌面環境設計的程序在其它桌面環境中運行時會顯得不協調或運行速度較慢。例如,若是你在KDE中運行GNOME下的Nautilus文件管理器,它會顯得不協調並要求你安裝一系列的GNOME庫,並且啓動時它或許會後在臺運行GNOME桌面進程。這種狀況下它能夠運行起來而且能夠被使用的。操作系統

Linux發行版執行最後的步驟:把上述的全部軟件集成到一塊兒使它們很好的工做,並添加其它一些必要的軟件。例如,Linux發行版一般都包含本身特定的系統安裝軟件。經過這個軟件,你能夠安裝Linux系統和軟件包管理器(用來安裝其它軟件或更新現有的軟件)。.net


原文:「Linux」 Isn’t Just Linux: 8 Pieces of Software That Make Up Linux Systems
轉載自:極客範 - 汪慶

相關文章
相關標籤/搜索