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

  • 操作系統(第3版)
  • 羅宇等編著
  • 11385字
  • 2018-12-29 03:45:08

1.3 主要操作系統介紹

目前最常用的操作系統是Windows系列、UNIX家族和Linux。其中,UNIX常用的變種有SUN公司的Solaris、IBM公司的AIX、惠普公司的HP UX等。其他比較常用的操作系統還有Mac OS,NetWare等。

1.3.1 Windows系列及MS DOS

微軟公司于1975年成立,最初只有一個BASIC編譯程序和比爾·蓋茨、保羅·艾倫兩個人。但現在,微軟公司已成為世界上最大的軟件公司,其產品涵蓋操作系統、開發系統、數據庫管理系統、辦公室自動化軟件、網絡應用軟件等各個領域。Windows系列操作系統是由微軟公司從1985年起開發的一系列窗口操作系統產品,包括個人(家用)、商用和嵌入式三條產品線,如圖1.9所示。

圖1.9 微軟公司Windows系列操作系統產品線

個人操作系統包括Windows Me,Windows 98/95,及更早期的版本Windows 3.x,Windows 2.x,Windows 1.x等,主要在IBM個人機系列上運行,現在隨著個人計算機處理速度的提高及系統其他性能的提高,安裝上述系統的人不多了,微軟公司也停止了上述版本的發行。商用操作系統是以Windows NT為基礎的Windows系統,主要在服務器、工作站上運行,也可以在IBM個人機系列上運行。嵌入式操作系統有用于掌上電腦的Windows CE和手機用操作系統Smartphone等。2001年微軟利用以Windows NT為基礎的Windows XP將家用和商用兩條產品線合二為一,2003年推出了2000的升級版Windows 2003。Longhorn是微軟公司Windows Vista版本的開發代號。它是繼Windows XP和Windows Server 2003之后的又一重要的操作系統。該系統于2006年底發布運行。Vista特別針對系統安全做了許多工作,但是系統臃腫,運行效率受到影響。2009年微軟推出了Windows 7,系統性能得到很大改善。

微軟公司從1983年開始研制Windows操作系統。當時,IBM PC進入市場已有兩年,微軟公司開發的微型計算機操作系統DOS和編程語言BASIC隨IBM PC捆綁銷售,取得了成功。Windows操作系統最初的研制目標是在DOS基礎上提供一個多任務的圖形用戶界面。不過,第一個取得成功的圖形用戶界面系統并不是Windows,而是Windows的模仿對象——蘋果公司于1984年推出的Mac OS(運行于蘋果公司的Macintosh個人計算機上),Macintosh機及其上的操作系統風靡美國多年,是IBM PC和DOS操作系統在當時市場上的主要競爭對手。當年,蘋果公司曾對PC的Windows操作系統不屑一顧,并大力抨擊微軟公司抄襲Mac OS的外觀和靈感。但蘋果機和Mac OS是封閉式體系(硬件接口不公開、系統源代碼不公開等),而IBM PC和MS DOS是開放式體系(硬件接口公開、允許并支持第三方廠家做兼容機、操作系統源代碼公開等)。這個關鍵的區別使得IBM PC后來者居上,銷量超過了蘋果機,并使在IBM PC上運行的Windows操作系統的普及率超過了Mac OS,成為個人計算機市場占主導地位的操作系統。

1.MS DOS

DOS是微軟公司與IBM公司開發的、廣泛運行于IBM PC及其兼容機上的操作系統,全稱是MS DOS。

20世紀80年代初,IBM公司開發IBM PC。當其涉足微型計算機市場時,曾多方考察選擇配合該機的操作系統。1980年11月,IBM和微軟公司正式簽約,日后的IBM PC均使用DOS作為標準的操作系統。由于IBM PC大獲成功,微軟公司也隨之得到了飛速發展,MS DOS從此成為個人計算機操作系統的代名詞,發展為個人計算機的標準平臺。

IBM PC機上所配的操作系統稱為PC DOS,是IBM公司向微軟公司買下MS DOS的版權,經過修改和擴充后而產生的。

MS DOS最早的版本是1981年8月推出的1.0版,1993年6月推出了6.0版,微軟公司推出的最后一個MS DOS版本是DOS 6.22,以后不再推出新的版本。MS DOS是一個單用戶微型計算機操作系統,自4.0版開始具有多任務處理功能。

2.Windows Me,Windows 98/95及Windows 3.x的發展歷史

微軟公司Windows操作系統的個人產品線由20世紀80年代的DOS平臺演變而來,其中,影響較大和較突出的版本是Windows 3.1和Windows 95。

