日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Linux軟件架構(gòu):探索開源操作系統(tǒng)的核心框架。(linux軟件架構(gòu))

linux軟件架構(gòu):探索開源操作系統(tǒng)的核心框架

Linux操作系統(tǒng)是一個廣泛使用的開源操作系統(tǒng),擁有強大的軟件架構(gòu)。相比于其他操作系統(tǒng),Linux的軟件架構(gòu)是開源的,這意味著用戶可以自由地訪問、修改和分享系統(tǒng)的源代碼。在本文中,我們將探索Linux操作系統(tǒng)的軟件架構(gòu),包括其核心框架。

Linux操作系統(tǒng)的軟件架構(gòu)由多個層次組成,從底層的硬件驅(qū)動程序到高層次的用戶界面。其核心框架由三個主要組件組成:內(nèi)核、Shell以及應(yīng)用程序。

內(nèi)核是Linux操作系統(tǒng)的核心組件,它管理所有系統(tǒng)資源。內(nèi)核的主要職責(zé)是讀取硬件設(shè)備,分配內(nèi)存,管理進程和線程,以及處理輸入和輸出。Linux內(nèi)核是一個模塊化的體系結(jié)構(gòu),可以通過添加或刪除模塊來自定義操作系統(tǒng)的功能。

Shell是Linux操作系統(tǒng)的用戶界面,用戶通過Shell與系統(tǒng)交互。Shell提供了命令行界面,允許用戶執(zhí)行命令操作,例如創(chuàng)建、復(fù)制和移動文件。Shell還可以打開圖形界面,提供更友好、直觀的用戶界面。

應(yīng)用程序也是Linux操作系統(tǒng)的核心組件之一,用戶可以通過應(yīng)用程序來完成各種任務(wù)。Linux操作系統(tǒng)擁有各種類型的應(yīng)用程序,從基本的文本編輯器到高級的多媒體編輯器。Linux操作系統(tǒng)還可以運行Windows應(yīng)用程序,使用Wine軟件來模擬Windows環(huán)境。

Linux操作系統(tǒng)的軟件架構(gòu)還包括許多重要的技術(shù),例如POSIX標(biāo)準(zhǔn)、系統(tǒng)調(diào)用、文件系統(tǒng)等。

POSIX標(biāo)準(zhǔn)是一個權(quán)威的操作系統(tǒng)接口標(biāo)準(zhǔn),支持Unix和Linux等操作系統(tǒng)。POSIX標(biāo)準(zhǔn)定義了操作系統(tǒng)應(yīng)該如何處理文件和進程、如何調(diào)度和管理資源、如何進行通信等。這使得Linux操作系統(tǒng)具備了良好的兼容性和可移植性。

系統(tǒng)調(diào)用是操作系統(tǒng)提供給應(yīng)用程序的API接口,可以訪問操作系統(tǒng)的核心功能。Linux系統(tǒng)調(diào)用包括文件操作、進程管理、網(wǎng)絡(luò)通信等。通過系統(tǒng)調(diào)用,應(yīng)用程序可以與內(nèi)核進行交互,請求操作系統(tǒng)的各種資源和服務(wù)。

文件系統(tǒng)是Linux操作系統(tǒng)中重要的組件之一,用于管理文件和目錄。Linux支持多種文件系統(tǒng),包括常見的EXT4、FAT32和NTFS等。這些文件系統(tǒng)具有高可靠性和高安全性,可為用戶提供高效、可靠的文件管理系統(tǒng)。

Linux軟件架構(gòu)的另一個優(yōu)點是它可以輕松地進行擴展和修改。由于Linux是開放源代碼軟件,用戶可以自由地訪問、修改和分享系統(tǒng)的源代碼。這使得Linux的軟件架構(gòu)變得非常靈活和可定制。許多開發(fā)人員和愛好者都可以通過參與開源社區(qū)來改進Linux系統(tǒng),并為其增加新功能和特性。

Linux操作系統(tǒng)的軟件架構(gòu)由多個層次和組件組成,包括內(nèi)核、Shell和應(yīng)用程序。Linux軟件架構(gòu)支持POSIX標(biāo)準(zhǔn)、系統(tǒng)調(diào)用和文件系統(tǒng)等重要技術(shù),具有高可拓展性、可移植性和靈活性。作為一款開源操作系統(tǒng),Linux的軟件架構(gòu)允許用戶自由修改和分享系統(tǒng)的源代碼,這使得Linux社區(qū)變得活躍和創(chuàng)新。Linux軟件架構(gòu)的優(yōu)點使之成為一個強大的操作系統(tǒng),與其他操作系統(tǒng)競爭并占據(jù)了市場份額。

成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián)為您提供網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計及定制高端網(wǎng)站建設(shè)服務(wù)!

linux系統(tǒng)是怎么回事?可以簡單的介紹下嗎?

什么是 Linux ?什么是操作系統(tǒng)?

要了解 Linux 之前,就不能不知道什么是操作系統(tǒng) ( Operation System, OS ),所以,首先我們來簡單的說一說什么是操作系統(tǒng)吧!先來想一想,當(dāng)我們使用計算機時,屏幕上面顯示的咚咚是由哪里來的?嗯!是由顯示卡與屏幕顯像的;那么你現(xiàn)在可以藉由網(wǎng)絡(luò)看到這篇文章,則是藉由 Internet 、網(wǎng)絡(luò)卡、網(wǎng)絡(luò)線以及所有相關(guān)的電子器材與網(wǎng)絡(luò)器材所完成的一項任務(wù)!如果你要看 VCD 呢?那么就需要光驅(qū)、光盤、聲卡的發(fā)聲等等的支持。這么說來的話,所以在『工作』的東西歷液都是『硬件』的工作呀!對了!就是這些計算機硬件在工作的。那么硬件怎么工作呢?那就是藉由『操作系統(tǒng)』來達(dá)成的啰!這個操作系統(tǒng)就是在溝通你這個使用者跟硬件之間的訊息傳遞啦!也就是說,沒有操作系統(tǒng),那么你的計算機硬件就只是一堆廢鐵,什么工作都不能做的!

那么操作系統(tǒng)里面含有什么東西呢?簡單的來說,操作系統(tǒng)主要分為兩個東西,一個是『核心』、一個是『一堆核心提供的工具』我們以使用者常使用的 Windows 計算機來做一個簡單的說明好了。大家應(yīng)該都使用過 Windows 計算機里面的檔案總管吧?那么當(dāng)你開啟檔案總管的時候,他是否會顯示你硬盤當(dāng)中的資料?這個顯示硬盤里面的資料,就是『核心』幫你做的,但是,你要核心去顯示硬盤哪一個目錄下的資料,則是由『檔案總管』這個『工具』幫你達(dá)成的!這樣可以理解嗎?再來,如果您曾經(jīng)使用過 Windows 2023 或 Windows XP 的話,那就更好了!你就應(yīng)該聽過有所謂的『FAT32 與 NTFS 檔案格式』吧?在 Windows 98 這個早期的 Windows 版本中,他并無法讀取或者是找到 Windows XP 的 NTFS 檔案格式的硬盤,為什么呢?因為他的『核心』本來就不認(rèn)識 NTFS ?。∷?,即使你有檔案總管,但是由于核心根本不認(rèn)識 NTFS ,所以,檔案總管也是沒有能力幫你達(dá)到你想要做的事情!這樣應(yīng)該就更清楚了吧?沒錯!你的整個硬件是由核心來管理的,而如果核心不認(rèn)識你的硬件,那么你將無法使用該硬設(shè)備,例如上面提到的 NTFS 檔案格式的硬盤!核心就是『 Kernel 』,他是一個操作系統(tǒng)的更底層的東西,由他來掌管整個硬件資源的工作狀態(tài),而 Linux 有 Linux 自己的核心, Windows 也有他自己的核心。所以說,當(dāng)有新的硬件加入到你的系統(tǒng)中的時候,那么若你的『 Kernel 』并沒有支持他的時候,呵呵,這個新的硬件就肯定無法工作的,因為控制他的 Kernel 并不認(rèn)識他呀!這樣了解了嗎?!先有個概略性的了解,后面我們提到『核心編譯』的時候會在更詳細(xì)的談到他!

