縱觀電腦之歷史,操作系統(tǒng)與計算機硬件的發(fā)展息息相關(guān)。
操作系統(tǒng)之本意原為提供簡單的工作排序能力,后為輔助更新更復(fù)雜的硬件設(shè)施而漸漸演化。
從最早的批處理模式開始,分時機制也隨之出現(xiàn),在多處理器時代來臨時,操作系統(tǒng)也隨之添加多處理器協(xié)調(diào)功能,甚至是分布式系統(tǒng)的協(xié)調(diào)功能。其他方面的演變也類似于此。
另一方面,在個人電腦上,個人電腦之操作系統(tǒng)因襲大型電腦的成長之路,在硬件越來越復(fù)雜、強大時,也逐步實踐以往只有大型電腦才有的功能。
總而言之,操作系統(tǒng)的歷史就是一部解決電腦系統(tǒng)需求與問題的歷史。
1980年代前
第一部個人電腦并沒有操作系統(tǒng)。這是由于早期個人電腦的建立方式(如同建造機械算盤)與效能不足以執(zhí)行如此程序。
但在1947年發(fā)明了晶體管,以及莫里斯·威爾克斯(Maurice Vincent Wilkes)發(fā)明的微程序方法,使得電腦不再是機械設(shè)備,而是電子產(chǎn)品。系統(tǒng)管理工具以及簡化硬件操作流程的程序很快就出現(xiàn)了,且成為操作系統(tǒng)的基礎(chǔ)。
到了1960年代早期,商用電腦制造商制造了批次處理系統(tǒng),此系統(tǒng)可將工作的建置、調(diào)度以及執(zhí)行序列化。此時,廠商為每一臺不同型號的電腦創(chuàng)造不同的操作系統(tǒng),因此為某電腦而寫的程序無法移植到其他電腦上執(zhí)行,即使是同型號的電腦也不行。
到了1964年,IBM推出了一系列用途與價位都不同的大型電腦IBM System/360,大型主機的經(jīng)典之作。而它們都共享代號為OS/360的操作系統(tǒng)(而非每種產(chǎn)品都用量身訂做的操作系統(tǒng))。讓單一操作系統(tǒng)適用于整個系列的產(chǎn)品是System/360成功的關(guān)鍵,且實際上IBM大型系統(tǒng)便是此系統(tǒng)的后裔;為System/360所寫的應(yīng)用程序依然可以在現(xiàn)代的IBM機器上執(zhí)行!
OS/360也包含另一個優(yōu)點:永久貯存設(shè)備—硬盤驅(qū)動器的面世(IBM稱為DASD(Direct access storage device))。另一個關(guān)鍵是分時概念的建立:將大型電腦珍貴的時間資源適當分配到所有使用者身上。分時也讓使用者有獨占整部機器的感覺;而Multics的分時系統(tǒng)是此時眾多新操作系統(tǒng)中實踐此觀念最成功的。
1963年,奇異公司與貝爾實驗室合作以PL/I語言建立的Multics,是激發(fā)1970年代眾多操作系統(tǒng)建立的靈感來源,尤其是由AT&T貝爾實驗室的丹尼斯·里奇與肯·湯普遜所建立的Unix系統(tǒng),為了實踐平臺移植能力,此操作系統(tǒng)在1969年由C語言重寫;另一個廣為市場采用的小型電腦操作系統(tǒng)是VMS。
20世紀80年代
第一代微型計算機并不像大型電腦或小型電腦,沒有裝設(shè)操作系統(tǒng)的需求或能力;它們只需要最基本的操作系統(tǒng),通常這種操作系統(tǒng)都是從ROM讀取的,此種程序被稱為監(jiān)視程序(Monitor)。
1980年代,家用電腦開始普及。通常此時的電腦擁有8-bit處理器加上64KB內(nèi)存、屏幕、鍵盤以及低音質(zhì)喇叭。而80年代早期最著名的套裝電腦為使用微處理器6510(6502芯片特別版)的Commodore C64。此電腦沒有操作系統(tǒng),而是以一8KB只讀內(nèi)存BIOS初始化彩色屏幕、鍵盤以及軟驅(qū)和打印機。它可用8KB只讀內(nèi)存BASIC語言來直接操作BIOS,并依此撰寫程序,大部分是游戲。此BASIC語言的解釋器勉強可算是此電腦的操作系統(tǒng),當然就沒有內(nèi)核或軟硬件保護機制了。此電腦上的游戲大多跳過BIOS層次,直接控制硬件。
早期最著名的磁盤啟動型操作系統(tǒng)是CP/M,它支持許多早期的微電腦,且被MS-DOS大量抄襲其功能。
最早期的IBM PC其架構(gòu)類似C64。當然它們也使用了BIOS以初始化與抽象化硬件的操作,甚至也附了一個BASIC解釋器!但是它的BASIC優(yōu)于其他公司產(chǎn)品的原因在于他有可攜性,并且兼容于任何符合IBM PC架構(gòu)的機器上。這樣的PC可利用Intel-8088處理器(16-bit寄存器)尋址,并最多可有1MB的內(nèi)存,然而最初只有640KB。軟式磁盤機取代了過去的磁帶機,成為新一代的儲存設(shè)備,并可在他512KB的空間上讀寫。為了支持更進一步的文件讀寫概念,磁盤操作系統(tǒng)(Disk Operating System,DOS)因而誕生。此操作系統(tǒng)可以合并任意數(shù)量的磁區(qū),因此可以在一張磁盤片上放置任意數(shù)量與大小的文件。文件之間以檔名區(qū)別。IBM并沒有很在意其上的DOS,因此以向外部公司購買的方式取得操作系統(tǒng)。
1980年微軟公司利用騙術(shù)取得了與IBM的合約,并且收購了一家公司出產(chǎn)的操作系統(tǒng),在將之修改后以MS-DOS的名義出品,此操作系統(tǒng)可以直接讓程序操作BIOS與文件系統(tǒng)。到了Intel-80286處理器的時代,才開始實作基本的儲存設(shè)備保護措施。MS-DOS的架構(gòu)并不足以滿足所有需求,因為它同時只能執(zhí)行最多一個程序(如果想要同時執(zhí)行程式,只能使用TSR的方式來跳過OS而由程序自行處理多任務(wù)的部份),且沒有任何內(nèi)存保護措施。對驅(qū)動程序的支持也不夠完整,因此導(dǎo)致諸如音效設(shè)備必須由程序自行設(shè)置的狀況,造成不兼容的情況所在多有。某些操作的效能也是可怕地糟糕。許多應(yīng)用程序因此跳過MS-DOS的服務(wù)程序,而直接存取硬件設(shè)備以取得較好的效能。雖然如此,但MS-DOS還是變成了IBM PC上面最常用的操作系統(tǒng)(IBM自己也有推出DOS,稱為IBM-DOS或PC-DOS)。MS-DOS的成功使得微軟成為地球上最賺錢的公司之一。
而1980年代另一個崛起的操作系統(tǒng)異數(shù)是Mac OS,此操作系統(tǒng)緊緊與麥金塔電腦捆綁在一起。此時一位施樂帕羅奧托研究中心的員工Dominik Hagen訪問了蘋果電腦的史蒂夫·喬布斯,并且向他展示了此時施樂發(fā)展的圖形化使用者界面。蘋果電腦驚為天人,并打算向施樂購買此技術(shù),但因帕羅奧托研究中心并非商業(yè)單位而是研究單位,因此施樂回絕了這項買賣。在此之后蘋果一致認為個人電腦的未來必定屬于圖形使用者界面,因此也開始發(fā)展自己的圖形化操作系統(tǒng)。現(xiàn)今許多我們認為是基本要件的圖形化接口技術(shù)與規(guī)則,都是由蘋果電腦打下的基礎(chǔ)(例如下拉式菜單、桌面圖標、拖曳式操作與雙點擊等)。但正確來說,圖形化使用者界面的確是施樂創(chuàng)始的。
20世紀90年代
Apple I電腦,蘋果電腦的第一代產(chǎn)品。延續(xù)80年代的競爭,1990年代出現(xiàn)了許多影響未來個人電腦市場深厚的操作系統(tǒng)。由于圖形化使用者界面日趨繁復(fù),操作系統(tǒng)的能力也越來越復(fù)雜與巨大,因此強韌且具有彈性的操作系統(tǒng)就成了迫切的需求。此年代是許多套裝類的個人電腦操作系統(tǒng)互相競爭的時代。
上一年代于市場崛起的蘋果電腦,由于舊系統(tǒng)的設(shè)計不良,使得其后繼發(fā)展不力,蘋果電腦決定重新設(shè)計操作系統(tǒng)。經(jīng)過許多失敗的項目后,蘋果于1997年釋出新操作系統(tǒng)——MacOS的測試版,而后推出的正式版取得了巨大的成功。讓原先失意離開蘋果的Steve Jobs風光再現(xiàn)。
除了商業(yè)主流的操作系統(tǒng)外,從1980年代起在開放原碼的世界中,BSD系統(tǒng)也發(fā)展了非常久的一段時間,但在1990年代由于與AT&T的法律爭端,使得遠在芬蘭赫爾辛基大學的另一股開源操作系統(tǒng)——Linux興起。Linux內(nèi)核是一個標準POSⅨ內(nèi)核,其血緣可算是Unix家族的一支。Linux與BSD家族都搭配GNU計劃所發(fā)展的應(yīng)用程序,但是由于使用的許可證以及歷史因素的作弄下,Linux取得了相當可觀的開源操作系統(tǒng)市占率,而BSD則小得多。
相較于MS-DOS的架構(gòu),Linux除了擁有傲人的可移植性(相較于Linux,MS-DOS只能運行在Intel CPU上),它也是一個分時多進程內(nèi)核,以及良好的內(nèi)存空間管理(普通的進程不能存取內(nèi)核區(qū)域的內(nèi)存)。想要存取任何非自己的內(nèi)存空間的進程只能通過系統(tǒng)調(diào)用來達成。一般進程是處于使用者模式(User mode)底下,而執(zhí)行系統(tǒng)調(diào)用時會被切換成內(nèi)核模式(Kernel mode),所有的特殊指令只能在內(nèi)核模式執(zhí)行,此措施讓內(nèi)核可以完美管理系統(tǒng)內(nèi)部與外部設(shè)備,并且拒絕無權(quán)限的進程提出的請求。因此理論上任何應(yīng)用程序執(zhí)行時的錯誤,都不可能讓系統(tǒng)崩潰(Crash)。
另一方面,微軟對于更強力的操作系統(tǒng)呼聲的回應(yīng)便是Windows NT于1999年的面世。
1983年開始微軟就想要為MS-DOS建構(gòu)一個圖形化的操作系統(tǒng)應(yīng)用程序,稱為Windows(有人說這是比爾·蓋茲被蘋果的Lisa電腦上市所刺激)。
一開始Windows并不是一個操作系統(tǒng),只是一個應(yīng)用程序,其背景還是純MS-DOS系統(tǒng),這是因為當時的BIOS設(shè)計以及MS-DOS的架構(gòu)不甚良好之故。
在1990年代初,微軟與IBM的合作破裂,微軟從OS/2(早期為命令行模式,后來成為一個很成功但是曲高和寡的圖形化操作系統(tǒng))項目中抽身,并且在1993年7月27日推出Windows 3.1,一個以O(shè)S/2為基礎(chǔ)的圖形化操作系統(tǒng)。
并在1995年8月15日推出Windows 95。
直到這時,Windows系統(tǒng)依然是建立在MS-DOS的基礎(chǔ)上,因此消費者莫不期待微軟在2000年所推出的Windows 2000上,因為它才算是第一個脫離MS-DOS基礎(chǔ)的圖形化操作系統(tǒng)。
下面的表格為Windows NT系統(tǒng)的架構(gòu):在硬件階層之上,有一個由微內(nèi)核直接接觸的硬件抽象層(HAL),而不同的驅(qū)動程序以模塊的形式掛載在內(nèi)核上執(zhí)行。因此微內(nèi)核可以使用諸如輸入輸出、文件系統(tǒng)、網(wǎng)絡(luò)、信息安全機制與虛擬內(nèi)存等功能。而系統(tǒng)服務(wù)層提供所有統(tǒng)一規(guī)格的函數(shù)調(diào)用庫,可以統(tǒng)一所有副系統(tǒng)的實作方法。例如盡管POSⅨ與OS/2對于同一件服務(wù)的名稱與調(diào)用方法差異甚大,它們一樣可以無礙地實作于系統(tǒng)服務(wù)層上。在系統(tǒng)服務(wù)層之上的副系統(tǒng),全都是使用者模式,因此可以避免使用者程序執(zhí)行非法行動。
第一個實作的副系統(tǒng)群當然是以前的微軟系統(tǒng)。DOS副系統(tǒng)將每個DOS程序當成一進程執(zhí)行,并以個別獨立的MS-DOS虛擬機器承載其運行環(huán)境。另外一個是Windows 3.1模擬系統(tǒng),實際上是在Win32副系統(tǒng)下執(zhí)行Win16程序。因此達到了安全掌控為MS-DOS與早期Windows系統(tǒng)所撰寫之舊版程序的能力。然而此架構(gòu)只在Intel 80386處理器及后繼機型上實作。且某些會直接讀取硬件的程序,例如大部分的Win16游戲,就無法套用這套系統(tǒng),因此很多早期游戲便無法在Windows NT上執(zhí)行。
Windows NT有3.1.3.5.3.51與4.0版。
Windows 2000是Windows NT的改進系列(事實上是Windows NT 5.0)、Windows XP(Windows NT 5.1)以及Windows Server 2003(Windows NT 5.2)與Windows Vista(Windows NT 6.0)也都是立基于Windows NT的架構(gòu)上。
而本年代漸漸增長并越趨復(fù)雜的嵌入式設(shè)備市場也促使嵌入式操作系統(tǒng)的成長。
現(xiàn)代操作系統(tǒng)通常都有一個使用的繪圖設(shè)備的圖形化使用者界面,并附加如鼠標或觸控面版等有別于鍵盤的輸入設(shè)備。舊的OS或效能導(dǎo)向的服務(wù)器通常不會有如此親切的接口,而是以命令行接口(CLI)加上鍵盤為輸入設(shè)備。以上兩種接口其實都是所謂的殼,其功能為接受并處理使用者的指令(例如按下一按鈕,或在命令提示列上鍵入指令)。
選擇要安裝的操作系統(tǒng)通常與其硬件架構(gòu)有很大關(guān)系,只有Linux與BSD幾乎可在所有硬件架構(gòu)上執(zhí)行,而Windows NT僅移植到了DEC Alpha與MIPS Magnum。
在1990年代早期,個人電腦的選擇就已被局限在Windows家族、類Unix家族以及Linux上,而以Linux及Mac OS X為最主要的另類選擇,直至今日。
大型機與嵌入式系統(tǒng)使用很多樣化的操作系統(tǒng)。大型主機有許多開始支持Java及Linux以便共享其他平臺的資源。嵌入式系統(tǒng)百家爭鳴,從給Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。
2000年以后
至2005年為止,用于通用計算機上的分布的操作系統(tǒng)主要兩個家族:類Unix家族和微軟Windows家族。而主機系統(tǒng)和嵌入式操作系統(tǒng)使用多樣的系統(tǒng),并且很多和Windows、Unix都沒有直接的聯(lián)系。類Unix家族包括多個組織的操作系統(tǒng),其中有幾個主要的子類包括System V、BSD和Linux。這里‘Unix’是一個商標,開發(fā)組織允許使用操作系統(tǒng)在一個定義前提下自由地開發(fā)。這名字是通用大型設(shè)置操作系統(tǒng)類似組織 Unix。Unix系統(tǒng)運行在從巨型機到嵌入式系統(tǒng)的多種機器架構(gòu)上。Unix主要使用于重要的商務(wù)服務(wù)器系統(tǒng)以及學院和工程環(huán)境中的工作站之上。和 AT&T Unix不同,自由軟件比如Linux和BSD逐步開始流行,并且開始進入桌面操作系統(tǒng)領(lǐng)域。和一些Unix操作系統(tǒng)不同,像惠普公司的HPUX和IBM 公司的AⅨ是設(shè)計僅運行在客戶購買的設(shè)備上,其中有一些特殊的(比如SUN公司的Solaris)可以運行在客戶購買設(shè)備和基于工業(yè)標準的PC上。APPLE公司的Mac OS X是一個BSD特例,以取代早期小型市場上的蘋果公司Mac OS,眾多流行的Unix操作系統(tǒng)正在走向一體。微軟公司的Windows操作系統(tǒng)家族起源于早期的IBM PC環(huán)境中的MS-DOS,最新版本是基于新的Windows NT內(nèi)核,第一次是在OS/2中制定。和Unix不同,Windows只能運行在32位和64位的x86 CPU(如Intel或者AMD的芯片)上,盡管早期有版本運行于DEC Alpha,MIPS 和 PowerPC體系結(jié)構(gòu)。今天Windows是一個流行的操作系統(tǒng),在全球桌面市場中占有90%左右的份額,同時在中低端服務(wù)器市場也有廣泛的應(yīng)用,如 Web服務(wù)器和數(shù)據(jù)庫服務(wù)器。
大型機系統(tǒng),比如IBM公司的Z/OS,和嵌入式操作系統(tǒng)比如QNX、eCOs和PalmOS都是和Unix和Windows無關(guān)的操作系統(tǒng),而 Windows CE、Windows NT Embedded 4.0和Windows XP Embedded都是和Windows相關(guān)的。
老的操作系統(tǒng)停留在市場包括類似IBM Windows的OS/2.來自惠普的VMS(以前的DEC);蘋果公司的Mac OS操作系統(tǒng)、非Unix先驅(qū)蘋果公司Mac OS X,以及AmigaOS,第一個圖形用戶界面的操作系統(tǒng),包括對于普通用戶的高級的多媒體能力。
-
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
6889瀏覽量
123605 -
Mac
+關(guān)注
關(guān)注
0文章
1109瀏覽量
51613
發(fā)布評論請先 登錄
相關(guān)推薦
評論