-
面向對象操作系統
鎖定
- 中文名
- 面向對象操作系統
- 外文名
- object oriented operating system
- 定 義
- 採用面向對象方法開發的操作系統
- 開發步驟
- 問題定義、對象設計設計和定義等
- 特 點
- 設計難度低、便於維護等
- 涉及領域
- 計算機科學
面向對象操作系統簡介
在面向對象操作系統中,對象作為一種併發單位,所有系統資源,包括文件、進程、內存塊等都被認為是一種對象,對系統資源韻所有操作都是通過使用對象服務來完成的。
以對象為基礎建造操作系統,可以減少操作系統在其整個生命期內所做修改時對系統本身的影響。例如,如果硬件發生了變化,將迫使操作系統也做出改動,在這種情況下只要改變代表該硬件資源的對象和對該對象進行操作的服務即可,而那些僅使用該對象的代碼則不需要改變。同樣,當系統需要支持新的資源時,一個新的對象被生成,並加入到系統中,而不會打亂現成的代碼,這使得系統的可擴充性比較好。
[2]
面向對象操作系統開發方法
面向對象操作系統的開發方法是以對象為基本元素來構造操作系統的方法。而操作系統中的對象是操作系統所管理的信息和資源的抽象。面向對象操作系統的開發方法一般可分為以下三步:
1.問題定義
問題定義是將所需解決的問題以對象為單位進行對象的劃分,並對整體對象需求進行分析。劃分對象通常有以下兩種基本方法:一種是像面嚮對象語言smalltalk那樣,把系統內的所有物體都看成對象;另一種則是除了系統內部定義的缺省對象外,只提供一個對象生成工具,由用户根據需要自定義對象或生成對象實例。
對於前一種方法,當在網絡環境下實現時,如果超類、類、子類以及對象實例之間的依賴關係不在同一個主機中,則其實較為困難。因此,在操作系統中較為常用的是後一種方法,即定義缺省對象和提供生成對象與對象實例的工具。這樣,在單機系統中,可以按照smalltalk或C++等面嚮對象語言的方法把系統內所有物體看作局部對象,而把網絡環境下的l對象看作廣域對象且具有不同的類型,從而可以解決網絡環境下對象的繼承問題。
2.對象的設計與定義
這一步需要對對象進行較詳細的設計和定義,並可以充分利用已有的對象.在不同系統中,對象的定義各異。不過,一般來説一個對象應包括三部分,即:
{對象名,對象類型,對象狀態}
其中,對象名是對象的邏輯標識符,系統內的所有對象構成了一個對象名空間,對象類型指明該對象所屬的類和可允許的操作;對象狀態是該對象所存儲的數據集合的權能。
在定義對象類型之後,還必須定義控制和操作對象實倒用的過程.對不同的對象實例,能改變其狀態的過程是不同的。而且,正如前面所提到的那樣,過程在系統中也被看作對象,它們具有自己的權能表和執行域,且執行域可由過程對象的權能表給出.另外,由於同一過程可被不同的進程對象調用,因此,過程對象的執行域不是固定的,過程對象的執行域在過程被調用時發生轉換。
3.建立對象之間的聯繫
面向對象操作系統分類
根據面向對象操作系統所提供的保護範圍,把現有的面向對象操作系統簡單地分為以下三類。數據受保護的系統;數據和過程受保護的系統;數據、過程和處理機受保護的系統。
1.數據受保護的系統
2.數據和過程受保護的系統
數據和過程受保護的系統是指那些在對象中包括數據和對這些數據進行操作的過程的系統。但執行這些過程進行有關操作的處理機未包括在對象中。由於過程需要由非對象的處理機來執行,故這種對象仍然是靜態的和被動的。在這種系統中,過程的執行可分為靜態連接執行和動態連接執行兩種方式。對於動態連接執行方式,它涉及到如何動態地進行對象選擇和切換,比靜態連接方式要複雜得多。
將對象和處理機分開考慮的模型也稱為“對象線程模型”。其中,線程代表處理機,它只擁有狀態信息和堆棧等所必須的最小上下文。在這種模型中,操作系統由提供地址空間和過程的對象以及在該地址空間上執行有關過程的線程所構成,對象間的通信靠過程調用或遠程調用來完成。
3.數據、過程和處理機受保護的系統
數據、過程和處理機同時受保護的對象是指那些本身具有執行能力的對象。用這種對象建立的系統又被稱為動態對象模型系統。在這種系統中,對象包括了數據、過程以及執行這些過程的處理機;對象內的處理機除了完成一般操作外,還負責管理對象內部的資源。至於對象間的通信,需要依靠事先規定的協議來完成。
面向對象操作系統優點
操作系統中可以作為對象描述的成分包括:進程、線程、消息、文件、設備、存儲區、緩衝區、信號量、過程等。
採用面向對象操作系統設計的好處有以下幾點。
(2)由於引入了對象概念,使操作系統中的管理和保護,通信和同步等都變得易於實現,且便於維護;
(3)在網絡操作系統和分佈式操作系統中,每個結點都可以描述成多個對象的集合,這樣可以提供大量不同特性的結點,使系統更為協調、靈活;