一般來說,Kernel 管理的事項有:

System call interface :一些服務(wù)與 kernel 溝通之后,將硬件的資源進一步的利用;

Process control :系統(tǒng)過程控制中心,所以核心編的越小越好;

Memory management :控制整個系統(tǒng)的內(nèi)存管理;

File system management :檔案系統(tǒng)的管理,例如 I/O 等等的工作啦!還有不同檔案格式的支持啦等等,如果你的核心不認(rèn)識某個檔案系統(tǒng),那么您將無法使用該檔案格式的檔案啰!例如上面提到的 Windows 98 不認(rèn)識 NTFS 檔案格式的硬盤;

Device drivers :就如同上面提到的,硬件的管理是 Kernel 的主要工作之一,當(dāng)然啰,裝置的驅(qū)動程序就是核心需要做的事情啦!好在目前都有所謂的『可加載模塊』功能,可以將驅(qū)動程序編輯成模塊,就不需要重新的編譯核心啦!這個也會在后續(xù)的核心編譯當(dāng)中提到的!

所以啦隱悶!所有硬件的資源都是他來管理的!至于我們要達(dá)成一些工作時,除了藉由核心本身提供的功能 ( 例如上面提到的檔案總管 ) 之外,還可以藉由其它的應(yīng)用軟件來達(dá)成喔!舉個例子來說,你要看 VCD 影片是吧!那么除了 Windows 提供的媒體播放程序之外,你也可以自行安裝 VCD 播放程序來播放 VCD 啰!這個播放程序就是應(yīng)用軟件啰,肢攜物而這個應(yīng)用軟件可以幫你去控制核心來工作 ( 就是放映影片啰 ) ,因此,我們可以這樣說,核心是控制整個硬件支持的咚咚,也是一個操作系統(tǒng)的更底層,然而要讓整個操作系統(tǒng)更完備的話,那還需要含有相當(dāng)豐富的核心提供的工具,以及核心相關(guān)的應(yīng)用軟件來支持!

OK!提到這里那么您知道 Linux 是什么了嗎?呵呵!對啦!其實 Linux 就是一個操作系統(tǒng),這個操作系統(tǒng)里頭含有最主要的 kernel 以及 kernel 提供的工具啦!他提供了一個完整的操作系統(tǒng)當(dāng)中更底層的硬件控制與資源管理的完整架構(gòu),這個架構(gòu)是沿襲 Unix 良好的傳統(tǒng)來的,所以相當(dāng)?shù)姆€(wěn)定而功能強大!此外,由于這個優(yōu)良的架構(gòu)可以在目前的個人計算機 ( X86 系統(tǒng) ) 上面跑,所以很多的軟件開發(fā)者將他們的工作心血移轉(zhuǎn)到這個架構(gòu)上面,那就是很多的應(yīng)用軟件啦!雖然 Linux 僅是其核心與核心提供的工具,不過,由于核心、核心工具與這些軟件開發(fā)者提供的軟件的整合,使得 Linux 成為一個更完整的、功能強大的操作系統(tǒng)啰!我們可以將 Linux 的系統(tǒng)與使用者的相關(guān)性看成底下的圖標(biāo):

圖一、使用者、使用者接口與核心工具、核心、與硬件之相關(guān)性

約略了解 Linux 是何物之后,接下來,我們要談一談,『為什么說 Linux 是很穩(wěn)定的操作系統(tǒng)呢?他是如何來的?』

從 Unix 到 Linux 這一段歷史

為什么大家常常會說, Linux 是很穩(wěn)定的一套操作系統(tǒng)呢?這是因為, Linux 他有個老前輩,那就是 Unix 家族啰!有這個前輩的提攜,讓 Linux 這個小老弟很快的就成為一套穩(wěn)定而優(yōu)良的操作系統(tǒng)啦!所以,底下我們來談一談 Unix 到 Linux 的這一段歷史吧!

早在 Linux 出現(xiàn)之前的二十年 ( 大約在 1970 年代 ), 就有一個相當(dāng)穩(wěn)定而成熟的操作系統(tǒng)存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么這么說呢?!他們這兩個家伙有什么關(guān)系呀?這里就給他說一說啰!眾所皆知的, Linux 的核心是由 Linus Torvalds 在 1991 年的時候給他開發(fā)出來的,并且丟到網(wǎng)絡(luò)上提供大家下載,后來大家覺得這個小東西 ( Linux Kernel ) 相當(dāng)?shù)男《?,所以慢慢的就有相?dāng)多的朋友投入這個小東西的研究領(lǐng)域里面去了!但是為什么這的小東西這么棒呢?!然而又為什么大家都可以免費的下載這個東西呢?!嗯!等鳥哥慢慢的唬xx….喔不!聽我慢慢的道來!

一個沒有完成的夢想: Bell, MIT 與 GE 的『 Multics 』系統(tǒng)

早期的計算機并不像現(xiàn)在的個人計算機一般,他可不是一般人碰的到的玩意兒,除非是軍事或者是高科技用途才有可能接觸到這類的 Computer !而如前面所言,有計算機硬件還需要操作系統(tǒng)的配合才能夠發(fā)揮計算機的效能,不過,在那個年代,由于計算機算是『奢侈品』,喔~應(yīng)該說是『貴重物品』,所以,可能一間學(xué)校就只有一部大型主機當(dāng)然,那個年代所謂的大型主機仍然無法提供適度的運算能力的。不過,既然只有一部大型主機,然而有許許多多的教師、學(xué)生要想要來使用,怎么辦呢?為了解決這個問題,在 1960 年代初期,麻省理工學(xué)院 ( MIT ) 發(fā)展了所謂的『兼容分時系統(tǒng) ( Compatible Time-Sharing System, CTSS )』,就字面上的意義來看,他主要讓大型主機可以提供多個終端機聯(lián)機進入主機使用主機的資源, ( 附帶一提,當(dāng)時的終端機 ( Terminal ) 本身并沒有軟件或者可供使用的資源,這些終端機要能使用,一定必需要聯(lián)機登入主機之后,才能夠使用主機的資源來工作!) 當(dāng)時可以讓約 30 位使用者聯(lián)機使用主機。而為了讓這個分時系統(tǒng)更加的強大,所以,在 1965 年前后由貝爾研究室 ( Bell )、 麻省理工學(xué)院 ( MIT ) 及奇異電器公司 ( GE ) 開始來共同開發(fā)一個名為 Multics 的大型計畫,目標(biāo)是想讓大型主機可以聯(lián)機 300 位以上的使用者。不過,在奮斗了四年之后,該計畫仍然宣告不治…喔!是失敗啦!(注: Multics 有復(fù)雜、多數(shù)的意思。)

一個小型檔案系統(tǒng)的產(chǎn)生:1969 年 Ken Thompson 的小型 file server system

在復(fù)雜的 Multics 系統(tǒng)的計畫失敗后,貝爾研究室當(dāng)然就退出該計畫。就在這個計畫解散之后,曾經(jīng)參與 Muitics 的貝爾研究室的成員 Ken Thompson 由于自己工作上的需求,需要一套檔案存取的小型操作系統(tǒng),便在 1969 年的時候以 DEC 公司 ( Digital Equipment Corporation ) 的計算機 PDP-7 為硬件基準(zhǔn),設(shè)計了一個適合自己工作環(huán)境的小型檔案系統(tǒng),其中也含有他自行開發(fā)的一些小工具。那個系統(tǒng)就是最早期的 Unix 的源頭!當(dāng)初 Ken 設(shè)計這個檔案系統(tǒng)時,主要是為了自己的存取方便所設(shè)計的簡單 OS ,因此將原有的 Multics 系統(tǒng)大幅度的簡化,不過,在當(dāng)時還并沒有 Unix 這個名詞的出現(xiàn)!

Unix 的正式誕生:1973 年 Ritchie 等人以 C 語言寫出之一個正式 Unix 核心

