2008年12月25日 星期四

2008w16




這次的心得主題是→Linux作業系統相關的導覽心得


我覺得這個作業系統是對我滿陌生的,因為平常市面上


最流通的莫過於Windows和MAC...至於Linux倒是不常見


不過不常見的原因並不是其缺點太多,而是它的使用範圍


並不是過於廣泛,但是會使用Linux的使用者大多是用來


架設伺服器,當然Linux也可以使用在桌上型電腦,


Linux 有許多的distribution,如red hat、debian ,fedora等。


功能上與使用度與Windows差不多,不過對初學者而言會不太習慣它的使用方式。


我認為作業系統的穩定性是相當重要的,唯有擁有穩定且不停的


更新才能受到消費者的青睞,Linux的最大利器莫過於是擁有比Windows


更堅固的穩定性且不易當機。不難發現網路上許多人分享的Linux使用心得,


會發現曾經為公司使用 Linux 架設伺服器的使用者,應該能夠認同這個特色,


且有可能主機連續運作個一整年都還不太容易出問題,這就是Linux的穩定性能受


到各界的肯定的最大原因,當然Linux還有許多其他的優點,但是是不是能比Windows


的作業系統更加流暢與實用,這就要見仁見智了


Linux的優點有以下幾點:




˙ 多人多工:可讓不同的使用者於同一時間來操作系統,


且可以執行相同的或不同的多項應用程式。


˙ 多平台:在 Linux 正式發表之後,其發展速度可說是非常迅速的 ;


大約在 1995 年前後,Linux 已可在非 intel 處理器上執行。


˙ 具行程間記憶體保護:出問題的程式並不影嚮整個系統。


˙ 開放原始碼 ( Open Source):在 Linux 下,大部份程式原始碼公開,


並允許程式設計師依須要而修改,可說是非常具有彈性。


˙ 具卓越的網路能力:Linux 是以 TCP/IP 為主要的通訊協定,由於其所表現的高穩定性,


使得一些企業紛紛以 Linux 來架設各式的伺服器。


˙ 提供完整的程式開發工具:可讓程式設計師以 Linux 為平台而去發展各式軟體,


可支援的程式語言眾多,如 C、C++、Perl、Python、… 等等。




現今在市面上最新的Linux 的發行版本 (整合套件) --- Linux distributions是目前存在的 Linux Distributions 有數十種版本,最常見者有 RedHat、Mandrake、OpenLinux ( Caldera )、


Debian ( GNU )、Slackware、SuSE、Turbo Linux 、Fedora … 等等。


各家公司所推出的 distribution 都是使用 linux 的 kernel,且軟體程式大部分是從 GNU 取得,


所以基本架構都是差不多。所以即使是想學習如何使用Linux的消費者,也不必過於擔心,


這麼多的版本該使用哪一種才好,因為Linux的彈性度相當高,且每一個版本的基本架構類似,


所以在學習方面,亦不會造成版本太多所致的困難。


Linux 名稱的由來要了解 Linux 這套作業系統的產生,


那可能要從早期的 Multics 作業系統談起。


當初 Multics OS 是由貝爾實驗室 (AT&T 公司的一個部門)、麻省理工學院 (MIT) 及奇異電子公司 (GE) 所共同參與研發的,


是一套安裝在大型主機上多人多工的作業系統,


不過後來因為一些因素導致 Multics 計劃駐足不前,最後終究遭裁撤的命運。而在 Multics 計劃停止後,由貝爾實驗室的兩位軟體工程師 Thompson 與 Ritchie 為主導,然後根據他們當初發展 Multics 時期的一些心得,並以 C 語言為基礎而發展出 UNIX OS ; 又由於 C 語言具備高、


低階語言的特性,使得 UNIX 可以讓程式設計師依他們所使用硬體裝置的不同而加以修改,


以方便移植到其他主機上面來運作,而不會被侷限在特定的主機平台上。1973 年,


UNIX 正式對外發表,不過在此之前也經過了幾次的改版。UNIX 發展初期,


AT&T 是採取較為開放的政策,允許讓全世界各地的玩家分享他們的成果,


並且可以針對原始碼 (source code) 部分進行修正,也正因為如此,才能夠便於將 UNIX 移植到不同平台上 ;


而 UNIX 其中一個重要的分支 -- BSD,就是在這種情況下產生,


BSD 是在 1978 年由加州柏克萊大學 (Berkeley) 的 Bill Joy 為主導,所研發出來的作業系統,而 Bill Joy 這位大人物正是後來美國昇陽公司 (Sun Microsystem) 的創辦者 ; 該公司之後又發展出一套 Sun OS (Solaris 前身)。


到了 1983 年,AT&T 也自行研發了另一個 UNIX 的分支 -- System V,


而在當時來說,