Windows 3.1在1992年發布,該系統修改了3.0的一些不足,并提供了更完善的多媒體功能,Windows系統開始流行起來,確定了Windows操作系統在PC領域的壟斷地位,而Windows 95一上市就風靡世界。Windows 3.1及以前的版本均為16位系統,因而還不能充分利用硬件的發展提供強大功能。同時,它們必須與DOS共同管理系統硬件資源,依賴DOS管理文件系統,且只能在DOS之上運行,并且它不是多道程序設計系統,因而還不能算是完整的操作系統。而Windows 95則重寫了操作系統內核,不再基于DOS系統,特別是增加了多任務,使得用戶可以同時運行多個程序,成了真正的多道程序設計系統,并在提供強大功能(如網絡和多媒體功能等)和簡化用戶操作(如桌面和資源管理等新特性)兩個方面都取得了突出的成績。

2000年9月,微軟公司推出Windows 95/98的后續版本Windows Me(視窗千禧版,Microsoft Windows Millennium Edition),較之Windows 95/98沒有本質上的改進,只是擴展了一些功能,增加了一些驅動程序。Windows Me的后續版本是把微軟公司個人操作系統與商用操作系統合二為一(即把Windows Me和Windows 2000合二為一)的Windows XP。這種產品線的合并同時意味著,微軟公司以后的個人和商用機器的Windows操作系統都基于NT內核。

3.微軟公司的多用戶操作系統Windows NT系列

微軟公司在20世紀80年代中后期的主流產品Windows和DOS都是個人計算機上的單用戶操作系統。1985年,IBM公司開始與微軟公司合作開發商用多用戶操作系統OS/2,1987年OS/2推出后,微軟公司開始計劃建立自己的商用多用戶操作系統。1988年10月,微軟公司聘用Dave Culter作為NT的主設計師,開始組建開發新操作系統的隊伍。1993年5月24日,經過幾百人4年多的工作,微軟公司正式推出Windows NT。在相繼推出Windows NT1.0,2.0,3.0,4.0后,2000年2月,推出Windows 2000(原來稱為Windows NT5.0)。而Windows 2000的后一個版本是Windows XP。后來又推出了Windows 2003,2006年推出Vista,2009年推出Windows 7。

Windows NT的開發目標是開發工作站和服務器上的32位操作系統,以充分利用32位微處理器等硬件新特性,并使其容易適應將來的硬件變化,同時不影響已有應用程序的兼容性(使原有的工作量和修改量最小)。

Windows NT設計初期采用OS/2界面,后來因Windows 3.1操作系統的成功又改用Windows系列的界面。Windows NT系列可支持Intel x86和部分RISC CPU。Windows NT較好地實現了充分利用硬件新特性、可擴充性、可移植性、兼容性等設計目標,它支持對稱多處理機結構、內核多線程、多個可裝卸文件系統(MS DOS FAT、OS/2 HPFS、CDROM CDFS、NT可恢復文件系統NTFS等),還支持多種常用API(應用編程接口,如WIN 32,OS/2,DOS,POSIX等API),提供源碼級兼容或二進制兼容,內置網絡和分布式計算,具有互操作性。Windows NT安全性達到美國政府C2級安全標準。

Windows NT的后一個版本與Windows Me的后一個版本合二為一,稱為Windows XP。Windows XP的設計理念是,把以往Windows系列軟件家庭版的易用性和商用版的穩定性集于一身。

1.3.2 UNIX大家族(SVR4,BSD,Solaris,AIX,HP UX)

UNIX是一種多用戶操作系統。它1969年誕生于美國貝爾(電話)實驗室,由于其最初的簡潔、易于移植等特點而很快得到注意、發展和普及,成為從微型機跨越到巨型機的唯一操作系統。除了貝爾實驗室的“正宗”UNIX版本外,UNIX還有大量的變種。例如,目前的主要變種SUN Solaris,IBM AIX和HP UX等,不同變種間的功能、接口、內部結構與函數基本一致但又有不同。除變種外,還有一些系統,如Mach和Linux,與變種的UNIX不同,變種是在正宗版本的基礎上修改而來(包括界面與內部實現),而Mach和Linux只是系統調用接口相同,其內核則完全被重寫。

最早的UNIX具有內核結構小巧、接口簡潔統一、功能豐富實用、用高級語言編寫、可移植性好、源代碼免費開放等優點,這些優點對UNIX的迅速成功起著重要作用。但后來由于變種不加控制地繁衍和功能的不斷增加,其中的一些優點并沒有完全保持下來。后來的UNIX內核不再小巧,而變得越來越龐大、復雜和笨拙。源代碼免費開放和簡單的許可證傳播形式促進了早期的普及,但也導致了后來各變種間的不兼容。

