本節,我們討論作業系統如何用於各種計算環境。
傳統計算
隨著計算不斷成熟,
傳統計算的許多劃分已變得模糊了。看一看“典型辦公環境”。幾年前,這種環境包括一組聯網的 PC,其中伺服器提供檔案和列印的服務;遠端存取很不方便,可行動性是通過釆用筆記型電腦來實現的。許多公司也有與主機相連的終端,遠端存取能力和可行動性選項則會更少。
當前趨勢提供更多方法,以便存取這些計算環境。Web 技術及不斷提高的 WAN 頻寬,日益拓展著傳統計算的邊界。公司設定入口網站(web portal),以便提供內部伺服器的 Web 存取。網路計算機(network computer)或瘦用戶端(thin client)可以實現 Web 計算,當要求更高安全和更便捷維護時,可以用於取代傳統的工作站。移動計算機可與 PC 同步,允許移動使用公司資訊。移動計算機也可連到無線網路(wireless network)和蜂窩資料網路,以便使用公司的入口網站(和其他網站資源)。
過去,大多數使用者家裡都有一台計算機,通過低速數據機連到辦公室或 Internet。現在,曾經很貴的高速網路在許多地方都已很便宜了,這樣使用者可以更快地存取更多資料。這些快速資料連線允許家用計算機提供 Web 服務並且具有自己的網路(包括印表機、用戶端 PC 和伺服器)。許多家庭還有防火牆(firewall),保護家庭內部環境以便避免破壞。
20 世紀的下半葉,計算資源相對貧乏。(在此之前它們根本就不存在!)有一段時間,系統或是批次處理的,或是互動式的。批次處理系統以批次方式來處理作業,這些作業具有事先定義的輸入(從檔案或其他資料資源)。而互動式系統等待使用者輸入。為了優化計算資源的使用,多個使用者共用這些系統的時間。分時系統採用定時器和排程演算法,讓各個進程快速迴圈使用 CPU 及其他資源。
現在,傳統的分時系統不太常見。雖然同樣的排程技術依然用於桌面計算機、筆記型電腦、伺服器及移動計算機,但是所有進程通常屬於同一使用者(或一個使用者和作業系統)。使用者進程,還有提供使用者服務的系統進程,都要加以管理,以便獲得一定的計算時間。例如,一個使用者使用一台 PC 時,可以建立許多視窗,以便同時執行不同任務。一個網頁瀏覽器甚至會有多個行程群組成,每個進程存取各自網站,這些進程也參與系統的分時。
移動計算
移動計算(mobile computing)就是智慧手機或平板電腦的計算。這類裝置都有兩個明顯物理特性:便攜與輕巧。
以前,與桌面計算機和筆記型電腦相比,移動系統在螢幕大小、記憶體容量及總體功能等方面雖然有所欠缺,但是能夠處理 email 和瀏覽網頁。近來,移動裝置的功能已有明顯提高,甚至很難區分筆記型電腦和平板電腦。事實上,可以說有的移動裝置的功能就連桌面計算機和筆記型電腦都是沒有的。
現在,移動系統不但用於處理 email 和瀏覽網頁,而且還能播放音樂和視訊、閱讀電子書、拍照、錄製高清視訊等。相應地,移動裝置的應用程式發展迅猛。許多開發商都在設計應用程式,以充分利用移動裝置的特點,如 GPS(Global Positioning System)定位、加速度感測器、陀螺儀感測器等。內嵌 GPS 晶片允許移動裝置採用衛星精確確定它的地理位置。
這種功能在導航應用程式中是很有用的,例如,告訴使用者向哪裡步行或開車,或者向哪個方向可以到達附近餐館等。加速度感測器可為移動裝置檢測相對地面的方位,並檢測其他資料,如傾斜和搖動等。對於採用加速度感測器的計算機遊戲,玩家控制系統不是通過滑鼠或鍵盤,而是通過傾斜、旋轉和搖動移動裝置!或許,這些特點會更多地用於擴增實境(augmented-reality)的應用程式,這類程式可在當前環境上疊加一層資訊。很難想象在傳統桌面計算機或筆記型電腦上如何開發這種程式。
為了提高線上存取服務,移動裝置通常採用符合 IEEE 802.11 標準的無線網路或蜂窩資料網路。不過,移動裝置的記憶體容量和處理速度還是不如 PC。雖然智慧手機或平板可能有 64GB 的儲存,但是桌面計算機通常具有 1TB 的儲存。類似地,由於需要考慮電池消耗,移動裝置通常使用較小、較慢的處理器,所用的處理核數量也要少於傳統桌面計算機或筆記型電腦。
移動計算現有兩個主要作業系統:蘋果 iOS(Apple iOS)和谷歌安卓(Google Android)。iOS 用於蘋果公司的 iPhone 和 iPad。Android 支援很多廠家的智慧手機和平板電腦。
分布計算
分散式系統是物理上分開的、可能異構的、通過網路相聯的一組計算機系統,可供使用者存取系統維護的各個資源。共用資源的存取可提高計算速度、功能、資料可用性及可靠性。有的作業系統將網路存取簡化為檔案存取,而網路細節則包含在網路介面驅動程式中;而其他的作業系統則讓使用者自己呼叫網路功能。
通常,系統對這兩種模式都會支援,如 FTP 和 NFS。構建分散式系統的協定可以極大影響系統的實用和普及。
簡單地說,網路(network)就是兩個或多個系統之間的通訊路徑。分散式系統通過網路提供功能。由於通訊協定、節點距離、傳輸媒介的不同,網路也會不同。傳輸控制協定/網間協定(Transport Control Protocol/Internet Protocol,TCP/IP)是最為常用的網路協定,為因特網提供了基礎架構。大多數的作業系統都支援 TCP/IP,包括所有通用協定。有的系統支援專用協定,以滿足特定需求。對於作業系統而言,一個網路協定只是需要一個介面裝置(如網路介面卡),通過驅動程式以便管理它以及處理資料的軟體。這些概念後面會加以討論。
網路可以根據節點之間的距離來劃分:
-
區域網(Local-Area Network,LAN)位於一個房間、一棟大樓或一所校園。
-
廣域網(Wide-Area Network,WAN)通常用於聯接樓宇、城市或國家。
例如,一個全球性的公司可以用 WAN 將其全球內的辦公室聯接起來。這些網路可以採用單個或多個協定。不斷出現的新技術也帶來新的網路型別。例如,都會網路(Metropolitan-Area Network,MAN)可以將一個城市內的樓宇連線起來。藍牙和 802.11 裝置採用無線技術,實現在數米內的無線通訊,進而建立了個人區域網(Personal-Area Network, PAN),以連線電話和耳機或連線智慧手機和桌面計算機。
網路的連線媒介同樣很多,它們包括銅線、光纖、衛星之間的無線傳輸、微波和無線電波。當計算裝置連線到手機時,就建立了一個網路。即使非常近距離的紅外通訊也可用來構建網路。總之,無論計算機何時通訊,它們都要使用或構建一個網路。這些網路的效能和可靠性各不相同。
有的作業系統不但提供網路連線,而且進一步拓廣了網路和分散式系統的概念。網路作業系統(network operating system)就是這樣一種作業系統,它提供跨網路的檔案共用、不同計算機進程的訊息交換等功能。雖然執行網路作業系統的計算機知道有網路且能與其他聯網的計算機進行通訊,但是相對於網路上的其他計算機而言卻是自治的。分散式作業系統提供較少的自治環境。不同的計算機緊密通訊,以致於好像只有一個作業系統控制整個網路。
客戶機-伺服器計算
隨著 PC 變得更快、更強大和更便宜,設計人員開始放棄基於集中式系統的架構。與中心系統相連的終端也在讓位給 PC 和移動裝置。相應地,使用者介面功能過去直接由中心系統所處理,現在也更多地由 PC 所取代,通常為 Web 介面。因此,許多現代系統可作為伺服器系統(server system),以滿足客戶機系統(client system)的請求。這種形式的專用分散式系統稱為客戶機-伺服器系統(client-server system),具有如圖 1 所示的通用結構。
圖 1 客戶機-伺服器系統的通用結構