BSD 及 System V 即是 UNIX 中最重要的兩個分支。AT&T 最初原本對 UNIX 是採取開放的態度,但到了後來,因為基於商業利益的考量,而開始宣稱 UNIX 的版權為 AT&T 所有,


在當時來說是引起了不小的震撼,畢竟這種做法是與當初自由軟體的精神相互違背的。


不過話雖如此,還是有許多企業或個人對 UNIX 強大的功能情有獨鍾,


但卻又因為 AT&T 的態度轉變,而不再能夠自由取得 UNIX 的原始碼,於是乎一些具有研發能力的公司或個人,


乾脆就自己發展出一套與 UNIX 功能差不多,但並未抄襲 UNIX 原始碼的作業系統,


並且可以運作在 x86 電腦上,這就是一般我們常聽到的 UNIX-Like,而早期最出名的一套 UNIX-Like 就是在 1984 年誕生的 Minix。在 Minux 誕生的那一年,另外一件重大的事情就是 Richard Stallman (自由軟體之父) 所發起的 GUN 計劃,此計畫的最終目標是在發展一個 Unix-Like 且為自由軟體的完整作業系統,但畢竟此項工程過於浩大,所以在草創初期,


Stallman 就自己設計一些模擬在UNIX 上面執行的程式,而為了加速 GNU 計劃的推動,Stallman 就與其他愛好自由軟體的夥伴建立起 FSF ( Free Software Foundation : 自由軟體基金會 )。  


GNU 設計了很多的自由軟體來提供大家使用,並且以 GPL (GNU General Public License) 的方式來對外發行。GPL 是一種軟體的授權模式,只要軟體是以 GPL 來對外發行,這就代表任何人可以自由免費的取得該軟體與原始碼,您可以複製這個軟體,也可以修改其中的原始碼,


修改過後還可以用 GPL 的方式再對外發表,讓別人分享您修改的成果。


不過這裡可要注意一個問題,原始碼修改過後,不能任意改變 GPL 的授權模式,


因為版權本來就不是私人的。


像 Mandrake 及大陸的紅旗 Linux 就是修改自 RedHat,這也是最典型的 GPL 代表。1990 年時,GNU 就已經把一套 GNU 作業系統所需的一些軟體設計得差不多了,但唯獨欠缺核心 (kernel) 這部分,就在此時,還在芬蘭的赫爾辛基大學資訊系就讀的一位高材生,名字叫做 Linus-Torvalds,那時候他選修了一門 UNIX 的課程,就這樣學著學著而迷上了這套作業系統,但由於在課堂上所能使用的資源有限,所以那時候他就花了一筆錢,買了一台 386 的電腦,並且在此個人 PC上安裝 Minix OS,


但因 Minix 無法滿足 Linus 使用上的須求,於是便開始自己撰寫核心程式,


並於 1991 年於網路上釋出第一個 核心版本 0.0.2 版,並將其命名為 Linux (Linus' Minux)。不過要構成一套完整的作業系統,光是只有核心是不行的,尚須要有操作介面、系統程式及應用程式的存在才行,這樣整個作業系統才能運作。就在 1992 年,Linux 與 GNU 計劃中的很多軟體程式做結合,而正式成為一套 GNU/Linux 作業系統。1994 年時,1.0 版的核心被發表出來,到了 2005 年的七月,


已發展出 2.6.12 版的核心。或許您還不清楚核心在作業系統中所扮演的角色,


簡單的說明一下好了,核心可以說是作業系統最底層的東西,舉凡使用者在圖形介面或文字介面下所欲執行的程式都需要透過核心來幫您作處理 ; 比如現在使用者想要啟用印表機來列印文件,而當核心接收到這個需求後,首先要先看看核心本身認不認得這項列印裝置,


如過認得的話,當然就能應付您的需求了。一般說來,核心負責的主要工作有電腦硬體管理、檔案系統管理、行程管理、記憶體管理、網路管理等等,所以可以說是作業系統的心臟部分。 或許各位會覺得說光靠 Torvalds 一個人怎麼有辦法維護這麼複雜的核心,


其實 Linux 的發展模式算是比較特殊的,核心程式是其負責沒有錯,

但這不代表只有他一人在進行核心研發的工作,因為核心原始碼每個人都可以在網路上自由免費的下載,所以幾乎在全世界各地的玩家都會自動找 Bug ,並將修正的結果傳給 Torvalds,甚至於有些新硬體設備所需的 driver 也都是透過這種方式而來的。
雖然打這篇心得前,依然對Linux的作業系統不是很熟悉,
不過在網路上找了相當多的資料後
發現,Linux的主流還是相當有可看性的,也讓我對它有點興趣了起來, 只能說希望
在往後的日子裡有能與它認識的機會囉:D

沒有留言:

張貼留言