此外,最初的UNIX就具有內核結構可擴充性不強、缺乏圖形界面、接口對初學者和普通用戶不友好等缺點。現在這些缺點有的得到了改善,有的還存在。圖形界面在后來得到了發展,如X-Window,Motif等。內核結構問題至今仍存在。

UNIX最初的許多概念、命令、實用程序和語言,今天仍沿用,顯示了UNIX原始設計的簡潔和實力。

UNIX的發展主要經歷了5個階段。其發展歷程如圖1.10所示。

圖1.10 UNIX發展歷程

(1)UNIX的產生

UNIX起源于“Multics”的開發失敗。Multics項目(Multipexed Information and Computing Service)由貝爾(電話)實驗室、通用電氣公司(General Electric)和麻省理工學院聯合開發,旨在建立一個能夠同時支持數千用戶的分時系統,該項目因目標過于龐大而失敗,于1969年撤銷。

退出Multics項目后,貝爾實驗室的雇員Thompson開始在公司的一臺閑置的PDP—7(主存4KB)上開發一個“太空漫游”游戲程序。由于PDP-7缺少程序開發環境,為了方便這個游戲程序的開發,Thompson和公司的另一名雇員Ritchie一起用GE—645匯編語言(以前用于Multics開發)開發PDP—7上的操作環境。最初是一個簡單的文件系統(后來演化為S5文件系統),很快又添加了一個進程子系統、一個命令解釋器(后來發展為Bourne Shell)和一些實用工具程序,這個系統被命名為UNIX。

此后,隨著貝爾實驗室工作環境的需要,UNIX移植到PDP—11上,并逐漸增加了新的功能。很快地,UNIX開始在貝爾實驗室內部流行,許多人都投入到它的開發中來。1971年,《UNIX程序員手冊》第1版出版。從這之后直到1989年,貝爾實驗室又相繼出版10個版本的UNIX。

1973年,Ritchie開發的C語言對UNIX的發展起了重要作用。同年,用C語言重寫了UNIX(UNIX第4版),這使得UNIX的可移植性大大增強,這是UNIX邁向成功之路的關鍵一步。

1973年10月,Thompson和Ritchie在ACM(Association for Computing Machinery,計算機協會)的SOSP(Symposium on Operating Systems Principles,操作系統原理討論會),上發表了首篇UNIX論文,這是UNIX首次在貝爾實驗室以外亮相。

(2)免費擴散(1973年到20世紀70年代末)

自從在SOSP上發表論文后,UNIX馬上引起了眾人的注意和興趣,UNIX軟件和源代碼迅速以許可證形式免費傳播到世界各地的大學及研究機構。這些大學、研究機構在免費使用的同時,對UNIX進行了進一步的研究、改進和移植。貝爾試驗室又將這些改進與移植加入其以后的UNIX版本中。這種管理員與用戶之間的敬業精神正是UNIX快速成長和不斷發展的關鍵因素。UNIX早期發展的這種特征與近年Linux的發展極為相似。

另外,眾多大學對UNIX的免費使用,使學生們得以熟悉UNIX,這些學生畢業后又把UNIX傳播到各種商業和政府機構,這對UNIX早期的傳播和普及起到了重要作用。

UNIX的第一次移植,是由Wollongong大學于1976年將其移植到Interdata機上。其他幾次較早的移植包括:1978年,微軟公司與SCO公司合作將UNIX移植到Intel 8086上,即XENIX系統(最早的UNIX商業變種之一);1978年,DEC公司將UNIX委托移植到VAX上,即UNIX/32V(3BSD的前身)。

(3)商用版本的出現和三大主線的形成(20世紀70年代中期到80年代中期)

20世紀70年代中期到80年代中期,UNIX的迅速發展,眾多大學和公司的參與,使UNIX的變種迅速增多。像SUN Solaris,IBM AIX和HP UX等變種主要基于以下三條主線上的某個版本發展而來:由貝爾實驗室發布的UNIX研究版(First Edition UNIX到Tenth Edition UNIX,或稱V1到V10,以后不再發行新版)、由加利福尼亞州大學伯克利分校發布的BSD(Berkeley Software Distribution)、由貝爾實驗室發布的UNIX System Ⅲ和SystemⅤ。

1984年的AT&T大分家使得AT&T可以進入計算機市場。因此,除了貝爾實驗室研究小組繼續研究和發行UNIX研究版之外,AT&T成立了專門的UNIX對外發行機構。這些機構先后發行了System Ⅲ(1982年)、SystemⅤ(1983年)、SystemⅤ Release 2(SVR2,1984年)、SVR3(1987年),許多商業UNIX變種都是基于這條主線實現的。

