如果以前從沒有接觸過linux, 你可能會對為什么會存在這么多不同的linux發行版有些困惑. 在看linux軟件包時, 你肯定聽過發行版, LiveCD和GNU之類的等等術語, 也肯定摸不著頭腦. 第一次接觸linux,想理解會有些困難. 我們就先了解下linux系統內部結構的一些信息.
首先, linux可劃分為以下四部分:
1. linux內核;
2. GNU工具組件;
3. 圖形化桌面環境;
4. 應用軟件;
在linux系統里, 這四部分中的每一個部分都扮演著一個特別的角色. 如果將他們分開來, 每一部分都沒太大的作用. 說明了各部分是互相協作構成整個linux系統的.
下面將介紹這四部分, 然后了解他們是如何一起協作構成一個完整的linux系統的.
1. linux內核
內核: linux系統的核心就是內核. 內核控制著計算機系統上的所有硬件和軟件: 必要時分配硬件, 有需要時執行軟件.
說到內核, 肯定聽說過 Linus Torvalds.那時候Linus 上大學, 大學期間開發了第一版linux內核. 起初他只是希望Linux成為Unix操作系統的一份副本, 因為當時Unix操作系統在很多大學都很流行.
當Linus完成開發后, 他將linux內核發布到了互聯網社區并征求改進意見. 這個簡單的動作引發了計算機操作系統領域內的一場革命. 很快, Linus就收到了來自世界各地的學生和專業程序員的各種建議.
如果linux內核允許任何人修改內核程序代碼, 那么隨之而來的將是完全的混亂. 簡單起見, Linus擔當起了所有改進建議的把關者. 能否將建議代碼放進內核完全取決于Linus的決定. 時至今日, 這種概念依然在linux內核代碼開發過程中繼續使用, 所不同的是, 現在是由一組開發人員來做這件事, 而不再是Linus一個人.
內核基本負責以下四項主要功能:
-
系統內存管理
-
軟件程序管理
-
硬件設備管理
-
文件系統管理
2. GNU工具鏈
除了由內核來控制硬件設備外, 操作系統還需要工具鏈來執行一些標準功能, 比如控制文件和程序. 當Linus創建Linux系統內核時, 是沒有系統工具鏈運行其上的. 然而他很幸運, 就在他開發linux內核的同時, 有一組人正在互聯網上共同努力, 模仿Unix操作系統開發一系列標準的計算機系統工具.
GNU組織(GNU代表GNU's Not Unix) 開發了一套完整的Unix工具鏈, 但沒有可以運行它們的內核系統. 這些工具鏈是在開源軟件(Open Source Software, OSS)的軟件開發理念下開發的.
開源軟件理念允許程序員開發軟件并將其免費發布. 任何人都可以使用, 修改該軟件, 或將該軟件集成進自己的系統, 而無需支付任何授權費用. 將Linus的linux內核和GNU操作系統工具鏈整合起來, 就可以創造一個完整的, 功能豐富的免費操作系統.
盡管通常我們將Linux內核和GNU工具鏈的結合體稱為Linux, 你也會在互聯網上看到一些Linux純粹主義者將其稱為GNU/Linux系統來表彰GNU組織為此所作的貢獻.
1) 核心GNU工具鏈
GNU項目一開始主要是為Unix系統管理員設計的, 用以提供一個類Unix環境. 這個目標導致這個項目移植了很多Unix系統通用的命令行工具. 為Linux系統提供的一組核心工具被稱為coreutils(core utils)軟件包
GNU coreutils軟件包由3部分構成:
-
用以處理文件的工具
-
用以操作文本的工具
-
用以管理進程的工具
這三組主要工具中的每一組都包含一些對Linux系統管理員和程序員至關重要的工具.
2) shell
GNU/Linux shell是個交互式工具. 它為用戶提供了啟動程序, 管理文件系統上的文件以及管理運行在Linux系統上的進程的途徑. shell的核心是命令行提示符. 命令行提示符是shell的交互部分. 它允許你輸入文本命令, 之后將解釋命令并在內核中執行.
shell包含了一組內置命令, 你可以用這些命令來完成一寫操作, 例如復制文件, 移動文件,重命名文件以及顯示和終止系統上正運行的程序. shell也允許你在命令行提示符中輸入程序的名稱, 它會將程序的名稱傳遞給內核以啟動它.
你也可以將shell命令放入文件中作為程序執行. 這些文件被稱作shell腳本. 你在命令行上執行的任何命令都可放進一個shell腳本中作為一組命令執行. 這為創建那種需要把幾個命令放在一起來工作的工具提供了便利.
在LInux系統上, 通常有好幾種Linux shell可用. 不同的shell有不同的特性, 有些更利于創建腳本, 有些更利于管理進程. 所有LInux發行版默認的shell基本上都是bash shell. bash shell作為標準Unix shell – Bourne shell (沿用創建者的名稱)的替代, 由GNU項目開發的. bashshell的名稱就是針對這個Bourne shell的文字游戲, 稱為Bourne again shell.
除了bash shell外, 其他幾種Linux中常見的不同shell:
ash 運行在內存受限環境中簡單的, 輕量級shell, 但于bash shell完全兼容
korn 與Bourne shell兼容的編程shell, 但支持一些高級的編程特性, 比如關聯數組和浮點運算
tcsh 將C語言中的一些元素引入到shell腳本中的shell
zsh 將bash, tcsh和korn的特性引入, 同時提供高級編程特性, 共享歷史文件和主題化提示符的高級shell
大多數Linux發行版包含多個shell, 雖然它們通常會采用其中一個作為默認shell. 如果你的Linux發行版包含多個shell, 盡情嘗試不同shell, 看看哪個能滿足你的需要.
3. 圖形化桌面環境 – Linux桌面環境
在Linux的早期(20世紀90年代早期), 系統上可用的僅是一個簡單的與Linux操作系統交互的文本界面(類似msdos). 這個文本界面允許系統管理員運行程序, 控制程序的執行以及在系統中移動文件.
隨著Microsoft Windows的普及, 電腦用戶期望的就不僅僅是對著老式的文本界面工作了. 這點推動了OSS社區的更多開發活動, Linux圖形化桌面環境出現了.
Linux一直都以可用多種方式來完成工作而聲名在外. 在圖形化桌面上更是如此. Linux有各種圖形化桌面可供選擇.
1) X windows系統
有兩項基本組件能決定你的視頻環境: 顯卡和顯示器. 要在電腦上顯示絢麗的畫面, Linux軟件就得知道如何來連接它們. X windows軟件是圖形顯示的核心元素.
X windows 軟件是直接和pc上的顯卡以及顯示器一起工作的底層軟件. 它控制著Linux程序如何在電腦上顯示出絢麗的窗口和畫面.
核心的X windows軟件可以產生圖形化顯示環境, 但僅此而已. 雖然對于運行獨立應用這已經足夠, 但是日常pc使用中卻并不是那么有用. 它沒有桌面環境共用戶操作文件或開啟程序. 為此, 你需要一個在 X windows系統軟件之上的桌面環境
2) KDE 桌面
KDE(K Desktop Environment, K桌面環境) 最初于1996年作為開源項目發布. 它會生成一個類似于Microsoft Windows的圖形化桌面環境. 如果你是Windows用戶, KDE集成了所有你熟悉的功能.
3) GNOME桌面
GNOME(The GNU Network Object Model Environment, GNU網絡對象模型環境)是另一個流行的Linux桌面環境. GNOME于1999年首次發布, 現已成為許多Linux發行版(Red Hat Linux)默認桌面環境.
4)其它桌面…..
Linux發行版
到此為止, 你已經了解了構成完整Linux系統所需要的4個關鍵部件, 你可能在考慮要怎樣才能把他們放在一起構建一個Linux系統. 幸運的是, 已經有人為你做好了這些了.
我們將完整的Linux系統包稱為發行版. 有各種不同的Linux發行版來滿足可能存在的各種運算需求. 大多數發行版是為某個特定用戶群定制的, 比如商業用戶, 多媒體愛好者, 軟件開發人員或者普通家庭用戶. 每個定制的發行版都支持特定功能所需的各種軟件包, 比如為多媒體愛好者準備的音頻和視頻編輯軟件, 為軟件開發人員準備的編譯器和集成開發環境.
不同的Linux發行版通常歸類為三種:
-
完整的核心Linux發行版
-
專業發行版
-
LiveCD測試發行版
1. 核心linux發行版
核心linux發行版含有內核, 一個或多個圖形化桌面環境以及預編譯號的幾乎所有能見到的Linux應用. 它提供了一站式完整Linux安裝.
2. 專業發行版
Linux發行版的一個子群開始出現了. 它們通?;谀硞€主流發行版, 但僅包含主流發行版中一小部分用于某種特定用途的程序. 除了提供專業軟件外(比如僅為商業用戶提供的辦公應用). 專業發行版還嘗試通過自動檢測和自動配置來幫助新手安裝Linux. 這讓安裝Linux變得更容易.
3.Linux LiveCD
Linux世界中一個相對比較新的現象是可引導啟動的LInux CD發行版的出現. 它允許不安裝Linux就可以看看Linux系統的什么樣.
總結: Linux= 內核+GNU/Linux shell+軟件+圖形(可選)
shell是很重要
以上是個人學習中比較容易理解的Linux定義
原創文章,作者:vt.lee,如若轉載,請注明出處:http://www.www58058.com/54612
加入了一些自己的理解,不錯,希望可以將這段發展史熟知,加油,加油!