由于 Thompson 寫的那個操作系統(tǒng)實在太好用了,所以在 Bell 研究室內(nèi)部廣為流傳,并且數(shù)度經(jīng)過改版。到了 1973 年, Bell 研究室的 Dennis Ritchie 等人為了讓這個系統(tǒng)的執(zhí)行效能更佳化,所以使用編譯效能更好的 C 語言將原有的 1969 年的那個系統(tǒng)之核心大幅度的改寫過,并且確定該操作系統(tǒng)名稱為 Unix,呵呵!那就是最早的 Unix 操作系統(tǒng)啰!不過,由于這個操作系統(tǒng)是由這一群工程師所開發(fā)完成的,而且使用者也大多是這方面的工程師,因此造成了后來 Unix 系統(tǒng)接口較難被一般使用者接受的情況 @_@ (注: 相對于 Multics ,Unix 具有單一的意思!)

重要的 Unix 分支: 1977 年 BSD 的誕生

在 Unix 早期的發(fā)展中,有一件相當(dāng)重要的事情,那就是 BSD 的誕生!由于 C 語言是一種高級語言,他可以被應(yīng)用在不同的硬件架構(gòu)上面,而 Unix 本身就是 C 語言寫成的!在 Unix 發(fā)表之后, 柏克萊大學(xué) ( Berkeley ) 的教授對于這個操作系統(tǒng)相當(dāng)?shù)挠信d趣,在經(jīng)過取得 Unix 的原始碼,并且?guī)捉?jīng)修改之后,終于在 1977 年發(fā)表了之一代的 Berkeley Software Distribution ( BSD ) 。這個 BSD 是 Unix 的一個分支,他的發(fā)展對于 Unix 有相當(dāng)大的影響,例如后來的 Sun 公司就是使用 BSD 發(fā)展的核心進行自己商業(yè)的 Unix 版本的發(fā)展的!

百家齊鳴的 Unix 版本:

由于 C 語言是一個相當(dāng)高階的程序語言,他與硬件沒有很直接的相關(guān)性,例如你的 Windows 也可以執(zhí)行 C 程序語言!而由于 Unix 是由 C 語言寫成的,因此,也就是說,你只要經(jīng)過稍微的原始碼修改程序,就可以在不同的硬件架構(gòu)上面執(zhí)行這個操作系統(tǒng)!后來,由于 Unix 的方便性,因此很多的商業(yè)公司及學(xué)術(shù)機構(gòu)就加入這個操作系統(tǒng)的研發(fā)啰。不過,也由于 Unix 的便利性與改寫容易,因此就造成了很多的不同版本的 Unix 啰,例如 ATT 的 System V 、 加州大學(xué)的 BSD 版、 IBM 的 AIX 等等。

由于『操作系統(tǒng)的核心 ( Kernel ) 必須要跟硬件配合,以提供及控制硬件的資源進行良好的工作!』,而在早期每一家生產(chǎn)計算機硬件的公司還沒有所謂的『協(xié)議』的概念,所以每一個計算機公司出產(chǎn)的硬件自然就不相同啰!因此他們必須要為自己的計算機硬件開發(fā)合適的 Unix 系統(tǒng),所以,他們自行開發(fā)的 Unix 當(dāng)然只能配合本身的硬件配備啰!例如在學(xué)術(shù)機構(gòu)相當(dāng)有名的 Sun 、 Cray 與 HP 就是這一種情況,他們開發(fā)出來的 Unix 并沒有辦法在其它的硬件架構(gòu)下工作的! ( 我們都稱呼這種系統(tǒng)與配備為『超級計算機』 ) !由于沒有廠商針對個人計算機設(shè)計 Unix 系統(tǒng),因此,在早期并沒有支持個人計算機的 Unix 操作系統(tǒng)的出現(xiàn) ( 當(dāng)然,這是由于早期的個人計算機并沒有現(xiàn)在這樣風(fēng)行就是了! ) ,每一家公司自己出的 Unix 雖然在架構(gòu)上面大同小異,但是卻真的僅能支持自身的硬件,所以啰,早先的 Unix 只能與服務(wù)器 ( Server ) 或者是大型工作站 ( Workstation ) 劃上等號!

此外,由于版本太多了,而大家都是同樣來自于 Unix 這個老祖宗,當(dāng)然也都稱自己是 Unix ,好了,如此一來,許多商業(yè)公司自然就會有類似的軟件發(fā)表,喝!那么自然就有些許的商業(yè)糾紛啰!真是傷腦筋~

年的 GNU 與 Free Software Foundation:

Unix 在商業(yè)上面的問題讓許多對于 Unix 喜好者感到相當(dāng)?shù)膽n心,其中一個就是有名的 Richard M. Stallman 先生。他認(rèn)為, Unix 是一個相當(dāng)好的操作系統(tǒng),在這個系統(tǒng)上面,如果大家能夠?qū)⒆约核鶎W(xué)的貢獻出來,那么這個系統(tǒng)將會更加的優(yōu)異!Stallman 先生認(rèn)為更大的快樂就是讓自己發(fā)展的良好的軟件讓大家來使用了!而且,由于每個人的工作環(huán)境 ( 指軟硬件平臺 ) 可能都不太相同,所以,他也強調(diào)應(yīng)該要有 Open Source 的概念,讓大家都能夠分享這一份的心得!他認(rèn)為,有了 Open Source 之后,你的程序?qū)⒂泻芏嗟娜丝梢詭兔z驗,將使得 Unix 社群更佳的茁壯。為了自己的理想, Stallman 在 1984 年實際創(chuàng)立了 GNU 與 自由軟件基金會 ( Free Software Foundation, FSF ),并創(chuàng)作了許多『自由軟件』供大眾來使用,此外,對于其作品以自由 ( free ) 的 GNU General Public License ( GPL ) 的授權(quán)模式提供大眾使用。這個 FSF 的核心觀念是『版權(quán)制度是促進社會進步的手段,版權(quán)本身不是自然權(quán)力?!粚τ?FSF 有興趣或者對于 GNU 想要更深入的了解時,請參考朝陽大學(xué)的洪朝貴教授的網(wǎng)站,里面有更為深入的解說!而且,Stallman 的 GNU General Public License 一直強調(diào) Free 這個字眼!他是這樣說的:『”Free software” is a matter of liberty, not price. To understand the concept, you should thik of “free speech”, not “free beer”. “Free software” refers to the users freedom to run, copy, distribute, study, change, and improve the software』大意是說,自由軟件并不是指『免費』的,而是指具有『自由度, freedom』的軟件,什么是自由度呢?也就是你在取得這個軟件之后,可以進行修改、進一步發(fā)表與復(fù)制在不同的計算機平臺上面。這無疑是個好消息!因為如此一來,你所拿到的軟件可能原先只能在 Unix 上面跑,但是經(jīng)過原始碼的修改之后,你將可以拿他在 Linux 或者是 Windows 上面來跑!Stallman 先生更直接對自由度下了這樣的說明:

你可以根據(jù)任何你想要的提議 ( purpose ) 來跑這個 Free 的程序;

你可以在理解了這支 Free 的程序的運作之后,將他修改成你所想要的樣式與功能;

你可以將你自己修改過的 Free 的程序再次的發(fā)表,以幫助你的朋友們;

你可以將這支 Free 的程序進行改良,并將改良過的程序公開發(fā)表,以造福社群!

簡單的來說, GPL 授權(quán)具有幾個特點:

任何軟件掛上 GPL 授權(quán)之后,即為自由的軟件,任何人均可取得,同時,亦可取得其原始碼 ( Source Code );

取得 GPL 授權(quán)之軟件后,任何人均可進行修改原始碼,以符合自己的喜好;

除此之外,經(jīng)過修改的 Source Code 應(yīng)回報給網(wǎng)絡(luò)社會,提供大家來參考!

