官术网_书友最值得收藏!

1.1 認識Linux

圖1-1 林納斯·托瓦茲

Linux是一種類Unix(like-Unix)的計算機操作系統,最早由Linus Torvalds(林納斯?托瓦茲,如圖1-1所示)開發的,當時他就讀于芬蘭赫爾辛基大學計算機系。他設計的初衷是想開發一個能代替Minix的操作系統,并使該系統可運行在基于386、486或奔騰處理器的個人計算機上,且具有Unix操作系統的全部功能。

1.1.1 Linux系統的起源

Linux的誕生可以追溯到1991年,當Linus還是芬蘭赫爾辛基大學的一名學生時,他對當時為教學而設計的Minix操作系統提供的功能不滿意,于是決定編寫比Minix更強大的操作系統來取代Minix。有了這個偉大的想法后,Linus開始通過自己的工作來進行試驗,他以Minix為基礎來開發新的系統。由于Linus經常要用他的終端仿真器去訪問大學主機上的新聞組和郵件,為了方便讀寫和下載文件,他又不得不編寫一個磁盤驅動程序,同時還要編寫相應的文件系統。這樣又增加了任務轉換功能、以及文件系統和設備驅動程序,于是幾個月后Linux就誕生了。Linux操作系統剛開始時被林納斯?托瓦茲取名為FREAX,其英文含義是怪誕的、怪物、異想天開。但在他將新的系統上傳到FTP服務器上時,管理員Ari Lemke很不喜歡這個名稱,即取Linus的諧音Linux作為該操作系統的目錄,遂稱為Linux系統。

要介紹Linux的歷史就不得不提及Unix。1965年,在美國國防部高級研究計劃署ARPA的支持下,麻省理工學院、貝爾實驗室和通用電氣公司決定開發一種“公用計算服務系統”,希望能夠同時支持整個波士頓所有的分時用戶,該系統稱作MULTICS(MULTiplexed Information and Computing Service)。MULTICS被認為是Unix操作系統的鼻祖,它是麻省理工學院、貝爾實驗室和通用電氣公司的一家合資企業開發的操作系統。MULTICS的研制難度超出了所有人的預料,盡管如此,經過多年的努力,最終MULTICS還是成功地投入應用了。其引入的許多現代操作系統領域的概念雛形,對隨后的操作系統,特別是Unix的成功有著巨大的影響。

Unix的開發始于移植精簡的MULTICS版本,從而開發出一個運行于PDP-7小型計算機上的操作系統,并且讓這個新操作系統能支持一種新的文件系統,即Unix文件系統的第一個版本。由Ken Thompson開發的Unix操作系統在1970年被移植到PDP-11上,經修改后能支持更多的用戶,這就是第1版的Unix。1973年發布的Unix第4版由Ken Thompson和Dennis Ritchie用C語言重寫了內核,讓操作系統脫離純匯編語言環境,打開了操作系統可移植的大門。20世紀80年代出現了個人計算機,而工作站當時只用在企業和大學中。大量Unix變體衍生而來,這些變體包括Berkeley Unix (BSD)、AT&T Unix System III和SystemV,其中BSD是由加利福尼亞大學伯克利分校開發的。每個變體又會演變出其他系統,如NetBSD和OpenBSD(BSD的變體)以及AIX(IBM的System V變體)。事實上,Unix的所有商用變體都來源于System V或BSD。

不過,因為Unix最終演變為一個商業化的操作系統,而購買Unix的價格令人望而卻步,的確不是一般用戶可以買得起的,只有那些負擔得起許可費的企業才能用。這限制了它的應用范圍,也為Linux的孕育創造了條件。

Linux是一個免費開放源代碼的類Unix操作系統,由來自世界各地的愛好者開發和維護,是目前世界上使用最多的類Unix操作系統。Linux是在GNU公共許可權限下免費獲得的,是一套遵從POSIX(可移植操作系統環境)規范的操作系統,它兼容于Unix System V以及BSD Unix操作系統。BSD Unix和Unix System V是Unix操作系統的兩大主流,以后的Unix系統都是這兩種系統的衍生產品。目前對于System V系統而言,把軟件程序源代碼拿到Linux環境下重新編譯之后就可以運行,而對于BSD Unix系統,它的可執行文件可以直接在Linux環境下運行。要記住的是,Linux源代碼不源于任何版本的Unix,即Linux并非Unix,而僅是模仿Unix的用戶界面和功能,是一個類似于Unix的產品。自Linux誕生以來,憑借其穩定、安全、高性能和高擴展性等優點,得到廣大用戶的歡迎,成為目前最為流行的操作系統之一。