加利福尼亞州大學伯克利分校是最早(1973年12月)領取許可證的UNIX用戶之一,最初的BSD版本發行(1978年春的1BSD和1978年末的2BSD)僅包括應用程序和實用工具(如Vi,Pascal編譯,C編譯,Shell解釋器等),沒有對操作系統核心本身進行修改和再發行。1979年末的3BSD則在內核設計上實現了頁式虛存,它是由加利福尼亞州大學伯克利分校發行的第一個操作系統核心。在3BSD中所做的虛存工作使該校得到美國國防部資助,推出了4BSD(1980年4.0BSD到1993年的4.4BSD),其中集成了TCP/IP,引入了快速文件系統(Fast File System,FFS)、套接字等大量先進技術。BSD對UNIX的發展具有重要影響,有許多新技術是BSD率先引入的。SUN OS就是基于4BSD的。伯克利分校對UNIX的開發工作一直由計算機科學研究小組(Computer Science Research Group,CSRG)承擔,1993年發行4.4BSD時,CSRG宣布因缺少資金等原因而停止UNIX開發,因此4.4BSD是伯克利分校發行的最后一個版本。

到20世紀80年代,UNIX已在從微型機到巨型機等眾多不同機型上運行。作為通用操作系統,當時UNIX的主要競爭對手是各計算機廠商的專有系統,如IBM的OS 360/370系列等。

(4)兩大陣營和標準化(20世紀80年代后期)

20世紀80年代后期,UNIX已經出現了很多變種,變種增多導致了程序的不兼容性和不可移植(同一應用程序在不同UNIX變種上不能不經修改而直接運行)。因此,迫切需要對UNIX進行統一標準化,這就導致了競爭的兩大陣營和中間標準機構的出現。

1987年,在統一市場的浪潮中,AT&T宣布了與SUN公司的一項合作,將SystemⅤ和SUN OS統一為一個系統。其余廠商(IBM,Digital,HP,Apollo等)十分關注這項開發,認為他們的市場處于威脅之下,于是聯合開發新的開放系統。他們的新機構稱為開放軟件基金會(Open Software Foundation,OSF),于1988年成立。作為回應,AT&T和SUN公司聯盟也于1988年形成了UNIX International(UNIX國際,UI)。以SVR4為契機的這場“UNIX戰爭”將系統廠商劃分成UI和OSF兩大陣營,并圍繞著兩大主要UNIX系統技術(AT&T的SystemⅤ和稱為OSF/1的OSF系統)展開競爭。

1989年,在SystemⅤ,BSD和XENIX的基礎上,AT&T的UNIX Software Operation(UNIX軟件工作室,USO)設計實現了SVR4。SVR4是非常成功且廣泛使用的一個版本(目前大部分UNIX商業變種都基于SVR4)。SVR4的開發對核心進行了大幅度重寫,吸收了由SUN OS提供的許多特性,如虛擬文件系統(Virtual File System,VFS)接口、一個完全不同的存儲管理體系結構和SUN網絡文件系統(Network File System,NFS)。除了從SUN OS吸收增強特性外,還從BSD UNIX,SystemⅤ Release3,XENIX吸收了諸多特性,以及對UI定義的新特性進行了補充。

定義SVR4的過程在當時來說是非常開放的。最終用戶、軟件開發商、系統管理員、經銷商等都被要求列出他們的系統軟件問題,并就他們對下一代UNIX環境的希望提供反饋。最終的目標是,確定如何最好地增強UNIX的可用性和可伸縮性。基于這些意見和反饋,SVR4從當時的三個主要UNIX平臺(BSD/SUN OS,SVR3,XENIX)汲取了最優的技術。

SVR4通過把UNIX的三個主要分支(BSD/SUN OS,SystemⅤ和XENIX)聯合到一個公用環境中來統一零碎的UNIX市場。SVR4使已安裝的80%的UNIX系統得到了統一,使主要基于SystemⅤ、XENIX的變種和基于BSD/SUN OS的變種得到了統一。SVR4規范了系統調用等接口,使用戶二進制程序在同處理機情況下跨操作系統版本移植成為可能。

與UI相對立的OSF,則于1989年推出基于卡內基-梅隆大學Mach 2.5版的操作系統OSF/1。

20世紀80年代中期,由卡內基-梅隆大學開發的Mach支持UNIX系統調用編程接口,但卻是一個全新的內核。OSF/1和NextStep等商業系統都基于Mach 2.5。Mach 2.5的后續版本Mach 3.0與2.5版的內核結構完全不同,引入了所謂微內核結構,不過因為微內核結構的系統開銷太大,因此一直沒有商業化。