但請?zhí)貏e留意,并非掛上 GPL 之后的軟件就不可販賣,這個是不同的兩回事呦!舉個例子來說,在 Red Hat 的官方網(wǎng)站上面提供 Red Hat 釋出的 Linux 安裝光盤提供大眾下載,但是 Red Hat 本身依然有在賣 Linux 的套件,而且還賣的『很不便宜!』為何可以如此呢?呵呵!因為 Red Hat 他們賣的資料當(dāng)中,含有相當(dāng)大量經(jīng)過整了的文件資料,這些資料雖然在網(wǎng)絡(luò)上面可以下載,然而花了這么多的時間來整理這些資料,當(dāng)然應(yīng)該要給予相當(dāng)程度的報酬啰!您說是吧!所以,請留意喔!并非 GPL 不可用來營利!

這個 GNU 對于后來的 Linux 有相當(dāng)深遠(yuǎn)的影響,由于 Stallman 先生發(fā)展了 GNU 這個計畫中,主力在推出各種方便而優(yōu)異的工具軟件,例如廣為大家所知的 Emacs 文書編輯器、GCC, BASH..然而沒有作業(yè)平臺怎么使用這些軟件呢?然而,由于他倡導(dǎo)的自由軟件,讓后來的心血能很快的接觸原始碼來發(fā)展軟件,這就是后來的 Linux 的故事….這是后來的故事,等一下來說~

年的圖形接口 X-Free86 project:

有鑒于圖形使用者接口 ( Graphical User Interface, GUI ) 的需求日益加重,在 1984 年由 MIT 與其它協(xié)力廠商首次發(fā)表了 X Window System ,并且更在 1988 年成立了非營利性質(zhì)的 XFree86 這個組織。所謂的 XFree86 其實是 X window system 與 Free 及 x86 系統(tǒng)架構(gòu)的整合名稱呢!而這個 XFree86 的 GUI 接口更在 Linux 的核心 1.0 版于 1994 年釋出時,整合于 Linux 操作系統(tǒng)當(dāng)中!

年 芬蘭大學(xué)生 Linus Torvalds 的一則簡訊:

在后來的幾年內(nèi),由于計算機硬件工業(yè)的強力運作,以 intel 主導(dǎo)的 x86 系統(tǒng)架構(gòu)的個人計算機大行其道,所以個人計算機算是相當(dāng)流行的一個機器了!但在此時,人們使用的大多還是舊舊而且需要吃很多系統(tǒng)資源的 DOS 系列或其它的操作系統(tǒng)。 此時,有個芬蘭的郝爾辛基大學(xué) (Helsinki )Linus Torvalds 學(xué)生做了件不尋常的事情! Linus 手邊有個 Minix 系統(tǒng) ( 這也是 Unix 的分支 ) ,他對這個操作系統(tǒng)相當(dāng)?shù)挠信d趣!此外,由于當(dāng)時他正好買了一部 386 的計算機,所以他就想說,咦!這個 Unix 這么棒!這么穩(wěn)定,那我可不可以將他移植到個人計算機 ( X86 架構(gòu) ) 來使用呢?!好在由于 Stallman 提倡的 Open Source 風(fēng)氣,他得以接觸到一些 source code ,而就經(jīng)由這樣的一個想法,呵呵!他就很有心的讀取 Unix 的核心,并且去除較為繁復(fù)的核心程序,將他改寫成可以適用于一般個人計算機的 x86 系統(tǒng)上面,到了 1991 年,他終于將 0.02 版的 hobby 放到網(wǎng)絡(luò)上面供大家下載,并且由于 hobby 受到大家的肯定,相當(dāng)多的朋友一起投入這個工作中!終于到了 1994 年將之一個完整的核心 Version 1.0 釋出!并且造成目前的大流行…..由于 Linux kernel 的發(fā)展是由『虛擬團隊』所達(dá)成的,大家都是透過網(wǎng)絡(luò)取得 Linux 的核心原始碼,經(jīng)由自己精心改造后再回傳給 Linux 社群,進而一步一步的發(fā)展完成完整的 Linux 系統(tǒng),至于 Torvalds 先生是這個集團中的發(fā)起者。由于這個群策群力的緣故, Torvalds 先生將 Linux 定為同樣造福大家的 GNU 授權(quán)模式!

企鵝的來源:

1994年發(fā)表 Linux 正式核心 1.0 的時候,大家要 Linus Torvalds 想一只吉祥物,怪怪的 Torvalds 突然想到小時候去動物園被一只企鵝追著滿地打滾~還被咬了一口!既然想不到其它的吉祥物了,干脆就以這支企鵝來當(dāng)吉祥物算了!所以,呵呵!目前我們常??吹竭@一只企鵝就是這么來的咯!

什么是 distribution

好了,經(jīng)由上面的說明,我們知道 Linux 是個『操作系統(tǒng)』,而且他是 GNU 的授權(quán)模式,并且有個老大哥是 Unix 。不過,畢竟由 Torvalds 先生負(fù)責(zé)維護的 Linux 提供的僅是『核心』與『核心工具』的,對于需要更完整功能的操作系統(tǒng)來說,畢竟還不夠完備,例如如果你要桌面程序,還得要加入 X-Window 系統(tǒng)對吧!?如果你要架設(shè) WWW 還得加入服務(wù)器軟件對吧?所以,雖然 Linux 的核心已經(jīng)提供了相當(dāng)多的支持與工具程序,但畢竟還不足以構(gòu)成一個很完整的操作系統(tǒng)。

好在,由于 Linux 的穩(wěn)定性良好,并且可以在便宜的 x86 架構(gòu)下的計算機平臺運作,所以吸引了很多的套件商與自由軟件的開發(fā)團隊在這個 Linux 的核心上面開發(fā)相關(guān)的軟件,例如有名的 sendmail, wu-ftp, apache 等等。此外,亦有一些商業(yè)公司發(fā)現(xiàn)這個商機,因此,這些商業(yè)公司或者是非營利性的工作團隊,便將 Linux 核心、核心工具與相關(guān)的軟件起來,并加入自己公司或團隊的創(chuàng)意的系統(tǒng)管理模塊與工具,而釋出一套可以完整安裝的操作系統(tǒng),這個完整的 Linux 操作系統(tǒng),我們就稱呼他為 distribution,或者是中文所謂的『安裝套件』啰!當(dāng)然啰,由于是基于 GNU 的架構(gòu)下,因此各家公司所發(fā)行的光盤套件是可以在網(wǎng)絡(luò)上面自由下載的。不過,如果想要有較佳的服務(wù),那么購買該公司發(fā)行的光盤也是不錯的!

不過,由于發(fā)展的 Linux 公司實在太多了,例如有名的 Red Hat, OpenLinux, Mandrake, Debian, SuSE 等等,所以很多人都很擔(dān)心,如此一來每個 distribution 是否都不相同呢?這就不需要擔(dān)心了,由于各個 distribution 都是架構(gòu)在 Linux Kernel 下來發(fā)展屬于自己公司風(fēng)格的 distribution,因此大家都遵守 Linux Standard Base ( LSB ) 的規(guī)范,也就是說,各個 distribution 其實都是差不多的!反正用到的都是 Linux Kernel ?。≈皇歉鱾€ distribution 里面所使用的各套件可能并不完全相同而已。所以啰,大家可以按照自己的喜好來選擇 Linux 的 distribution 光盤啰!底下列出幾個主要的 Linux 發(fā)行者網(wǎng)址:

Red Hat:

Mandrake:

Slackware:

SuSE:

OpenLinux:

Debian:

Linpus:

UniteLinux:

當(dāng)然發(fā)行套件者不僅于此,您可以查閱其它的 Linux 新聞來發(fā)現(xiàn)喔!而其中中文化較為有名的就屬 CLE 這個套件發(fā)行者了!有興趣的話也可以到底下的網(wǎng)頁上看看!

CLE:

好了,那么哪一個安裝套件比較好呢?!就如同 VBird 前面提到的,每一個發(fā)行者所使用的 Linux 核心其實是一樣的,都是由

www.kernel.org