Linux以它的高效和靈活性著稱。Linux模塊化的設計結構,使得它既能在價格昂貴的工作站上運行,也能在廉價的PC機上實現全部的Unix特性,具有支持多任務、多用戶的能力。Linux操作系統軟件包不僅包括完整的Linux操作系統,而且還包括了文本編輯器、高級語言編譯器等應用軟件。它還包括帶有多個窗口管理器的X-Windows圖形用戶界面,如同微軟公司的Windows系統一樣,允許用戶使用窗口、圖標和菜單對系統進行操作。

GNU計劃,又稱革奴計劃(GNU是“GNU's Not Unix”的遞歸縮寫),是由Richard Stallman在1983年9月27日公開發起的,它的目標是創建一套完全自由的操作系統。為保證GNU軟件可以自由地“使用、復制、修改和發布”,所有GNU軟件都有一份在禁止其他人添加任何限制的情況下授權所有權利給任何人的協議條款、GNU通用公共許可證(GNU General Public License,GPL),即“反版權”(或稱Copyleft)。

提到Linux就不得不說一說“Tux”,它是一只企鵝的名字,全稱“Tuxedo”,是Linux的標志,如圖1-2所示。這個企鵝圖案在最佳Linux圖標競賽中被選中。Tux的設計者是Larry Ewing,他于1996年,利用GIMP軟件設計出了這個企鵝圖案。Tux已經成為Linux和開源社區的象征。

圖1-2 Tux是Linux的標志

1.1.2 Linux的主要特點

Linux的核心思想有兩點:第一,一切對象都視作文件;第二,每個軟件都有確定的用途。這也就是說系統中的所有對象,包括命令、硬件和軟件、操作系統、進程等,對于操作系統內核而言,都被視為各種類型的文件。

Linux最大的優勢就在于其作為服務器的強大功能,它健壯和穩定的網絡功能是眾多用戶選擇它的根本原因。作為網絡操作系統,Linux有諸多特點,主要有如下幾個。

1.多用戶、多任務式管理

Linux是一個搶占式、多任務、多用戶操作系統,具有優異的內存和多任務管理能力,不僅可讓用戶同時執行數十個應用程序,還允許遠程用戶聯機登錄并運行程序。既然是多用戶、多任務系統,對于用戶賬號的管理自然不在話下,包括用戶權限、磁盤空間限制等,都有完善的工具可以使用。

根據硬件和計算機所執行任務的不同,Linux操作系統可支持一個到一千個以上的用戶,其中每個用戶可同時運行不同的程序集合。若多個用戶同時使用一臺計算機,那么平均到每個用戶身上的費用要比一個用戶單獨使用這臺計算機的費用低,因為單個用戶通常不能充分利用計算機所提供的全部資源。例如,任何人都不可能同時做到:使打印機一直處于打印狀態;使系統內存完全被占用;使磁盤一直忙于讀寫操作;使Internet連接一直處于使用狀態;使終端同時處于忙碌狀態等。而多用戶操作系統則允許多個用戶近乎同時使用所有的系統資源。這樣,系統資源可被最大程度地利用,相應地,每個用戶的花費就將減到最小。這正是多用戶操作系統的根本目的所在。

Linux是一個完全受保護的多任務操作系統,它允許每個用戶同時運行多個任務。各進程間可相互通信,但每個進程是受到完全保護的,即不會受到其他進程的干擾,就如內核不會受到其他任何進程干擾一樣。用戶在集中精力于當前屏幕所顯示任務的同時,在后臺還可運行其他任務,而且還可以在這些任務之間來回切換。如果運行的是X Window系統,那么同一屏幕上的不同窗口可運行不同的程序,并且可監視它們。這一功能提高了用戶的工作效率。

2.圖形集成界面

很多人認為只有微軟的Windows系列才擁有GUI(Graphical User Interface,即圖形用戶界面),其實,現在想找到“完全沒有圖形用戶界面”的操作系統還真是困難。大多數操作系統都擁有圖形界面,如比較有名的操作系統FreeBSD、Solaris和SCO Unix等,都擁有各自的圖形用戶界面。Linux配置有特殊的圖形用戶界面X Window系統,這是Unix系統的標準圖形界面,X Window系統提供多種窗口管理程序(Window Manager),結合對象集成環境,讓用戶能以靈活的方式來管理窗口和使用軟件。隨著Linux版本的升級,越來越多的Linux程序都提供了窗口界面。

X Window系統是1984年由麻省理工學院的研究人員開發的,這為Linux的圖形用戶界面奠定了基礎。對于支持X Window系統的終端或者工作站顯示器,用戶可以通過屏幕上的多個窗口實現與計算機的交互,也可以顯示圖形信息或者使用專門的應用程序來畫圖、監視進程和預覽格式化的輸出。X Window系統為開發基于圖形的應用程序提供標準接口,以完成與硬件無關的應用,所以對于支持X Window的各種系統通常被簡稱為“X”。

在X的系統架構中,窗口管理器用于控制窗口的位置和外觀,這類似于微軟的Windows系統或者蘋果公司的Macintosh系統的界面。窗口管理器可能只是個框架,不同的X用戶界面可以有很大的差異,然而絕大多數的用戶在使用X時,多是用已經打包的桌面環境,這種桌面環境不僅包含窗口管理器,還具備各種應用程序以及風格一致的界面,目前在Linux平臺下最流行的桌面環境是GNOME和KDE。在這種情況下,窗口管理器往往作為運行在桌面管理器下的程序,主要負責窗口的打開和關閉;程序的啟動和運行;對鼠標進行設置,使系統根據點擊方式和位置來完成不同的工作。窗口管理器還可實現用戶界面的個性化顯示。微軟公司的Windows只允許改變窗口關鍵元素的顏色,而X的窗口管理器允許用戶改變窗口的整個外觀和感覺,如通過修改窗口的邊框、按鈕和滾動條來改變窗口的外觀和工作方式;還允許建立虛擬桌面和創建菜單等。

3.廣泛的協議支持

Linux內核支持多種通信協議,基本上主要的通信協議都會支持,以下列舉部分協議。

TCP/IP通信協議。

IPX/SPX通信協議。

AppleTalk通信協議。

X.25通信協議。

Frame-relay通信協議。

ISDN通信協議。

PPP、SLIP和PLIP等通信協議。

ATM通信協議。

4.提供完善的網絡功能

Linux沿襲Unix系統使用TCP/IP作為主要的網絡通信協議,內建了FTP、TELNET、Mail和Apache等各種功能,再加上其穩定性高,因此許多ISP(Internet Service Provider)都采用Linux架設Mail Server、HTTP Server和FTP Server等服務器。它可提供對以下服務的支持。

支持FTP服務和客戶端。

支持電子郵件服務和客戶端程序。

支持DNS和DHCP服務。

支持網絡信息服務(NIS)。

支持認證服務。

5.支持多種應用程序及開發工具

由于Linux非常穩定,因此也成為一個優秀的開發平臺。程序設計師最關心的是如何在Linux中開發軟件。目前,運行在Unix操作系統下的工具大部分已經被很好地移植到Linux操作系統上,包括幾乎所有GNU的軟件和庫以及多種不同來源的X客戶端軟件。所謂移植通常指直接在Linux系統中編譯源程序而不需修改,或只需進行很小的修改,這得益于Linux系統完全遵循POSIX標準。在Linux下已經有越來越多的客戶端和服務器端的應用軟件。典型的應用如下。

語言及編程環境 C、C++、Java、Perl和Fortran等。

圖形環境 GNOME、KDE、GIMP、WindowMaker和IceWM等。

編輯器 Xemacs、Vim、Gedit和pico等。

Shells bash、tcsh、ash和csh等。

文字處理軟件 OpenOffice、Kword和abiWord等。

數據庫 MySQL、PostgreSQL和Oracle等。

6.子程序升級便捷

由于Linux是免費的操作系統,所以世界上很多支持自由軟件的人士通過不懈的努力來使Linux日趨完美,功能更加完善,因此其版本升級很快。互聯網上有很多Linux網站提供Linux的各種服務,如子程序升級,使越來越多的人逐漸喜歡上了Linux。現在很多公司的服務器都用Linux作為操作系統,一方面是因為Linux功能強大,性能非常穩定;另一方面也是因為不會因版權問題引起糾紛。

7.文件系統下良好的兼容性

Linux可與當前主要的網絡操作系統保持良好的兼容性,“文件與打印共享”可兼容的環境有Apple、Windows、Novell和Unix等。

8.具有內核編程接口

Linux內核是Linux操作系統的核心,負責分配計算機資源和調度用戶作業,盡可能使每個作業都能平等地使用系統資源,如對CPU的訪問,對磁盤、DVD、CD-ROM存儲器、打印機和磁帶驅動器等外圍設備的使用等。應用程序通過系統調用與內核交互。程序員可使用一個系統調用實現與多種設備的交互。例如,系統調用write只有一個,但它可向多個設備實現寫操作。當某個程序發出write請求時,內核將根據程序的上下文把請求傳遞給相應的設備。這種靈活性使得一些舊版本的工具能夠適用于新出現的設備,并且在不重寫程序的情況下,可以將程序較容易地移植到后續版本的操作系統中,較好地支持向前兼容。

主站蜘蛛池模板: 鹤峰县| 临洮县| 隆化县| 台江县| 台东县| 大厂| 银川市| 南城县| 泸西县| 攀枝花市| 洱源县| 库车县| 潞西市| 宁德市| 无为县| 逊克县| 闸北区| 六枝特区| 辉县市| 黑山县| 塘沽区| 阿尔山市| 宁强县| 同德县| 昔阳县| 陇西县| 江北区| 西乌| 东平县| 玉田县| 车险| 蓬莱市| 乐至县| 兴文县| 子长县| 滦南县| 四子王旗| 黄浦区| 肃北| 赤峰市| 科技|