除UI和OSF所做的統一和標準化努力外,還出現了若干UNIX標準接口(主要是編程接口),如AT&T的SystemⅤ接口定義(SystemⅤ Interface Definition,SVID)、IEEE POSIX規范(如1990年的POSIX 1003.1)、X/Open可移植性指南(X-open Portability Guideline,XPGA,如1993年的XPG4)等。

任一標準都只涉及大多數UNIX系統功能的一個子集。理論上說,如果程序員只使用該子集的函數,其應用程序就可以移植到任何遵從同一標準的系統上。但這也意味著,程序員不能利用硬件或操作系統特性對應用程序進行優化,也不可能利用某些UNIX廠商提供的特殊功能。標準化保障了可移植性,卻給性能優化制造了障礙。與這一矛盾相關的是,在標準化過程中,各廠商總想加入一些特性來標榜自己的“產品特色和優勢”,這也使得標準化沒有完全成功。

(5)共同面對Windows NT的競爭和兩大陣營的淡化(20世紀90年代)

20世紀90年代初期,美國經濟蕭條,加上微軟公司的Windows系統蓬勃發展,這一切都威脅著UNIX的發展乃至生存。共同面對的外來競爭,使兩大陣營(UI與OSF)的爭斗很快淡化下來。

1993年,UI停止商業運作。出于各種原因,SVR4從1989年至今幾經易主,先后曾屬于AT&T UNIX Software Operation(1989年)、UNIX系統實驗室(UNIX System Laboratories,USL,1991年)、Novell公司(1991年部分股權,1993年所有股權)、X/OPEN(1993年底,僅擁有商標和授權書)和SCO公司(1995年底)。

Digital公司1993年發行的DEC OSF/1是唯一一個基于OSF/1標準的商業操作系統。此后,Digital公司從該操作系統中刪減了許多與OSF/1相關的部分,1995年將其改名為Digital UNIX。1998年,DEC公司被Compaq公司并購后又改名為Tru64 UNIX。

1.3.3 自由軟件Linux和freeBSD等

1984年,自由軟件的積極倡導者Richard Stallman組織開發了一個所謂自由軟件的軟件體系——GNU(GNU is Not UNIX),并擬訂了一份通用公用版權協議(General Public License,GPL)。所謂自由軟件是由開發者提供軟件的全部源代碼,任何用戶都有權使用、復制、擴散、修改該軟件,同時用戶也有義務將自己修改的程序代碼公開。自由軟件可免費提供給任何用戶使用,也包括用于商業目的;并且自由軟件的所有源程序代碼也是公開的,可免費得到。它的源代碼不僅公開而且可自由修改,無論修改的目的是使自由軟件更加完善,還是在修改的基礎上開發上層軟件都沒有問題。

自由軟件的出現給人們帶來很大的好處。首先,免費可使用戶節省相當一筆費用;其次,公開源代碼可吸引盡可能多的開發者參與軟件的查錯與改進。在開發協調人的控制下,自由軟件新版本的公布、反饋、更新等過程是完全開放的。

目前,人們已很熟悉的一些軟件,如因特網域名服務器程序BIND、Perl編程語言環境、Web服務器程序Apache、TCP/IP網絡軟件等,實際上都是自由軟件的經典之作。還有如C++編譯器、FORTRAN 77、SLIP/PPP、IP Accounting、防火墻、Java內核支持、BSD郵件發送、Arena和LynxWeb瀏覽器、Samba(用于在不同操作系統間共享文件和打印機)、Applixware的辦公套裝、starOffice套件、Corel Wordperfect等都是著名的自由軟件。

1993年,Linux的創始人Linus把Linux奉獻給了GNU,從而使用戶能夠使用從底層到應用的全套自由軟件。

1.Linux

Linux是一個多用戶操作系統,是Linus Torvalds主持開發的遵循POSIX標準的操作系統,它提供了UNIX的編程界面,但內核實現則完全重寫。它是一個免費的自由軟件,源代碼開放,這是它與UNIX及其變種的不同之處。UNIX雖然有過免費發送給學校和科研機構的時代,但是隨著其所有者AT&T可以經營計算機產品,其所有者開始收取轉讓費和使用費。由于內核可以轉讓,所以其變種也非常多,影響了對用戶程序的兼容性。