開發(fā)出來的核心呀!所以其架構(gòu),甚至包括其檔案放置的目錄,都是大同小異的,基本上除了某些內(nèi)容套件不太一樣之外 ( 例如有人使用 wu-ftpd 有人使用 proftpd 等等 ) ,其它的檔案架構(gòu)與指令系統(tǒng)其實幾乎都是相同的,因此我們不去探討哪一個套件比較棒!而是要來介紹如何學(xué)習(xí)與使用一個套件!至于下載的地點,網(wǎng)友提供了一個相當(dāng)棒的多種 Linux distributions 的下載網(wǎng)站:

www.linuxiso.org

Linux 的功能與優(yōu)缺點

Linux 的起源:

前面提到了,Linus Torvalds 先生一直以來就喜歡那個小小的操作系統(tǒng)核心,而核心是管理一個系統(tǒng)的更底層的東西,所有的硬件資源都是由 kernel 來管控的!但是,就如同前面說的,早期的 Unix 并不支持 x86 的個人計算機架構(gòu),一直到了 1991 年在 BBS 里面 Linus 先生貼了個小布告之后,才有了重大的轉(zhuǎn)變: Hello everybody out there using minix-

I’m doing a (free) operation system (just a hobby,

won’t be big and professional like gnu) for 386(486) AT clones.

這封 BBS 的郵件即是由當(dāng)時還是芬蘭的大學(xué)生 Linus Torvalds 所發(fā)表的,他說他修改了一個簡單的操作系統(tǒng)核心,核心名稱為 hobby,這個 hobby 的核心 ( Kernel ) 即為之一個 Linux 的核心系統(tǒng)!此外,由于他是基于 GNU 的協(xié)議而開發(fā)這個操作系統(tǒng),所以他是 Free 的,任何人都可以下載使用!( 注:hobby 是個人興趣,just a hobby, won’t be big and professional like gnu,其意思是:僅為個人興趣,不會玩得跟 gnu 那么大啦~~~)

Linus 所開發(fā)的這個 hobby 是基于 Unix 的系統(tǒng)所發(fā)展出來的,他將 Unix 里面的很多資料又加以簡化,并且使之可以適用于 intel 主導(dǎo)的 x86 的系統(tǒng)下(當(dāng)初的個人計算機系統(tǒng)為 386 與 486 架構(gòu)),因此當(dāng)初他所發(fā)表的這個最新的系統(tǒng)核心就被稱為 linus’s unix ,簡稱為 Linux !當(dāng)然,由于這個核心很像是當(dāng)時的 Unix 系統(tǒng),因此也稱為 Unix-like 系統(tǒng)啰!( 注:其實 Unix-Like 可以說是目前服務(wù)器類型的操作系統(tǒng)的統(tǒng)稱啦!因為,不論是 FreeBSD, BSD, Sun Unix, SCO Unix, HP Unix, Red Hat Linux, Mandrake Linux 等等,都是由同一個祖先『Linux』來的,因此,這些咚咚都被統(tǒng)稱為 Unix-Like 的操作系統(tǒng)啰! )

那么這個系統(tǒng)有什么特異功能呢?簡單的說:

免費:由于他是基于 GPL ( General Public License ) 的架構(gòu)之下,因此他是 Free 的,也就是任何人都可以免費的使用或者是修改其中的原始碼的意思!這就是所謂的『開放性架構(gòu)』,這對科學(xué)界來說是相當(dāng)重要的!因為很多的工程師由于特殊的需求,常常需要修改系統(tǒng)的原始碼,使該系統(tǒng)可以符合自己的需求!而這個開放性的架構(gòu)將可以滿足各不同需求的工程師!因此當(dāng)然就有可能越來越流行啰!

配備需求低廉:而他可以支持個人計算機的 X86 架構(gòu),系統(tǒng)資源不必像早先的 Unix 系統(tǒng)那般,僅適合于單一公司 ( 例如 Sun ) 設(shè)備!單就這一點來看,就可以造成很大的流行啰!

功能強大而穩(wěn)定:也且由于功能并不會輸給一些大型的 Unix 工作站,因此,近年來越來越多的公司或者是團體、個人投入這一個操作系統(tǒng)的開發(fā)與整合工作!

獨立作業(yè):另外,由于很多的軟件套件逐漸被這套操作系統(tǒng)來來使用,而很多套件軟件也都在 Linux 這個操作系統(tǒng)上面進行發(fā)展與測試,因此, Linux 近來已經(jīng)可以獨力完成幾乎所有的工作站或服務(wù)器的服務(wù)了,例如 Web, Mail, Proxy, FTP…..。

所以,目前他已經(jīng)是相當(dāng)成熟的一套操作系統(tǒng)啰!而且不耗資源又免費,呵呵,可以說造成微軟相當(dāng)大的壓力呀!此外,由于他的系統(tǒng)硬件要求很低,加上目前很多的人由于『Intel 的陰謀』(呵呵!開玩笑的,因為 Tom 的硬件評論網(wǎng)站常常這樣說 Intel 的不是!呵!很好笑!)而造成手邊有相當(dāng)多的淘汰掉的硬件配備, Linux

要了解 Linux 之前,就不能不知道什么是操作系統(tǒng) ( Operation System, OS ),所以,首先我們來簡單的說一說什么是操作系統(tǒng)吧!先來想一想,當(dāng)我們使用計算機時,屏幕上面顯示的咚咚是由哪里來的?嗯!是由顯示卡與屏幕顯像的;那么你現(xiàn)在可以藉由網(wǎng)絡(luò)看到這篇文章,則是藉由 Internet 、網(wǎng)絡(luò)卡、網(wǎng)絡(luò)線以及所有相關(guān)的電子器材與網(wǎng)絡(luò)器材所完成的一項任務(wù)!如果你要看 VCD 呢?那么就需要光驅(qū)、光盤、聲卡的發(fā)聲等等的支持。這么說來的話,所以在『工作』的東西都是『硬件』的工作呀!對了!就是這些計算機硬件在工作的。那么硬件怎么工作呢?芹改檔那就是藉由『操作系統(tǒng)』來達(dá)成的啰!這個操作系統(tǒng)就是在溝通你這個使用者跟硬件之間的訊息傳遞啦!也就是說,沒有操作系統(tǒng),那么你的計算機硬件就只是一堆廢鐵,什么工作都不能做的!

那么操作系統(tǒng)里面含有殲梁什么東西呢?簡單的來說,操作系統(tǒng)主要分為兩個東西,一個是『核心』、一個是『一堆核心提供的工具』我們以使用者常使用的 Windows 計算機來做一個簡單的說明好了。大家應(yīng)該都使用過 Windows 計算機里面的檔案總管吧?那么當(dāng)你開啟檔案總管的時候,他是否會顯示你硬盤當(dāng)中的資料?這個顯示硬盤里面的資料,就是『核心』幫你做的,但是,你要核心去顯示硬盤哪一個目錄下的資料,則是由『檔案總管』這個『工具』幫你達(dá)成的!這樣可以理解嗎?再來,如果您曾經(jīng)使用過 Windows 2023 或 Windows XP 的話,那就更好了!你就應(yīng)該聽過有所謂的『FAT32 與 NTFS 檔案格式』吧?在 Windows 98 這個早期的 Windows 版本中,他并無法讀取或者是找到 Windows XP 的 NTFS 檔案格式的硬盤,為什么呢?因為他的『核心』本來就不認(rèn)識 NTFS 啊!所以,即使你有檔案總管,但是由于核心根本不認(rèn)識 NTFS ,所以,檔案總管也是沒有能力幫你達(dá)到你想要做的事情!這樣應(yīng)該就更清楚了吧?沒錯!你的整個硬件是由核心來管理的,而如果核心不認(rèn)識你的硬件,那么你將無法使用該硬設(shè)備,例如上面提到的 NTFS 檔案格式的硬盤!核心就是『 Kernel 』,他是一個操作系統(tǒng)的更底層的東西,由他來掌管整個硬件資源的工作狀態(tài),而 Linux 有 Linux 自己的核心, Windows 也有他自己的核心。所以說,當(dāng)有新的硬件加入到你的系統(tǒng)中的時候,那么若你的『 Kernel 』并沒有支持他的時候,呵呵,這個新的硬件就肯定無法工作的,因為控制他的 Kernel 并不認(rèn)識他呀!這樣了解了嗎?!先有個概略性的了解,后面我們提到『核心編譯』的時候會在更詳細(xì)的談到他!

