l 免費源碼開放
l 安全性高,漏洞修補快
l 多任務、多使用者
l 多平臺支持
l 設備要求低,不耗資源 ……
看到這一系列的優點,在IT人的腦海里只會浮出一個名字Linux. 如果還不夠直觀的話,有這么一個數據, 顯示前500系統中的485個系統都在運行著 Linux 的發布系統,而僅僅只有一臺運行著 Windows 系統,那么就讓我們了解下Linux成長腳步。
背景
自從20世紀40年代計算機誕生以來,它就以異乎尋常的速度發展著,但早期的硬件發展速度要遠遠高于軟件的發展速度。這時操作系統雖已出現,但應用得還比較少,運行在計算機里的程序大多是為了實現某種特定的功能而編制的。程序員需要對計算機內部各種設備的原理具有很深的了解才能夠寫出所需要的程序。雖然如Fortran等高級語言已經出現,但程序員很多仍使用機器語言或匯編語言編制程序,這時只有極少數人才能夠掌握程序的開發。
直到第三代集成電路計算機(1964-1971)時代的到來,操作系統才被越來越廣泛地用于計算機內部。操作系統事實上就是對計算機各種資源(設備)的一種抽象。這些資源(設備)包括CPU(Central Processor Unit)、主存(Main Memory)、輔存(Secondary Memory)、鍵盤(Keyboard)和顯示器(Monitor)等,并在此基礎上提供一系列服務(比如文件系統)。程序員可以通過調用操作系統所提供的編程接口獲得服務、對各種資源方便地進行訪問,從而開發出實現特定功能的應用軟件,提供給最終用戶(end user)。因此這一時期涌現出更多的程序員、分析員和計算機系統專家,軟件行業也得到了極大的發展。而對于最終用戶而言,他們對應用軟件的興趣遠遠高于操作系統本身,在他們看來,操作系統幾乎是透明的。這時的操作系統已由早期的單用戶作業操作系統發展成多用戶多任務的分時操作系統。也就是說,多個用戶可以通過多個終端同時訪問計算機資源。盡管一臺計算機物理上只有一套處理器、內存和輔存等資源,但是通過分時機制,每個用戶都會擁有一套虛擬的資源,就好像每個用戶都擁有一臺單獨的計算機。
UNIX誕生
1965年時,貝爾實驗室(Bell Labs)加入一項由通用電氣(General Electric)和麻省理工學院(MIT)合作的項目;該項目要建立一套多使用者、多任務、多層次(multi-user、multi-task、multi-level)的MULTICS操作系統。直到1969年,因MULTICS項目的工作進度太慢,該項目就被停了下來。當時,Ken Thompson已經有一個稱為"星際旅行"的程序在GE-635的機器上運行,但是反應非常的慢,正巧被他發現了一臺被閑置的PDP-7(Digital的主機),Ken Thompson和Dennis Ritchie就將"星際旅行"的程序移植到PDP-7上。而這部PDP-7就此在整個計算機歷史上留下了芳名。
MULTICS 其實是"MULTi-plexed Information and Computing System"的縮寫,在1970年時,那臺PDP-7卻只能支持兩個使用者,當時,Brian Kernighan 就開玩笑地戲稱他們的系統其實是:"UNi-plexed Information and Computing System",縮寫為"UNICS",后來,大家取其諧音,就稱其為"UNIX"了。1970年可稱為是UNIX元年。
1971年,他們申請了一臺PDP-11/20,申請的名義是:要發展文書處理系統。該提案被采納,他們也就發展出了一套文書處理系統–就是現在UNIX操作系統里面文書處理系統(nroff/troff)的前身。有趣的是,沒有多久,貝爾實驗室的專利部門真的采用了這套系統作為他們處理文件的工具,而貝爾實驗室的專利部門也就順理成章地成為UNIX的第一個正式使用者。當時,那部PDP-11/20只有0.5MB磁盤空間。而描述這整個系統的文件被標示為:"First Edition",版本日期是1970年11月。從此以后,UNIX的版本就以系統文件的版本來稱呼。
1973年,Ken Thompson(肯·湯姆森)和Dennis Ritchie(丹尼斯·里奇)發明了C語言之后,著手將UNIX程序用高階的C語言改寫,這個時候已經是第4版了(C的前身叫B,也是他們兩個人發明的,為了改寫UNIX,他們將B語言做了一番改進,而成了C語言)。這個劃時代的動作讓UNIX能夠很輕易地被移植到各種不同的機器上。
1974年,他們在計算機協會交流雜志(Communications of the ACM)正式發表了UNIX,吸引了更多學術界的注意與參與。從此,UNIX逐漸成為網絡工作站的標準,讓使用不同機器的使用者,都能使用類似的UNIX操作系統,這對于網絡世界的標準化有著很大的貢獻。
在UNIX的誕生初期,貝爾實驗是還是一個大的集合體,包括貝爾電話公司以及西部電氣(Western Electric Co.)。礙于反托拉斯法的規定,它不能利用UNIX做任何的商業行為,也因此,內部的管理階層自然沒有興趣對UNIX有任何的支持,UNIX就全靠一群玩家在琢磨,主要人物當然還是Ken Thompson和Dennis Richie。
重要分支
在 Unix 早期的發展中,有一件相當重要的事情,那就是 BSD 的誕生!由于 C 語言是一種高級語言,他可以被應用在不同的硬件架構上面,而 Unix 本身就是 C 語言寫成的!在 Unix 發表之后, 柏克萊大學 ( Berkeley 的教授對于這個操作系統相當的有興趣,在經過取得 Unix 的原始碼,并且幾經修改之后,終于在 1977 年發表了第一代的 Berkeley Software Distribution ( BSD 。這個 BSD 是 Unix 的一個分支,他的發展對于 Unix 有相當大的影響,例如后來的 Sun 公司就是使用 BSD 發展的核心進行自己商業的 Unix 版本的發展的!
GNU 與 Free Software Foundation
Unix 在商業上面的問題讓許多對于 Unix 喜好者感到相當的憂心,其中一個就是有名的 Richard M. Stallman 先生。他認為, Unix 是一個相當好的操作系統,在這個系統上面,如果大家能夠將自己所學的貢獻出來,那么這個系統將會更加的優異!Stallman 先生認為最大的快樂就是讓自己發展的良好的軟件讓大家來使用了!而且,由于每個人的工作環境 ( 指軟硬件平臺 可能都不太相同,所以,他也強調應該要有 Open Source 的概念,讓大家都能夠分享這一份的心得!他認為,有了 Open Source 之后,你的程序將有很多的人可以幫忙檢驗,將使得 Unix 社群更佳的茁壯。為了自己的理想, Stallman 在 1984 年實際創立了 GNU 與 自由軟件基金會 ( Free Software Foundation, FSF ,并創作了許多『自由軟件』供大眾來使用,此外,對于其作品以自由 ( free 的 GNU General Public License ( GPL 的授權模式提供大眾使用。這個 FSF 的核心觀念是『版權制度是促進社會進步的手段,版權本身不是自然權力?!粚τ?FSF 有興趣或者對于 GNU 想要更深入的了解時,請參考朝陽大學的洪朝貴教授的網站,里面有更為深入的解說!而且,Stallman 的 GNU General Public License 一直強調 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』的軟件,什么是自由度呢?也就是你在取得這個軟件之后,可以進行修改、進一步發表與復制在不同的計算機平臺上面。這無疑是個好消息!因為如此一來,你所拿到的軟件可能原先只能在 Unix 上面跑,但是經過原始碼的修改之后,你將可以拿他在 Linux 或者是 Windows 上面來跑!Stallman 先生更直接對自由度下了這樣的說明:
你可以根據任何你想要的提議 ( purpose 來跑這個 Free 的程序;
你可以在理解了這支 Free 的程序的運作之后,將他修改成你所想要的樣式與功能;
你可以將你自己修改過的 Free 的程序再次的發表,以幫助你的朋友們;
你可以將這支 Free 的程序進行改良,并將改良過的程序公開發表,以造福社群!
簡單的來說, GPL 授權具有幾個特點
任何軟件掛上 GPL 授權之后,即為自由的軟件,任何人均可取得,同時,亦可取得其原始碼 ( Source Code
取得 GPL 授權之軟件后,任何人均可進行修改原始碼,以符合自己的喜好
除此之外,經過修改的 Source Code 應回報給網絡社會,提供大家來參考!
但請特別留意,并非掛上 GPL 之后的軟件就不可販賣,這個是不同的兩回事呦!舉個例子來說,在 Red Hat 的官方網站上面提供 Red Hat 釋出的 Linux 安裝光盤提供大眾下載,但是 Red Hat 本身依然有在賣 Linux 的套件,而且還賣的『很不便宜!』為何可以如此呢?呵呵!因為 Red Hat 他們賣的資料當中,含有相當大量經過整了的文件資料,這些資料雖然在網絡上面可以下載,然而花了這么多的時間來整理這些資料,當然應該要給予相當程度的報酬啰!您說是吧!所以,請留意喔!并非 GPL 不可用來營利!
LINUX的誕生(Linux Torvalds)
在后來的幾年內,由于計算機硬件工業的強力運作,以 intel 主導的 x86 系統架構的個人計算機大行其道,所以個人計算機算是相當流行的一個機器了!但在此時,人們使用的大多還是舊舊而且需要吃很多系統資源的 DOS 系列或其它的操作系統。 此時,有個芬蘭的郝爾辛基大學 (Helsinki Linus Torvalds 學生做了件不尋常的事情! Linus 手邊有個 Minix 系統 ( 這也是 Unix 的分支 ,他對這個操作系統相當的有興趣!此外,由于當時他正好買了一部 386 的計算機,所以他就想說,咦!這個 Unix 這么棒!這么穩定,那我可不可以將他移植到個人計算機 ( X86 架構 來使用呢?!好在由于 Stallman 提倡的 Open Source 風氣,他得以接觸到一些 source code ,而就經由這樣的一個想法,呵呵!他就很有心的讀取 Unix 的核心,并且去除較為繁復的核心程序,將他改寫成可以適用于一般個人計算機的 x86 系統上面,到了 1991 年,他終于將 0.02 版的 hobby 放到網絡上面供大家下載,并且由于 hobby 受到大家的肯定,相當多的朋友一起投入這個工作中!終于到了 1994 年將第一個完整的核心 Version 1.0 釋出!并且造成目前的大流行…..由于 Linux kernel 的發展是由『虛擬團隊』所達成的,大家都是透過網絡取得 Linux 的核心原始碼,經由自己精心改造后再回傳給 Linux 社群,進而一步一步的發展完成完整的 Linux 系統,至于 Torvalds 先生是這個集團中的發起者。由于這個群策群力的緣故, Torvalds 先生將 Linux 定為同樣造福大家的 GNU 授權模式!
1994年發表 Linux 正式核心 1.0 的時候,大家要 Linus Torvalds 想一只吉祥物,怪怪的 Torvalds 突然想到小時候去動物園被一只企鵝追著滿地打滾~還被咬了一口!既然想不到其它的吉祥物了,干脆就以這支企鵝來當吉祥物算了!所以,目前我們常??吹竭@一只企鵝就是這么來的!
年份表
1965年
Bell實驗室、MIT、GE(通用電氣公司)準備開發Multics系統,為了同時支持300個終端訪問主機,但是1969年失敗了
1969年
Ken Thompson(C語言之父)利用匯編語言開發了FIle Server System(Unics,即Unix的原型)
1973年
Dennis Ritchie和Ken Thompson發明了C語言,而后寫出了Unix的內核
1977年
Berkeley大學的Bill Joy針對他的機器修改Unix源碼,稱為BSD(Berkeley Software Distribution)
1979年
Unix發布System V,用于個人計算機
1984年
因為Unix規定:“不能對學生提供源碼”,Tanenbaum老師自己編寫兼容于Unix的Minix,用于教學
1984年
Stallman開始GNU(GNU's Not Unix)項目,創辦FSF(Free Software Foundation)基金會
1985年
為了避免GNU開發的自由軟件被其他人用作專利軟件,因此創建GPL(General Public License)版權聲明
1988年
MIT為了開發GUI,成立了XFree86的組織;
1991年
芬蘭赫爾辛基大學的研究生Linus Torvalds基于gcc、bash開發了針對386機器的Lniux內核;
1994年
Torvalds發布Linux-v1.0
1996年
Torvalds發布Linux-v2.0,確定了Linux的吉祥物:企鵝
各發行版網址
Red Hat: http://www.redhat.com
Mandrake: http://www.linux-mandrake.com/en/
Slackware: http://www.slackware.com/
SuSE: http://www.suse.com/index_us.html
OpenLinux: http://www.caldera.com/
Debian: http://www.debian.org/
Linpus: http://www.linpus.com.tw/
UniteLinux:http://www.sco.com/unitedlinux/
原創文章,作者:easy.bai,如若轉載,請注明出處:http://www.www58058.com/51177