Linus Torvalds在2001年初的Linux World大會前夕推出了Linux 2.4內核,Linux有內核(Kernel)與發行套件(Distribution)兩套版本號。內核版本指在Linus領導下的開發小組開發出系統內核的版本號,最近版本即2.6(一般說來,序號的第二位為偶數的版本表明這是一個可以使用的穩定版本,如2.0.35;而序號的第二位為奇數的版本一般有一些新的東西加入,是不一定很穩定的測試版本,如2.1.88)。而一些組織機構或廠商將Linux系統內核同應用軟件和文檔包裝起來,并提供一些安裝界面、系統設定與管理工具,這樣就構成了一個發行套件,如最常見的Slackware,Red Hat,Debian,紅旗Linux等。實際上,發行套件就是Linux的一個大軟件包。相對于內核版本,發行套件的版本號隨發布者的不同而不同,與系統內核的版本號是相對獨立的,如Slackware 3.5,Red Hat9,Debian 1.3.1等。

(1)Linux的產生與發展

Linux最初是由芬蘭赫爾辛基大學計算機系的大學生Linus Torvalds,在1990年年底到1991年的幾個月中,為了自己的操作系統課程學習和后來上網使用而陸續編寫的,在他自己買的Intel 386 PC上,利用Tanenbaum教授自行設計的微型操作系統Minix作為開發平臺。據Linus說,剛開始的時候他根本沒有想到要編寫一個操作系統內核,更沒想到這一舉動會在計算機界產生如此重大的影響。最開始是一個進程切換器,然后是為自己上網需要而自行編寫的終端仿真程序,再后來是為他從網上下載文件自行編寫的硬盤驅動程序和文件系統。這時,他發現自己已經實現了一個幾乎完整的操作系統內核,出于對這個內核的信心和發展愿望,Linus希望這個內核能夠免費擴散使用,但由于謹慎,他并沒有在Minix新聞組中公布它,而只是于1991年底在赫爾辛基大學的一臺FTP服務器上發了一則消息,說用戶可以下載Linux的公開版本(基于Intel 386體系結構)和源代碼。從此以后,Linux得到了所有Linux愛好者的協力開發。

Linux的興起可以說是Internet上創造的一個奇跡。由于它是在Internet上發布的,網上的任何人在任何地方都可以得到Linux的基本文件,并可通過電子郵件發表評論或提供修正代碼。這些Linux的熱心者中,有將它作為學習和研究對象的大專院校的學生和科研機構的研究人員,也有網絡黑客等,他們所提供的所有初期的上載代碼和評論后來證明對Linux的發展至關重要。正是由于眾多熱心者的努力,使Linux在不到三年的時間里成為了一個功能完善、穩定可靠的操作系統。

1993年,Linux的第一個產品——Linux 1.0版問世,它是按完全自由版權進行擴散的。它要求所有的源代碼必須公開,而且任何人均不得從Linux交易中獲利。然而半年以后,Linus開始意識到這種純粹的自由軟件理想對于Linux的擴散和發展來說實際上是一種障礙而不是一股推動力,因為它限制了Linux以磁盤復制或者CD-ROM等媒體形式進行擴散的可能,也限制了一些商業公司參與Linux的進一步開發并提供技術支持的愿望。于是Linux決定轉向GPL版權,這一版權除了規定有自由軟件的各項許可權之外,還允許用戶出售自己的程序復制品。這一版權的轉變后來證明對Linux的進一步發展確實極為重要。從此以后,有多家技術力量雄厚又善于市場運作的商業軟件公司加入了原先完全由業余愛好者和網絡黑客參與的這場自由軟件運動,開發出了多種Linux的發布版本,增加了更易于用戶使用的圖形界面和眾多的軟件開發工具,極大地拓展了Linux的全球用戶基礎。Linus本人也認為:“使Linux成為GPL的一員是我一生中所做過的最漂亮的一件事。”一些軟件公司,如Red Hat等也不失時機地推出了自己的以Linux為核心的操作系統版本,這大大推動了Linux的商品化。在一些大的計算機公司的支持下,Linux還被移植到Alpha,PowerPC,MIPS及SPARC等微處理機的系統上。

隨著Linux用戶基礎的不斷擴大、性能的不斷提高、功能的不斷增加、各種平臺版本的不斷涌現,以及越來越多商業軟件公司的加盟,Linux不斷地向高端發展,開始進入越來越多的公司和企業計算領域。Linux被許多公司和Internet服務提供商用于Internet網頁服務器或電子郵件服務器,并已開始在很多企業計算領域大顯身手。1998年下半年,由于Linux本身的優越性,使它成為傳媒關注的焦點,進而出現了當時的“Linux熱”。首先是各大數據庫廠商(Oracle,Informix,Sybase等),繼而是其他各大軟硬件廠商(IBM,Intel,Netscape,Corel,Adaptec,SUN公司等),紛紛宣布支持甚至投資Linux(支持是指該廠商自己的軟硬件產品支持Linux,即可以在Linux下運行,最典型的是推出xxx for Linux版或推出預裝Linux的機器等)。即使像SUN和HP這樣的公司,盡管它們的操作系統產品與Linux會產生利益沖突,也大力支持Linux,從而達到促進其硬件產品銷售的目的。