一般來說,Kernel 管理的事項有:

System call interface :一些服務(wù)與 kernel 溝通之后,將硬件的資源進一步的利用;

Process control :系統(tǒng)過程控制中心,所以核心編的越小越好;

Memory management :控制整個系統(tǒng)的內(nèi)存管理;

File system management :檔案系統(tǒng)的管理,例如 I/O 等等的工作啦!還有不同檔案格式的支持啦等等,如果你的核心不認(rèn)識某個檔案系統(tǒng),嫌亂那么您將無法使用該檔案格式的檔案啰!例如上面提到的 Windows 98 不認(rèn)識 NTFS 檔案格式的硬盤;

Device drivers :就如同上面提到的,硬件的管理是 Kernel 的主要工作之一,當(dāng)然啰,裝置的驅(qū)動程序就是核心需要做的事情啦!好在目前都有所謂的『可加載模塊』功能,可以將驅(qū)動程序編輯成模塊,就不需要重新的編譯核心啦!這個也會在后續(xù)的核心編譯當(dāng)中提到的!

所以啦!所有硬件的資源都是他來管理的!至于我們要達(dá)成一些工作時,除了藉由核心本身提供的功能 ( 例如上面提到的檔案總管 ) 之外,還可以藉由其它的應(yīng)用軟件來達(dá)成喔!舉個例子來說,你要看 VCD 影片是吧!那么除了 Windows 提供的媒體播放程序之外,你也可以自行安裝 VCD 播放程序來播放 VCD 啰!這個播放程序就是應(yīng)用軟件啰,而這個應(yīng)用軟件可以幫你去控制核心來工作 ( 就是放映影片啰 ) ,因此,我們可以這樣說,核心是控制整個硬件支持的咚咚,也是一個操作系統(tǒng)的更底層,然而要讓整個操作系統(tǒng)更完備的話,那還需要含有相當(dāng)豐富的核心提供的工具,以及核心相關(guān)的應(yīng)用軟件來支持!

OK!提到這里那么您知道 Linux 是什么了嗎?呵呵!對啦!其實 Linux 就是一個操作系統(tǒng),這個操作系統(tǒng)里頭含有最主要的 kernel 以及 kernel 提供的工具啦!他提供了一個完整的操作系統(tǒng)當(dāng)中更底層的硬件控制與資源管理的完整架構(gòu),這個架構(gòu)是沿襲 Unix 良好的傳統(tǒng)來的,所以相當(dāng)?shù)姆€(wěn)定而功能強大!此外,由于這個優(yōu)良的架構(gòu)可以在目前的個人計算機 ( X86 系統(tǒng) ) 上面跑,所以很多的軟件開發(fā)者將他們的工作心血移轉(zhuǎn)到這個架構(gòu)上面,那就是很多的應(yīng)用軟件啦!雖然 Linux 僅是其核心與核心提供的工具,不過,由于核心、核心工具與這些軟件開發(fā)者提供的軟件的整合,使得 Linux 成為一個更完整的、功能強大的操作系統(tǒng)啰!我們可以將 Linux 的系統(tǒng)與使用者的相關(guān)性看成底下的圖標(biāo):

圖一、使用者、使用者接口與核心工具、核心、與硬件之相關(guān)性

約略了解 Linux 是何物之后,接下來,我們要談一談,『為什么說 Linux 是很穩(wěn)定的操作系統(tǒng)呢?他是如何來的?』

從 Unix 到 Linux 這一段歷史

為什么大家常常會說, Linux 是很穩(wěn)定的一套操作系統(tǒng)呢?這是因為, Linux 他有個老前輩,那就是 Unix 家族啰!有這個前輩的提攜,讓 Linux 這個小老弟很快的就成為一套穩(wěn)定而優(yōu)良的操作系統(tǒng)啦!所以,底下我們來談一談 Unix 到 Linux 的這一段歷史吧!

早在 Linux 出現(xiàn)之前的二十年 ( 大約在 1970 年代 ), 就有一個相當(dāng)穩(wěn)定而成熟的操作系統(tǒng)存在了!那就是 Linux 的老大哥『 Unix 』是也!怎么這么說呢?!他們這兩個家伙有什么關(guān)系呀?這里就給他說一說啰!眾所皆知的, Linux 的核心是由 Linus Torvalds 在 1991 年的時候給他開發(fā)出來的,并且丟到網(wǎng)絡(luò)上提供大家下載,后來大家覺得這個小東西 ( Linux Kernel ) 相當(dāng)?shù)男《桑月木陀邢喈?dāng)多的朋友投入這個小東西的研究領(lǐng)域里面去了!但是為什么這的小東西這么棒呢?!然而又為什么大家都可以免費的下載這個東西呢?!嗯!等鳥哥慢慢的唬xx….喔不!聽我慢慢的道來!

一個沒有完成的夢想: Bell, MIT 與 GE 的『 Multics 』系統(tǒng)

早期的計算機并不像現(xiàn)在的個人計算機一般,他可不是一般人碰的到的玩意兒,除非是軍事或者是高科技用途才有可能接觸到這類的 Computer !而如前面所言,有計算機硬件還需要操作系統(tǒng)的配合才能夠發(fā)揮計算機的效能,不過,在那個年代,由于計算機算是『奢侈品』,喔~應(yīng)該說是『貴重物品』,所以,可能一間學(xué)校就只有一部大型主機當(dāng)然,那個年代所謂的大型主機仍然無法提供適度的運算能力的。不過,既然只有一部大型主機,然而有許許多多的教師、學(xué)生要想要來使用,怎么辦呢?為了解決這個問題,在 1960 年代初期,麻省理工學(xué)院 ( MIT ) 發(fā)展了所謂的『兼容分時系統(tǒng) ( Compatible Time-Sharing System, CTSS )』,就字面上的意義來看,他主要讓大型主機可以提供多個終端機聯(lián)機進入主機使用主機的資源, ( 附帶一提,當(dāng)時的終端機 ( Terminal ) 本身并沒有軟件或者可供使用的資源,這些終端機要能使用,一定必需要聯(lián)機登入主機之后,才能夠使用主機的資源來工作!) 當(dāng)時可以讓約 30 位使用者聯(lián)機使用主機。而為了讓這個分時系統(tǒng)更加的強大,所以,在 1965 年前后由貝爾研究室 ( Bell )、 麻省理工學(xué)院 ( MIT ) 及奇異電器公司 ( GE ) 開始來共同開發(fā)一個名為 Multics 的大型計畫,目標(biāo)是想讓大型主機可以聯(lián)機 300 位以上的使用者。不過,在奮斗了四年之后,該計畫仍然宣告不治…喔!是失敗啦!(注: Multics 有復(fù)雜、多數(shù)的意思。)

一個小型檔案系統(tǒng)的產(chǎn)生:1969 年 Ken Thompson 的小型 file server system

在復(fù)雜的 Multics 系統(tǒng)的計畫失敗后,貝爾研究室當(dāng)然就退出該計畫。就在這個計畫解散之后,曾經(jīng)參與 Muitics 的貝爾研究室的成員 Ken Thompson 由于自己工作上的需求,需要一套檔案存取的小型操作系統(tǒng),便在 1969 年的時候以 DEC 公司 ( Digital Equipment Corporation ) 的計算機 PDP-7 為硬件基準(zhǔn),設(shè)計了一個適合自己工作環(huán)境的小型檔案系統(tǒng),其中也含有他自行開發(fā)的一些小工具。那個系統(tǒng)就是最早期的 Unix 的源頭!當(dāng)初 Ken 設(shè)計這個檔案系統(tǒng)時,主要是為了自己的存取方便所設(shè)計的簡單 OS ,因此將原有的 Multics 系統(tǒng)大幅度的簡化,不過,在當(dāng)時還并沒有 Unix 這個名詞的出現(xiàn)!

Unix 的正式誕生:1973 年 Ritchie 等人以 C 語言寫出之一個正式 Unix 核心

