1.2.2 操作系統的進一步發展
操作系統的形成已有60多年的歷史。在20世紀,經過60年代、70年代的大發展時期,到80年代已趨于成熟。但隨著VLSI和計算機體系結構的發展,操作系統仍在繼續發展。由此而先后形成了微機操作系統、多處理機操作系統、網絡操作系統、分布式操作系統以及嵌入式操作系統。
1.微機操作系統
配置在微機上的操作系統稱為微機操作系統。最早出現的微機操作系統是在8位微機上的CP/M,后來出現了16位微機,相應地也就出現了16位微機操作系統。可按微機的字長分成8位、16位、32位和64位的微機操作系統,也可分為單用戶單任務操作系統、單用戶多任務操作系統和多用戶多任務操作系統。
(1)單用戶單任務操作系統。單用戶單任務操作系統的含義是,只允許一個用戶上機且只允許用戶程序作為一個任務運行。這是一種最簡單的微機操作系統,主要配置在8位微機和16位微機上。最有代表性的單用戶單任務操作系統是CP/M和MS-DOS。
①CP/M。CP/M是Control Program/Monitor的縮寫,是在1975年由Digital Research公司率先推出的帶有軟盤系統的8位微機操作系統,它配置在以Intel 8080、Intel 8085、Z80芯片為基礎的微機上。由于CP/M具有較好的層次結構、可適應性、可移植性及易學易用性,使之在8位微機中占據了統治地位,成為事實上的8位微機操作系統的標準。
②MS-DOS。1981年IBM公司首次推出了IBM-PC(IBM個人計算機),在微機中采用了Microsoft公司開發的MS-DOS操作系統。該操作系統在CP/M的基礎上進行了較大的擴充,增加了許多內部和外部命令,使該操作系統具有較強的功能及性能優良的文件系統。又因為它是配置在IBM-PC上,而隨著該機種及其兼容機的暢銷,MS-DOS操作系統也就成了事實上的16位微機單用戶單任務操作系統的標準。
(2)單用戶多任務操作系統。單用戶多任務操作系統的含義是:只允許一個用戶上機,但允許將一個用戶程序分成若干個任務,使它們并發執行,從而有效地改善系統的性能。在32位微機上所配置的32位微機操作系統大多數是單用戶多任務操作系統,其中最有代表性的是OS/2、MS Windows和Linux。
①OS/2。1987年4月,在IBM公司宣布下一代個人系統PS/2的同時,又發表了OS/2。其最初版本OS/2 1.x是針對80286開發的,故仍屬于16位微機操作系統,但已能實現真正的多任務處理。后來推出的OS/2 2.x版本則是針對80386和80486開發的,因而已是32位微機操作系統。
②Windows。1990年,Microsoft公司推出了Windows 3.0,具有易學易用、友好的圖形用戶界面和支持多任務的優點,得以很快地流行開來,占領了市場。特別是Windows NT的出現,它支持RISC(精簡指令集計算機)平臺,具有高容量I/O、對稱多處理C2級的安全性、客戶機/服務器等功能。Windows 95在1995年8月正式發布,這是第一個不要求用戶先安裝MS-DOS的Windows版本。此后,又陸續發布Windows 98、Windows ME、Windows 2000、Windows 2003、Windows XP、Windows Vista、Windows 7、Windows 8、Windows 10和Windows Server操作系統,不斷持續更新。
③Linux。20世紀90年代,Internet的出現,迅速改變著社會的面貌。國際上操作系統的研究活動也在發生著深刻的變化。1991年Linux在Internet上發布了一則消息,稱用戶可以自由下載Linux的公開版本。到1992年1月為止,全世界大約有100個人在使用Linux,他們的下載代碼和評論對Linux的發展做出了關鍵性的貢獻。于是,Linux從最開始的一個人的產品變成了在Internet上由無數志同道合的程序員們參與的一場運動。Linux遵從國際上相關組織制定的UNIX標準POSIX。它的結構、功能以及界面都與經典的UNIX并無兩樣。然而Linux的源碼完全是獨立編寫的,與UNIX源碼無任何關聯。Linux繼承了UNIX的全部優點,而且還增加了一條其他操作系統都不曾具備的優點,即Linux源碼全部開放,并能在網上自由下載。Linux對硬件配置要求不高,甚至只需一臺386計算機便能高效實現。Linux極其健壯,世界上很多Linux連續不停機運行一年以上也不曾崩潰過。
(3)多用戶多任務操作系統。多用戶多任務的含義是,允許多個用戶通過各自的終端使用同一臺主機,共享主機系統中的各類資源,而每個用戶程序又可進一步分為幾個任務,使它們并發執行,從而可進一步提高資源利用率和增加系統吞吐量。在大、中、小型機中所配置的都是多用戶多任務操作系統;而在32位微機上,也有不少配置的是多用戶多任務操作系統。其中,最有代表性的是UNIX操作系統。
UNIX操作系統是美國電報電話公司的Bell實驗室開發的,至今已有40多年的歷史。最初,它是配置在DEC公司的小型計算機PDP上,后來被移植到微機上。UNIX操作系統是唯一在微機工作站、小型計算機到大型計算機上都能運行的操作系統,它已成為當今世界最流行的多用戶多任務操作系統。
2.多處理機操作系統
(1)多處理機系統的引入。短短幾十年的計算機發展歷史清楚地表明提高計算機系統性能的主要途徑有兩條:一是提高構成計算機系統的元器件的運行速度;二是改進計算機系統的體系結構。早期的計算機系統基本上都是單處理機系統。進入20世紀70年代出現了多處理機系統(Multi-Processor System,MPS),試圖從計算機體系結構上來改善系統性能。引入多處理機系統的原因可歸結為以下幾點:
①增加系統的吞吐量。隨著系統中處理機數目的增多,可使系統在較短的時間內完成更多的工作。但為使多臺處理機能協調地工作,系統必須為此付出一定的開銷。因此,利用n個處理機運行時所獲得的加速比達不到n倍。
②節省投資。在達到相同處理能力的情況下,與用n臺獨立的計算機系統相比,采用具有n個處理機的系統,可以節省費用。這是因為這時的n個處理機包含在同一個機箱內,且用同一電源和共享一部分資源,例如外設、內存等。
③提高系統的可靠性。在MPS中通常都具有系統重構的功能,即當其中任何一個處理機發生故障時,系統能立即將該處理機上所處理的任務遷移到其他的一個或多個處理機上去處理,整個系統仍能正常運行,僅使系統的性能有所降低。例如,對于一個含有10個處理機的系統,當其中某一個處理機出現故障時,系統性能大約降低10%。
(2)多處理機系統的類型。根據多個處理機之間耦合的緊密程度,可把多處理機系統分為兩類:緊密耦合多處理機系統和松散耦合多處理機系統。
①緊密耦合多處理機系統。在緊密耦合多處理機系統中,通常是通過高速總線或高速交叉開關來實現多個處理機之間的相互連接。它們共享內存和I/O設備,并要求將內存儲器劃分為若干個能獨立訪問的存儲器模塊,以便多個處理機能同時對內存進行訪問。系統中所有的資源和進程都由操作系統實施統一的控制和管理。
②松散耦合多處理機系統。在松散耦合MPS中,通常是通過通道或通信線路來實現多臺計算機之間的互聯。每臺計算機都有自己的存儲器、I/O設備,并配置了操作系統來管理本地資源和在本地運行的進程。因此,每一臺計算機都能獨立地工作,必要時可通過通信線路與其他計算機交換信息,以及協調它們之間的工作。
(3)多處理機操作系統的類型。在多處理機系統中所配置的多處理機操作系統,可分成以下兩種模式:
①非對稱多處理機模式,又稱主-從模式。在非對稱多處理機系統中,把處理機分為主處理機和從處理機兩類。主處理機只有一個,其上配置了操作系統,用于管理整個系統的資源,并負責為各從處理機分配任務。從處理機可有多個,它們執行預先規定的即由主處理機所分配的任務。在早期的特大型系統中,較多地采用主-從式操作系統。一般來說,主-從式操作系統易于實現,但資源利用率低。
②對稱多處理機模式。通常在對稱多處理機系統中,所有的處理機都是相同的。在每個處理機上運行一個相同的操作系統備份,用它來管理本地資源和控制進程的運行以及各計算機之間的通信。這種模式的優點是允許多個進程同時運行。例如,當有n個處理機時,可同時運行n個進程而不會引起系統性能的惡化。然而必須小心地控制I/O設備,以保證能將數據送至適當的處理機。同時,還必須注意使各處理機的負載平衡,以免有的處理機超載運行,而有的處理機空閑。
3.網絡操作系統
計算機網絡可以定義為一些互聯的自主計算機系統的集合。所謂自主計算機是指計算機具有獨立處理能力;而互聯則是表示計算機之間能夠實現通信和相互合作。可見,計算機網絡是在計算機技術和通信技術在高度發展的基礎上相互結合的產物。
(1)計算機網絡的類型。
①按網絡拓撲結構分類。根據網絡拓撲結構的不同,可將網絡分成以下5類:
● 星形網絡。每一個遠地結點通過一條單獨的傳輸線路與中心點連接,即采用點-點連接方式,使網絡呈現星形。
● 樹形網絡。將一個多級星形網絡按層次排列便形成樹形網絡。樹的根,即網絡的最高層,是中央處理機,樹的葉,即網絡的最底層,為終端式個人計算機。
● 總線形網絡。將若干個結點通過一條高速總線互聯起來所形成的網絡。采用廣播方式,即由一個結點發出的信息可被總線上的所有結點接收。
● 環形網絡。采用高速點-點信道,將各結點連接成環形,網絡中的信息流是定向的,由一個源結點發出的信息將繞環傳輸一周后返回源結點。
● 網狀形網絡。各個結點間通過點-點連接,形成不規則的形狀,結點之間通常都有多條通路。
②按網絡地理范圍分類。按網絡所覆蓋地理范圍的大小,可把計算機網絡分成以下兩類:
● 廣域網(WAN)。這種計算機網絡所跨越的距離通常為數百千米到數千千米,甚至是上萬千米;網絡所覆蓋的范圍可以為一個地區或一個國家,乃至幾大洲,其傳輸速率可達到數Mbit/s;網絡中的通信設施屬國家所有。
● 局域網(LAN)。這種計算機網絡所跨越的距離通常為幾十米至數千米;網絡所覆蓋的范圍為一棟樓或一個單位;其傳輸速率較高,可達到100Mbit/s;網絡設施屬單位所有。
(2)網絡操作系統的模式。網絡操作系統有以下兩種工作模式:
①客戶機/服務器(Client/Server,C/S)模式。該模式是在20世紀80年代發展起來的,目前仍廣為流行。網絡中的各個站點可分為以下兩大類。
● 服務器。它是網絡的控制中心,其任務是向客戶機提供一種或多種服務。服務器可有多種類型,如提供文件/打印服務的文件服務器、提供數據庫服務的數據庫服務器等。在服務器中包含了大量的服務程序和服務支撐軟件。
● 客戶機。這是用戶用于本地處理和訪問服務器的站點。在客戶機中包含了本地處理軟件和訪問服務器上服務程序的軟件接口。C/S模式具有分布處理和集中控制的特征。
②對等模式。采用這種模式的操作系統的網絡中,各個站點是對等的。它既可作為客戶機去訪問其他站點,又可作為服務器向其他站點提供服務。在網絡中既無服務處理中心,也無控制中心。或者說,網絡的服務和控制功能分布于各個站點上。可見,該模式具有分布處理及分布控制的特征。
(3)網絡操作系統的功能。網絡操作系統應具有下述5方面的功能:
①網絡通信。這是網絡最基本的功能,其任務是在源主機和目標主機之間實現無差錯的數據傳輸。為此,應有的主要功能包括:建立和拆除通信鏈路、傳輸控制、差錯控制、流量控制、路由選擇。
②資源管理。對網絡中的共享資源(硬件和軟件)實施有效的管理、協調諸用戶對共享資源的使用、保證數據的安全性和一致性。在LAN中典型的共享資源有:硬盤、打印機、文件和數據。
③網絡服務。這是在前兩個功能的基礎上,為了方便用戶而直接向用戶提供的多種有效服務。主要的網絡服務有:電子郵件服務;文件傳輸、存取和管理服務;共享硬盤服務;共享打印服務。
④網絡管理。網絡管理最基本的任務是安全管理。通過“存取控制”來確保存取數據的安全性;通過“容錯技術”來保證系統出現故障時數據的安全性。此外,還應對網絡性能進行監視、對使用情況進行統計,以便為提高網絡性能、進行網絡維護和記賬等提供必要的信息。
⑤互操作能力。在20世紀80年代后期所推出的操作系統都已提供了聯網功能,從而便于將微機連接到網絡上。在20世紀90年代推出的網絡操作系統又提供了一定范圍的互操作能力。所謂互操作,在客戶機/服務器模式的LAN環境下,是指連接在服務器上的多種客戶機和主機不僅能與服務器通信,而且還能以透明的方式訪問服務器上的文件系統;而在互聯網環境下的互操作,是指不同網絡間的客戶機不僅能通信,而且也能以透明的方式訪問其他網絡中的文件服務器。
4.分布式操作系統
(1)分布式系統。在以往的計算機系統中,其處理和控制功能都高度地集中在一臺主機上,所有的任務都由主機處理,這樣的系統稱為集中式系統。
在分布式系統中,系統的處理和控制功能分散在系統的各個處理單元上。系統中的所有任務也可動態地被分配到各個處理單元中,使它們并行執行,實現分布處理。可見,分布式系統最基本的特征是處理上的分布。而處理分布的實質是資源、功能、任務和控制都是分布的。在分布式系統中,如果每個處理單元都是計算機,則可稱為分布式計算機系統;如果處理單元只是處理機和局部存儲器,則只能稱為分布式(處理)系統。
(2)分布式操作系統與網絡操作系統的比較。在分布式系統上配置的操作系統,稱為分布式操作系統,它雖與網絡操作系統有許多相似之處,但兩者各有其特點。下面從5個方面對兩者進行比較:
①分布性。分布式操作系統不是集中地駐留在某一個站點中,而是較均勻地分布在系統的各個站點上,因此分布式操作系統的處理和控制功能是分布式的。計算機網絡雖然具有分布處理功能,然而網絡的控制功能則大多集中在某個(些)主機或網絡服務器中,或者說控制方式是集中式。
②并行性。在分布式處理系統中,具有多個處理單元,因此,分布式操作系統的任務分配程序可將多個任務分配到多個處理單元上,使這些任務并行執行,從而加速任務的執行。而在計算機網絡中,每個用戶的一個或多個任務通常都在自己(本地)的計算機上處理,因此在網絡操作系統中通常無任務分配功能。
③透明性。分布式操作系統通常能很好地隱藏系統內部的實現細節。例如,對象的物理位置、并發控制、系統故障等對用戶都是透明的。例如,當用戶要訪問某個文件時,只需提供文件名而無須知道它(所要訪問的對象)是駐留在哪個站點上,即可對它進行訪問,亦即具有物理位置的透明性。對于網絡操作系統,雖然它也具有一定的透明性,但主要是指在操作實現上的透明性。例如,當用戶要訪問服務器上的文件時,只需發出相應的文件存取命令而無須了解對該文件的存取是如何實現的。
④共享性。在分布式系統中,分布在各個站點上的軟、硬件資源可供全系統中的所有用戶共享,并能以透明方式對它們進行訪問。而網絡操作系統雖然也能提供資源共享,但所共享的資源大多是設置在主機或網絡服務器中。而在其他計算機上的資源則通常僅由使用該機的用戶獨占。
⑤健壯性。由于分布式系統的處理和控制功能是分布的,因此任何站點上的故障都不會給系統造成太大的影響;加之當某設備出現故障時,可通過容錯技術實現系統重構,從而仍能保證系統的正常運行,因而系統具有健壯性,即具有較好的可用性和可靠性。而現在的網絡操作系統的控制功能大多集中在主機或服務器中,這使得系統具有潛在的不可靠性,此外,系統的重構功能也較弱。
5.嵌入式操作系統
嵌入式系統在用來控制設備的計算機中運行,這種設備不是一般意義上的計算機,并且不允許用戶安裝軟件。典型的例子有微波爐、電視機、汽車DVD、移動電話以及MP3播放器一類的設備。區別嵌入式系統與掌上設備的主要特征是:不可信的軟件肯定不能在嵌入式系統上運行。用戶不能給自己的微波爐下載新的應用程序,所有的軟件都保存在ROM中。嵌入式操作系統是用于嵌入式系統的系統軟件,它已經從單一的弱功能向高專業化的強功能方向發展。嵌入式操作系統在系統實時高效性、硬件的相關依賴性、軟件固態化以及應用的專用性等方面具有較為突出的特點。嵌入式操作系統是相對于一般操作系統而言的,它除具備一般操作系統最基本的功能,如任務調度、同步機制、中斷處理、文件功能等外,還有以下特點:
(1)可裝卸性。開放性、可伸縮性的體系結構。
(2)強實時性。嵌入式操作系統實時性一般較強,可用于各種設備控制當中。
(3)統一的接口。提供各種設備驅動接口。
(4)操作方便、簡單、提供友好的圖形界面,追求易學易用。
(5)提供強大的網絡功能,支持TCP/IP協議及其他協議,提供TCP/UDP/IP/PPP協議支持及統一的MAC訪問層接口,為各種移動計算設備預留接口。
(6)強穩定性,弱交互性。嵌入式系統一旦開始運行就不需要用戶過多的干預,這就要負責系統管理的嵌入式操作系統具有較強的穩定性。嵌入式操作系統的用戶接口一般不提供操作命令,它通過系統調用命令向用戶程序提供服務。
(7)固化代碼。在嵌入系統中,嵌入式操作系統和應用軟件被固化在嵌入式系統計算機的ROM中。輔助存儲器在嵌入式系統中很少使用,因此,嵌入式操作系統的文件管理功能應該能夠很容易地拆卸,用各種內存文件系統。
(8)更好的硬件適應性,也就是良好的移植性。
在這個領域中,主要的嵌入式操作系統有Linux、Symbian和VxWorks等。
- Citrix XenApp Performance Essentials
- Cybersecurity:Attack and Defense Strategies
- Linux Mint Essentials
- BPEL and Java Cookbook
- Haskell Financial Data Modeling and Predictive Analytics
- Linux性能優化
- Extending Bootstrap
- Kubernetes從入門到實踐
- 移動應用UI設計模式(第2版)
- 巧學活用Windows 7
- 竹林蹊徑:深入淺出windows驅動開發
- Zabbix監控系統之深度解析和實踐
- 操作系統之哲學原理第2版
- 深入理解Android:卷III
- Windows 10從入門到精通