(2)Linux的特點

Linux能得到如此大的發展,受到各方青睞,是由它的下述特點決定的:

① 免費、源代碼開放。Linux是免費的,獲得Linux非常方便;Linux開放源代碼,使得使用者能控制源代碼,安全并易于擴展。因為內核有專人管理,內核版本無變種,所以對用戶應用兼容性有保證。

② 出色的穩定性和速度性能。

③ 內核模塊化好。用戶可以按照Linux的用途選擇內核模塊,達到精簡內核,節省主存的目的。

④ 功能完善。Linux包含了人們期望操作系統擁有的特性,不僅僅是UNIX的,而且也吸取了其他操作系統的功能,包括多任務、多用戶、頁式虛存、庫的動態鏈接、文件系統緩沖區大小的動態調整、支持非常多的文件系統。

⑤ 極具網絡優勢。因為Linux的開發者是通過Internet開發的,所以網絡支持功能在開發早期就已加入。而且Linux對網絡的支持比大部分操作系統都更出色。它能夠支持Internet或其他任何使用TCP/IP或IPX協議的網絡,經由以太網、ATM、調制解調器、HAM/Packet無線電(X.25協議)、ISDN或令牌環網相連接。Linux也是Internet/WWW服務器系統的理想選擇。在相同硬件的條件下(即使是多處理器),它通常比Windows NT,Novell和大多數UNIX系統的性能要卓越。Linux擁有世界上最快的TCP/IP驅動程序。Linux支持幾乎所有通用的網絡協議,包括E-mail,UseNet News,Gopher,Telnet,Web,FTP,Talk,POP,NTP,IRC,NFS,DNS,NIS,SNMP,Kerberos,WAIS等。

⑥ 硬件支持廣泛,硬件要求低。剛開始的時候,Linux主要是為低端UNIX用戶而設計的,在只有4MB主存的Intel 386處理器上運行良好。同時,Linux并不只運行在Intel x86處理器上,它也能運行在Alpha,SPARC,PowerPC,MIPS等RISC處理器上。

⑦ 用戶程序眾多(而且大部分是免費軟件),程序兼容性好。由于Linux支持POSIX標準,因此大多數UNIX用戶程序也可以在Linux下運行。另外,為了使UNIX SystemⅤ和BSD上的程序能直接在Linux上運行,Linux還增加了部分System V和BSD的系統接口,使Linux成為一個完善的UNIX程序開發系統。Linux也符合X/Open標準,具有完全的X-Window實現,現有的大部分基于X-Window的程序不需要任何修改就能在Linux上運行。Linux的DOS“仿真器”DOSEMU可以運行大多數MS DOS應用程序。Windows程序也能在Linux的Windows“仿真器”的幫助下,在X-Window支持下運行。

(3)Linux的運營方式

Linux是目前三大主流操作系統之一。Linux如此大受青睞,客觀上是Linux在成本、性能和可靠性等方面的優勢,相對于微軟公司Windows NT在性能和穩定性等方面的問題,更使Linux成為大受歡迎的替代品,而主觀上是用戶對微軟壟斷抵制和對免費軟件的好感。

Linux一開始主要在一些軟件高手間流行,很快地在Internet上吸引了大批的技術專家投入Linux的開發工作。它的開發者雖然大多是在業余時間進行開發,但其水平絕不是業余的。從開發模式上看,Linux采取分布式的開發模式(參加開發的人分布在世界各地,通過網絡參加開發)。Linux及其應用程序的開發大多以項目(Project)為組織形式,項目的參與者都有具體的分工:開發經驗豐富、有管理經驗的參與者通常擔當協調人,負責分派工作和協調工作進度;其他參與者有的從事程序編寫,有的負責程序測試。

Linux內核雖然源代碼公開,但對內核版本的確定是由專門的小組進行的。各項目小組開發出來的內核程序,經由專門的小組認可后再加入到內核的發行版本中,從而確保了內核版本的一致性。

由于Linux獨特的分布式開發模式,項目管理工作使用了專門的軟件。錯誤跟蹤系統(Bug Tracking)可以替開發者處理來自電子郵件(E-mail)或其他網上資源的錯誤(Bug)報告,還能定義項目開發者的角色和職責,如編程人員、軟件集成人員和測試人員。工作流程管理(Workflow Management)系統除了能夠分配開發者的職權外,還能進行文檔管理、版本控制管理及工作成本評估。項目管理(Project Management)系統能夠跟蹤相關的工作,提供調度、儲備和優化資源的機制。由此看出,Linux開發的有序性和有效性保證了它的高度可靠性。項目小組開發出的程序經過一段時間的測試之后,就會在Internet上發布測試版和源代碼,由更廣泛的用戶繼續測試,直到程序相對穩定,才會發布程序的正式版本。正式版本的使用者如果發現錯誤,可以通過Internet報告,問題一般都能迅速得到解決。由于源代碼公開,用戶也可以自己動手解決問題。因此,Linux軟件往往比商業軟件錯誤更少,而且修改錯誤更為及時。