由于 Thompson 寫的那個操作系統(tǒng)實在太好用了,所以在 Bell 研究室內(nèi)部廣為流傳,并且數(shù)度經(jīng)過改版。到了 1973 年, Bell 研究室的 Dennis Ritchie 等人為了讓這個系統(tǒng)的執(zhí)行效能更佳化,所以使用編譯效能更好的 C 語言將原有的 1969 年的那個系統(tǒng)之核心大幅度的改寫過,并且確定該操作系統(tǒng)名稱為 Unix,呵呵!那就是最早的 Unix 操作系統(tǒng)啰!不過,由于這個操作系統(tǒng)是由這一群工程師所開發(fā)完成的,而且使用者也大多是這方面的工程師,因此造成了后來 Unix 系統(tǒng)接口較難被一般使用者接受的情況 @_@ (注: 相對于 Multics ,Unix 具有單一的意思!)

重要的 Unix 分支: 1977 年 BSD 的誕生

在 Unix 早期的發(fā)展中,有一件相當(dāng)重要的事情,那就是 BSD 的誕生!由于 C 語言是一種高級語言,他可以被應(yīng)用在不同的硬件架構(gòu)上面,而 Unix 本身就是 C 語言寫成的!在 Unix 發(fā)表之后, 柏克萊大學(xué) ( Berkeley ) 的教授對于這個操作系統(tǒng)相當(dāng)?shù)挠信d趣,在經(jīng)過取得 Unix 的原始碼,并且?guī)捉?jīng)修改之后,終于在 1977 年發(fā)表了之一代的 Berkeley Software Distribution ( BSD ) 。這個 BSD 是 Unix 的一個分支,他的發(fā)展對于 Unix 有相當(dāng)大的影響,例如后來的 Sun 公司就是使用 BSD 發(fā)展的核心進行自己商業(yè)的 Unix 版本的發(fā)展的!

百家齊鳴的 Unix 版本:

由于 C 語言是一個相當(dāng)高階的程序語言,他與硬件沒有很直接的相關(guān)性,例如你的 Windows 也可以執(zhí)行 C 程序語言!而由于 Unix 是由 C 語言寫成的,因此,也就是說,你只要經(jīng)過稍微的原始碼修改程序,就可以在不同的硬件架構(gòu)上面執(zhí)行這個操作系統(tǒng)!后來,由于 Unix 的方便性,因此很多的商業(yè)公司及學(xué)術(shù)機構(gòu)就加入這個操作系統(tǒng)的研發(fā)啰。不過,也由于 Unix 的便利性與改寫容易,因此就造成了很多的不同版本的 Unix 啰,例如 ATT 的 System V 、 加州大學(xué)的 BSD 版、 IBM 的 AIX 等等。

由于『操作系統(tǒng)的核心 ( Kernel ) 必須要跟硬件配合,以提供及控制硬件的資源進行良好的工作!』,而在早期每一家生產(chǎn)計算機硬件的公司還沒有所謂的『協(xié)議』的概念,所以每一個計算機公司出產(chǎn)的硬件自然就不相同啰!因此他們必須要為自己的計算機硬件開發(fā)合適的 Unix 系統(tǒng),所以,他們自行開發(fā)的 Unix 當(dāng)然只能配合本身的硬件配備啰!例如在學(xué)術(shù)機構(gòu)相當(dāng)有名的 Sun 、 Cray 與 HP 就是這一種情況,他們開發(fā)出來的 Unix 并沒有辦法在其它的硬件架構(gòu)下工作的! ( 我們都稱呼這種系統(tǒng)與配備為『超級計算機』 ) !由于沒有廠商針對個人計算機設(shè)計 Unix 系統(tǒng),因此,在早期并沒有支持個人計算機的 Unix 操作系統(tǒng)的出現(xiàn) ( 當(dāng)然,這是由于早期的個人計算機并沒有現(xiàn)在這樣風(fēng)行就是了! ) ,每一家公司自己出的 Unix 雖然在架構(gòu)上面大同小異,但是卻真的僅能支持自身的硬件,所以啰,早先的 Unix 只能與服務(wù)器 ( Server ) 或者是大型工作站 ( Workstation ) 劃上等號!

此外,由于版本太多了,而大家都是同樣來自于 Unix 這個老祖宗,當(dāng)然也都稱自己是 Unix ,好了,如此一來,許多商業(yè)公司自然就會有類似的軟件發(fā)表,喝!那么自然就有些許的商業(yè)糾紛啰!真是傷腦筋~

1984 年的 GNU 與 Free Software Foundation:

Unix 在商業(yè)上面的問題讓許多對于 Unix 喜好者感到相當(dāng)?shù)膽n心,其中一個就是有名的 Richard M. Stallman 先生。他認(rèn)為, Unix 是一個相當(dāng)好的操作系統(tǒng),在這個系統(tǒng)上面,如果大家能夠?qū)⒆约核鶎W(xué)的貢獻出來,那么這個系統(tǒng)將會更加的優(yōu)異!Stallman 先生認(rèn)為更大的快樂就是讓自己發(fā)展的良好的軟件讓大家來使用了!而且,由于每個人的工作環(huán)境 ( 指軟硬件平臺 ) 可能都不太相同,所以,他也強調(diào)應(yīng)該要有 Open Source 的概念,讓大家都能夠分享這一份的心得!他認(rèn)為,有了 Open Source 之后,你的程序?qū)⒂泻芏嗟娜丝梢詭兔z驗,將使得 Unix 社群更佳的茁壯。為了自己的理想, Stallman 在 1984 年實際創(chuàng)立了 GNU 與 自由軟件基金會 ( Free Software Foundation, FSF ),并創(chuàng)作了許多『自由軟件』供大眾來使用,此外,對于其作品以自由 ( free ) 的 GNU General Public License ( GPL ) 的授權(quán)模式提供大眾使用。這個 FSF 的核心觀念是『版權(quán)制度是促進社會進步的手段,版權(quán)本身不是自然權(quán)力?!粚τ?FSF 有興趣或者對于 GNU 想要更深入的了解時,請參考朝陽大學(xué)的洪朝貴教授的網(wǎng)站,里面有更為深入的解說!而且,Stallman 的 GNU General Public License 一直強調(diào) Free 這個字眼!他是這樣說的:『”Free software” is a matter of liberty, not price. To understand the concept, you should thik of “free speech”, not “free beer”. “Free software” refers to the users freedom to run, copy, distribute, study, change, and improve the software』大意是說,自由軟件并不是指『免費』的,而是指具有『自由度, freedom』的軟件,什么是自由度呢?也就是你在取得這個軟件之后,可以進行修改、進一步發(fā)表與復(fù)制在不同的計算機平臺上面。這無疑是個好消息!因為如此一來,你所拿到的軟件可能原先只能在 Unix 上面跑,但是經(jīng)過原始碼的修改之后,你將可以拿他在 Linux 或者是 Windows 上面來跑!Stallman 先生更直接對自由度下了這樣的說明:

你可以根據(jù)任何你想要的提議 ( purpose ) 來跑這個 Free 的程序;

你可以在理解了這支 Free 的程序的運作之后,將他修改成你所想要的樣式與功能;

你可以將你自己修改過的 Free 的程序再次的發(fā)表,以幫助你的朋友們;

你可以將這支 Free 的程序進行改良,并將改良過的程序公開發(fā)表,以造福社群!

簡單的來說, GPL 授權(quán)具有幾個特點:

任何軟件掛上 GPL 授權(quán)之后,即為自由的軟件,任何人均可取得,同時,亦可取得其原始碼 ( Source Code );

取得 GPL 授權(quán)之軟件后,任何人均可進行修改原始碼,以符合自己的喜好;

除此之外,經(jīng)過修改的 Source Code 應(yīng)回報給網(wǎng)絡(luò)社會,提供大家來參考!

但請?zhí)貏e留意,并非掛上 GPL 之后的軟件就不可販賣,這個是不同的兩回事呦!舉個例子來說,在 Red Hat 的官方網(wǎng)站上面提供 Red Hat 釋出的 Linux 安裝光盤提供大眾下載,但是 Red Hat 本身依然有在賣 Linux 的套件,而且還賣的『很不便宜!』為何可以如此呢?呵呵!因為 Red Hat 他們賣的資料當(dāng)中,含有相當(dāng)大量經(jīng)過整了的文件資料,這些資料雖然在網(wǎng)絡(luò)上面可以下載,然而花了這么多的時間來整理這些資料,當(dāng)然應(yīng)該要給予相當(dāng)程度的報酬啰!您說是吧!所以,請留意喔!并非 GPL 不可用來營利!

這個 GNU 對于后來的 Linux 有相當(dāng)深遠(yuǎn)的影響,由于 Stallman 先生發(fā)展了 GNU 這個計畫中,主力在推出各種方便而優(yōu)異的工具軟件,例如廣為大家所知的 Emacs 文書編輯器、GCC, BASH..然而沒有作業(yè)平臺怎么使用這些軟件呢?然而,由于他倡導(dǎo)的自由軟件,讓后來的心血能很快的接觸原始碼來發(fā)展軟件,這就是后來的 Linux 的故事….這是后來的故事,等一下來說~

1988 年的圖形接口 X-Free86 project:

有鑒于圖形使用者接口 ( Graphical User Interface, GUI ) 的需求日益加重,在 1984 年由 MIT 與其它協(xié)力廠商首次發(fā)表了 X Window System ,并且更在 1988 年成立了非營利性質(zhì)的 XFree86 這個組織。所謂的 XFree86 其實是 X window system 與 Free 及 x86 系統(tǒng)架構(gòu)的整合名稱呢!而這個 XFree86 的 GUI 接口更在 Linux 的核心 1.0 版于 1994 年釋出時,整合于 Linux 操作系統(tǒng)當(dāng)中!

1991 年 芬蘭大學(xué)生 Linus Torvalds 的一則簡訊:

在后來的幾年內(nèi),由于計算機硬件工業(yè)的強力運作,以 intel 主導(dǎo)的 x86 系統(tǒng)架構(gòu)的個人計算機大行其道,所以個人計算機算是相當(dāng)流行的一個機器了!但在此時,人們使用的大多還是舊舊而且需要吃很多系統(tǒng)資源的 DOS 系列或其它的操作系統(tǒng)。 此時,有個芬蘭的郝爾辛基大學(xué) (Helsinki )Linus Torvalds 學(xué)生做了件不尋常的事情! Linus 手邊有個 Minix 系統(tǒng) ( 這也是 Unix 的分支 ) ,他對這個操作系統(tǒng)相當(dāng)?shù)挠信d趣!此外,由于當(dāng)時他正好買了一部 386 的計算機,所以他就想說,咦!這個 Unix 這么棒!這么穩(wěn)定,那我可不可以將他移植到個人計算機 ( X86 架構(gòu) ) 來使用呢?!好在由于 Stallman 提倡的 Open Source 風(fēng)氣,他得以接觸到一些 source code ,而就經(jīng)由這樣的一個想法,呵呵!他就很有心的讀取 Unix 的核心,并且去除較為繁復(fù)的核心程序,將他改寫成可以適用于一般個人計算機的 x86 系統(tǒng)上面,到了 1991 年,他終于將 0.02 版的 hobby 放到網(wǎng)絡(luò)上面供大家下載,并且由于 hobby 受到大家的肯定,相當(dāng)多的朋友一起投入這個工作中!終于到了 1994 年將之一個完整的核心 Version 1.0 釋出!并且造成目前的大流行…..由于 Linux kernel 的發(fā)展是由『虛擬團隊』所達(dá)成的,大家都是透過網(wǎng)絡(luò)取得 Linux 的核心原始碼,經(jīng)由自己精心改造后再回傳給 Linux 社群,進而一步一步的發(fā)展完成完整的 Linux 系統(tǒng),至于 Torvalds 先生是這個集團中的發(fā)起者。由于這個群策群力的緣故, Torvalds 先生將 Linux 定為同樣造福大家的 GNU 授權(quán)模式!

企鵝的來源:

1994年發(fā)表 Linux 正式核心 1.0 的時候,大家要 Linus Torvalds 想一只吉祥物,怪怪的 Torvalds 突然想到小時候去動物園被一只企鵝追著滿地打滾~還被咬了一口!既然想不到其它的吉祥物了,干脆就以這支企鵝來當(dāng)吉祥物算了!所以,呵呵!目前我們常常看到這一只企鵝就是這么來的咯!

什么是 distribution

好了,經(jīng)由上面的說明,我們知道 Linux 是個『操作系統(tǒng)』,而且他是 GNU 的授權(quán)模式,并且有個老大哥是 Unix 。不過,畢竟由 Torvalds 先生負(fù)責(zé)維護的 Linux 提供的僅是『核心』與『核心工具』的,對于需要更完整功能的操作系統(tǒng)來說,畢竟還不夠完備,例如如果你要桌面程序,還得要加入 X-Window 系統(tǒng)對吧?。咳绻阋茉O(shè) WWW 還得加入服務(wù)器軟件對吧?所以,雖然 Linux 的核心已經(jīng)提供了相當(dāng)多的支持與工具程序,但畢竟還不足以構(gòu)成一個很完整的操作系統(tǒng)。

好在,由于 Linux 的穩(wěn)定性良好,并且可以在便宜的 x86 架構(gòu)下的計算機平臺運作,所以吸引了很多的套件商與自由軟件的開發(fā)團隊在這個 Linux 的核心上面開發(fā)相關(guān)的軟件,例如有名的 sendmail, wu-ftp, apache 等等。此外,亦有一些商業(yè)公司發(fā)現(xiàn)這個商機,因此,這些商業(yè)公司或者是非營利性的工作團隊,便將 Linux 核心、核心工具與相關(guān)的軟件起來,并加入自己公司或團隊的創(chuàng)意的系統(tǒng)管理模塊與工具,而釋出一套可以完整安裝的操作系統(tǒng),這個完整的 Linux 操作系統(tǒng),我們就稱呼他為 distribution,或者是中文所謂的『安裝套件』啰!當(dāng)然啰,由于是基于 GNU 的架構(gòu)下,因此各家公司所發(fā)行的光盤套件是可以在網(wǎng)絡(luò)上面自由下載的。不過,如果想要有較佳的服務(wù),那么購買該公司發(fā)行的光盤也是不錯的!

不過,由于發(fā)展的 Linux 公司實在太多了,例如有名的 Red Hat, OpenLinux, Mandrake, Debian, SuSE 等等,所以很多人都很擔(dān)心,如此一來每個 distribution 是否都不相同呢?這就不需要擔(dān)心了,由于各個 distribution 都是架構(gòu)在 Linux Kernel 下來發(fā)展屬于自己公司風(fēng)格的 distribution,因此大家都遵守 Linux Standard Base ( LSB ) 的規(guī)范,也就是說,各個 distribution 其實都是差不多的!反正用到的都是 Linux Kernel ??!只是各個 distribution 里面所使用的各套件可能并不完全相同而已。所以啰,大家可以按照自己的喜好來選擇 Linux 的 distribution 光盤啰!底下列出幾個主要的 Linux 發(fā)行者網(wǎng)址

good.

一樓的超棒的

linux軟件架構(gòu)的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于linux軟件架構(gòu),Linux軟件架構(gòu):探索開源操作系統(tǒng)的核心框架。,linux系統(tǒng)是怎么回事?可以簡單的介紹下嗎?的信息別忘了在本站進行查找喔。

香港服務(wù)器選創(chuàng)新互聯(lián),香港虛擬主機被稱為香港虛擬空間/香港網(wǎng)站空間,或者簡稱香港主機/香港空間。香港虛擬主機特點是免備案空間開通就用, 創(chuàng)新互聯(lián)香港主機精選cn2+bgp線路訪問快、穩(wěn)定!


當(dāng)前標(biāo)題:Linux軟件架構(gòu):探索開源操作系統(tǒng)的核心框架。(linux軟件架構(gòu))
轉(zhuǎn)載源于:http://m.5511xx.com/article/dhsphpg.html