Linux通過Internet在全球范圍內網羅了一大批職業的和業余的技術專家,在Internet上形成了一個數量龐大而且非常主動熱心的支持者群體。它們通過網絡很快地響應用戶所遇到的問題。例如,當PentiumⅡ設計上的錯誤剛被發現時,Linux是最早提供解決方案的操作系統。

Linux早期主要依靠網上的免費技術支持,雖然這種免費技術支持通常是快速響應的,但終歸無法向用戶提供百分之百的保證和承諾。近年來,越來越多的商業公司開始提供對Linux的收費技術支持。這種收費技術支持更為正規、可靠、有保證,從而進一步增強了大多數Linux普通用戶的使用信心,進一步改善了Linux的形象。例如,Red Hat可提供每天24小時、每周7天(簡稱24×7)的電話支持,這些正規的技術支持服務,對于把Linux更快地推向企業計算領域無疑是大有幫助的。商業公司的加盟還增加了Linux的應用程序,如Oracle,Informix,Sybase推出了以Linux為平臺的數據庫系統。商業軟件公司推出的Linux應用程序彌補了Linux缺乏大型應用軟件的不足,并能為Linux用戶提供可靠的服務。

2.其他免費操作系統(freeBSD,Minix等)

(1)freeBSD

它是美國加利福尼亞州大學伯克利分校開發的免費支持POSIX標準的操作系統,它基于4.4BSD,改寫了原來有版權保護的來源于UNIX的代碼,運行于Intel x86平臺,因其高效和完美而被發燒友們譽為“學院公主”。freeBSD的用戶群包括公司、網絡服務提供商、研究人員、計算機專家、學生及家庭用戶,目前主要用于教育和娛樂領域。

(2)Minix

它是一個運行于Intel x86平臺的微內核結構的教學用多用戶操作系統,其特點是免費,源代碼公開。它的接口界面與UNIX相同,但內部結構與代碼完全不同,從內核、編譯器到實用工具和庫文件均不含有任何AT&T UNIX代碼。Minix由荷蘭阿姆斯特丹Vrije大學的知名操作系統專家Andrew S.Tanenbaum主持設計與實現。

雖然Minix的源程序代碼完全公開,但它是有版權的,它不屬于公有,也不同于GNU公共許可證下的軟件。其版本所有者(Prentice Hall)允許任何人下載Minix用于教學或研究領域,但若要把Minix用于商業系統或其他產品中,需經Prentice Hall許可。

Minix并不是實用的操作系統。因為為其設計的應用軟件大多數用于教學和實驗,而由于它簡單的設計思想和極小的系統內核,在教學中得到了廣泛應用,它特別適合UNIX初學者了解同類操作系統的工作機理。

習題1

1.1 為什么要有操作系統?

1.2 操作系統以什么手段支持用戶使用計算機,以什么手段支持用戶程序運行?

1.3 操作系統是如何支持用戶“方便”編程的?

1.4 早期監督程序(Monitor)的功能是什么?

1.5 什么是作業控制語言?什么是作業說明書?

1.6 試述監督程序的工作過程。

1.7 試述多道程序設計技術的基本思想。為什么采用多道程序設計技術可以提高資源利用率?

1.8 什么是分時系統?其主要特征是什么?適用于哪些應用?

1.9 什么是實時系統?它的主要特點是什么?適用于哪些應用?

1.10 引入SPOOLing技術的硬件基礎是什么?

1.11 舉一個現實生活當中的并發與共享的例子。

1.12 各種計算機資源應該以何種方式得到使用,請舉例說明。

主站蜘蛛池模板: 库伦旗| 安远县| 沐川县| 新安县| 凤山市| 郁南县| 门头沟区| 蓬溪县| 综艺| 双辽市| 遂平县| 石景山区| 仙游县| 上饶县| 黎平县| 巴彦县| 滕州市| 墨竹工卡县| 宁明县| 巫山县| 林口县| 三都| 奎屯市| 雷山县| 瑞昌市| 沽源县| 拉孜县| 新建县| 金平| 广丰县| 和平区| 兴安县| 海盐县| 股票| 滦南县| 双鸭山市| 尉犁县| 休宁县| 汕头市| 柯坪县| 南陵县|