操作系統概論 電腦系統由硬體和軟體兩部分組成。硬體指電腦的各個部件,包括:存儲器、處理器、輸入/輸出設備及電源、機箱等。軟體是指存在電腦系統中或外存儲器中的程式及數據的集合。 電腦軟體分為系統軟體和應用軟體。 系統軟體是電腦廠商為了便於用戶使用電腦而駐存在電腦硬體(如硬碟和軟盤)內的系 ...
操作系統概論
電腦系統由硬體和軟體兩部分組成。硬體指電腦的各個部件,包括:存儲器、處理器、輸入/輸出設備及電源、機箱等。軟體是指存在電腦系統中或外存儲器中的程式及數據的集合。
電腦軟體分為系統軟體和應用軟體。
系統軟體是電腦廠商為了便於用戶使用電腦而駐存在電腦硬體(如硬碟和軟盤)內的系統支持程式。主要的系統軟體包括:操作系統、編譯和解釋程式、彙編程式、連接裝入程式、編輯程式和設備驅動程式等。
應用軟體是用戶為了專門的應用目的,向電腦廠商或其他軟體商購買的或者自己開發的解決某一類問題的軟體。典型的有:資料庫管理軟體、圖像處理軟體、各種辦公軟體和殺毒軟體等。
其中操作系統是一種首要的、最基本的、最重要的系統,也是最龐大、最複雜的系統軟體。
1.1 什麼是操作系統
通常把操作系統定義為用以控制和管理電腦系統資源,方便用戶使用的程式和數據結構的集合。
(1)系統觀點——電腦資源管理
在電腦系統中,CPU是電腦硬體的核心,是電腦系統的心臟;操作系統則是電腦軟體的核心,是電腦系統的大腦,是整個系統的控制中心,是電腦或智能控制和管理系統中首要的、最重要的、最複雜的系統軟體。
電腦系統內運行的程式無時無刻地爭奪電腦有限的資源,操作系統的作用在於組織和管理整個電腦系統的硬體和軟體資源,在用戶和程式之間分配系統資源,使之協調一致、高效地完成各種複雜的任務。
(2)用戶觀點——用戶使用電腦的界面
通過操作系統,電腦能提供更多、質量更高的服務。安裝不同的操作系統,呈現在用戶面前將會是完全不同的兩類“虛擬”電腦,因此操作系統是用戶與電腦硬體之間的介面。用戶一般通過以下方式獲得電腦系統提供的服務。
①命令方式:通過鍵盤輸入有關命令直接使用電腦,以獲得電腦所能提供的服務,也可以將若幹命令集中在一個文件中,以批處理的方式連續運行命令,獲得多種服務。
②系統調用:用戶可在應用程式中調用操作系統向用戶提供的服務程式,以獲得系統服務。
③圖形界面:用戶可以在視窗環境中通過滑鼠、按鍵、菜單和對話框等方式操縱電腦。
(3)軟體觀點——程式和數據結構的集合
操作系統是直接與硬體相鄰的第一層軟體,是由大量極其複雜的系統程式和眾多的數據結構集成的。在電腦中的所有軟體中,操作系統起到了核心和控制的作用,其它軟體的運行都要依賴他的支持。操作系統是在系統中永久運行的超級程式。
1.2 操作系統的發展
1.早期的電腦和人工操作方式
在早期的電腦系統中,每一次獨立的運行都需要很多的人工干預,操作過程煩瑣,占用機時多,也很容易產生錯誤,在一個程式的運行過程中要獨占系統的全部硬體資源,設備利用率很低。
2.離線輸入/輸出和批處理系統
(1)離線輸入/輸出
為瞭解決人工干預與CPU速度不匹配的矛盾,提高電腦的使用效率,在電腦中配備了“監控程式”。用戶的控制指令和操作步驟可以寫在源程式前或專門的控制卡片上。“監控程式”先讀入控制命命令,並按命令的指示一步一步自動執行,這就是“操作系統”的雛形。
為瞭解決慢速輸入/輸出設備與CPU速度的不匹配問題,可將用戶打在卡片上或紙帶上的程式和數據通過外圍小電腦預先輸入到磁帶上,運行時再從磁帶上高速讀入記憶體,輸出也同樣通過磁帶中轉。這種方式就是“離線輸入/輸出”。
(2)批處理系統
離線輸入/輸出進一步提高了極端及的運行效率,但自前一個懲處運行結束到啟動後一個程式運行這段時間內,程式員或操作員還需要進行很多的人工干預。批處理的基本思想是:操作員取來一批作業,將它們輸入到磁帶中,操作系統先從磁帶上將第一個作業讀入記憶體,啟動它運行,並將運行結果輸出到另一個磁帶中,當第一個程式運行完畢,操作系統自動的從輸入磁帶上讀入下一個作業,並予以運行和輸出,直到整批作業全部處理完畢。
由於系統作業是成批地進行處理,但記憶體中智能保持一個運行作業,故該類系統又稱為單道批處理系統。
3.緩衝、終端和DMA技術
(1)緩衝技術
離線、批處理還沒有完全解決CPU與外部設備速度匹配問題,無論你是從讀卡機還是從磁帶中讀入,相對於CPU來說,讀入數據的速度總是嫌慢,進一步的解決方法是採用緩衝技術。原理:將數據存放在一個特定的緩衝區,當CPU從緩衝區中得到了數據,在對它進行運算之前嗎,再啟動輸入設備以輸入下一個數據至緩衝區。這樣CPU在記性運算時,外部設備的輸入工作也在同時進行。同樣輸出也採用緩衝技術。採用帶緩衝的輸入/輸出技術後,CPU與外部設備能做到並行操作,減少了互相等待的時間,極大提高了CPU與各種外部設備的使用效率。
(2)中斷技術
具有緩衝的輸入輸出也帶來了新的問題。一個問題時處理機要知道I/O設備什麼時候已經完成了輸入操作,以便處理數據並啟動CIA一個I/O。如果考CPU反覆地查詢輸入設備的狀態,就會浪費很多CPU時間。中斷技術的出現解決了這個難題 。
只要I/O設備一旦完成輸入/輸出操作,它就會自動向CPU發出中斷信號,CPU收到中斷信號後,就會暫停當前的處理工作,在做一些必要的現場保護、中斷處理工作後,轉圖中斷服務程式。中斷服務程式讀出緩衝區的數據,然後啟動下一個IU/O操作。從中斷服務程式返回後,操作系統恢復被中斷的運算過程。
中斷處理機構需要在系統棧啥保存中斷返回地址,還要保護中斷時的其它現場。在完成中斷服務,中斷程式要恢複原先的中斷現場,取得斷口地址,使電腦基礎原先的處理工作。CPU在處理一個中斷事務時,若果又收到一個優先順序更高的中斷請求,就會暫停當前的中斷服務,轉為處理更為緊迫的操作,這樣就想成了中斷的嵌套。
(3)DMA技術
對於慢速的I/O設備,CPU在執行有關並的中斷服務程式後,還可利用剩下的大部分時間來執行其他的計算工作。但是對於磁帶、磁碟或高速網路通信介面,CPU響應中斷和處理數據所費的時間可以比數據到達的時間間隔更長。這樣,即使處理機的時間全部用於處理中斷和接收輸入數據,也仍然會發生數據丟失的情況。
為瞭解決這個難題,產生了直接存儲器存取(DMA)技術。一旦收到DMA發來的中斷請求後,CPU在設置了緩衝區、指針和計數器後,DMA就可以不再需要CPU的干預,在記憶體和設備之間傳送整塊數據。這樣,通過DMA每傳送一個數據塊僅需要一次中斷處理,而不是像低速設備那樣每出傳送一個數據都需要一次中斷處理。
4.SPOOLING
使用緩衝技術可以提高CPU與外部設備工作的並行程度,如果CPU處理數據的速度比輸入設備快得多,CPU總是要等待輸入設備將數據送入緩衝區後才能讀取和處理數據,輸出也會發生類似的情況。開始時CPU能全速運行,但不久所有的系統緩衝區都會被塞滿,此後CPU必須等待輸出設備取走緩衝區中的數據,以便可以在其中存放新的輸出結果。這種執行速度受到I/O設備限制的作業,成為受限於I/O的作業。另一方面,對於計算量很大的受限於CPU的作業,輸入緩衝區經常 是滿的,而輸出緩衝區經常是空的。因此,緩衝技術雖然是有用的。但是在很多情況下作用並不明顯。
磁碟系統的出現極大地改進了離線輸入輸出的效果。磁帶系統的問題時當CPU從磁帶上讀入數據時,讀卡機等輸入設備就不能在磁帶的尾部寫數據,所以慢速輸入設備的數據不能通過磁帶機白CPU聯機的讀入。磁碟設備消除了這個問題。磁碟的讀寫頭很容易從磁碟中的一個區域移動到另一個區域,所以磁碟的讀寫位置能很快地從讀卡機存入磁碟的區域移動到CPU需要讀取的下一個記錄的區域。
在磁碟系統中,讀卡機等設備將數據寫到磁碟中,卡片數據的映像記錄存放在由操作系統的維護的一張表中。在一個作業執行期間需要請求讀卡機輸入數據時,實際讀入的是存放在磁碟中對應記錄向。類似的,當作業要將輸出送至印表機是,該輸出實際上是通過系統緩衝區寫到磁碟中,在該作業運行結束後,才由操作系統自動列印存儲在磁碟中的輸出結果,這種由操作系統將磁碟模擬為輸入/輸出設備的處理方式稱為SPOOLING(並行的外部設備操作聯機)也稱為“假離線”。SPOOLING系統是以磁碟為幾乎無限巨大的緩衝區來解決低速的I/O設備與高速CPU之間的速度匹配問題。
相比記憶體緩衝技術,SPOOLING技術還有其他優點:記憶體緩衝只能是作業的I/O與本身的計算工作重疊進行,SPOOLING能使多個作業的I/O與電腦重疊地進行。使用SPOOLING技術,電腦在執行一個作業時列印前面已完成了的計算任務的輸出結果,還能讀入尚未運行的作業,這樣使得CPU和多台I/O設備能以很高速度進行並行地工作,提高系統的吞吐量。
SPOOLING還提供一種很重要的結構——緩衝池,操作系統可以根據系統當前的情況在這些作業中挑選下一個運行的作業,以提高CPU和外部設備的利用率。這樣操作系統就能是一些CPU受限作業和I/O設備受限作業相搭配運行,以提高系統中各種設備的利用率。
5.多道程式設計
離線操作、緩衝和SPOOLING雖然能使CPU的計算與I/O設備的操作重疊地進行,卻有一定的局限性,這些技術都不能使CPU和I/O設備時常保持忙碌狀態。當一個作業必須等待I/O操作完成是(如從磁碟讀入一個數據),CPU就不能執行下一步運算,往往只能空等。
作業調度使另一種新的計算基數——多道程式設計成為可能,能進一步提法哦CPU的利用率,使它幾乎總有任務可執行,也能提高外部設備的利用率,使得多個作業的多種I/O操作可以並行運行。
在多道程式設計系統中,操作系統可以將多個作業存放在作業緩衝池中。在某一時刻,操作系統從緩衝池中挑選一個作業,並開始執行該作業。當執行中的作業因要等待用戶鍵盤輸入或等待其它設備I/O操作時,在多道程式設計中,操作胸膛呢過久可在緩衝池中挑選另一個作業,使其運行。當前一個作業結束了的等待狀態後就可以再次獲得CPU,繼續運行下去。只要系統中總是存在可執行的作業,CPU就永遠不會閑著。
多道程式設計技術都是相當複雜的,首先為了支持多道程式設計,要有足夠大的記憶體,同時需要有比較複雜的存儲和保護機構,同時還需要處理機調度機構,決定哪一個作業占用CPU,除此之外,還需要提供各種外部設備的調度和管理功能。
1.3現代操作系統的類型
1.分時系統
為了降低互動式系統的等待時間和運行時間的比率,系統通過多態終端同時向很多用戶提供運行環境,這種分時系統就能以合理的成本向用戶提供互動式使用電腦的方便。
現在,大部分系統能同時支持批處理和分時。
分時系統具有以下幾個基本特征
①多路性,一臺主機可連接多條終端,多個終端用戶可以同時使用電腦,共用系統的硬體和軟體資源。
②獨立性,各用戶操作互不幹擾,每個用戶都認為整個電腦系統被他所獨占,為他服務。
③交互性,用戶能與系統進行對話,在一個多步驟作業的運行過程中,用戶能通過鍵盤等輸入數據或命令,系統獲得用戶的輸入後做出響應,顯示執行的狀況和結果。
④及時性,系統一般能在1秒鐘內接收和響應用戶的輸入命令或數據,在數秒內顯示命令的執行結果。
比較著名的分時系統有:CTTS(相容分時系統)和MULTICS(多路信息和計算系統)
2.實時操作系統
實時操作系統是一種能在限定的時間內對輸入進行快速處理並做出響應的電腦處理系統,根據對響應時間限定的嚴格程度,實時系統又可分為硬實時系統和軟實時系統。
硬實時系統主要用於工業生產的過程式控制制、航天系統的跟蹤控制、武器的制導等。這類操作系統要求響應速度非常快,工作及其可靠安全,否則有可能造成災難性的後果。在一些重要的控制系統中,為了進一步提高系統的可靠性,除了一臺電腦控制系統工作外,還需要有一套後備系統。後備系統又可分為熱備份和冷備份兩種。
熱備份就是除了一臺當前工作的主控電腦外,另一臺相同的電腦與主控機同步運行,兩者之間還定時交換運行狀態信息。當主控電腦發生故障時,控制立即被切換到同步運行的後備電腦上。如果中斷一個較短的時間的工作不會發生嚴重事故或造成重大經濟損失的控制系統,可採用冷備份方案。當主控電腦發生故障時再啟動備用機,接管系統的控制權。
軟實時系統主要應用於對響應速度要求不像硬實時系統那麼高,且時限要求不是很嚴格的信息查詢和事務處理領域,這些系統的響應時間一般在幾秒至幾十秒內,這類系統一般配備有大型文件系統或資料庫。
3.微機操作系統
微機操作系統基本上是單用戶系統,所有資源採用獨享方式,不支持批處理、多任務或多到程式設計技術。微機操作系統通常提供較強的文件管理功能,通過命令解釋器支持用戶以交互的方式使用電腦。另一種微機操作系統是作為實時控制用,主要通過並行口和數/模轉換設備與外部系統聯繫,控制其工作。
微型電腦的另一條發展途徑是構成更為複雜的系統——工作站。工作站儘管只能同時被單個用戶使用,但支持多道程式設計,不少工作站支持複雜的圖像處理工作。大部分工作站採用分時操作系統UNIX。UNIX支持多道程式設計,提供大量的交互控制命令函數庫、軟體開發工具及視窗圖形顯示環境,並支持主要的網路協議。
Windows是美國微軟推出的新一代視窗操作系統,提供功能強大的圖形是操作系統,Windows 9x安裝方便,即插即用使硬體設備的安裝變得非常簡單,仍然提供了對DOS向後相容的虛擬機。
Windows NT是在微機上實現的能取代UNIX且通用、可移植、操作簡單的操作系統。採用面向對象的開發技術和客戶——伺服器(CS)模型,提供了現代操作系統的最新功能。
4.多機處理、分散式和網路操作系統
(1)多處理機系統
由於受到電磁速度的限制,單純靠提高硬體的方法來提高電腦系統的運算速度總是有限的,在類似氣象、地震預報、核聚變反應模擬等應用都對電腦的速度提出了更高的要求。多處理機系統可大大提高系統運行的並行性,由此誕生多處理機操作系統。
多處理機操作系統一般分為主從式和對稱式。主從操作系統主要駐留並運行在一臺主處理機上,控制所有系統資源,將整個任務分解為多個子任務,並將子任務分配給其他的從處理機執行,並協調從處理機的運行過程。
對稱式系統在處理機中都配有操作系統,管理和控制本地資源和過程的運行。該系統在一段時間內可以指定一臺或幾台處理機來執行管理程式,協調所有處理機的運行。
多機處理系統有很高的運算速度,當系統某個處理機發生故障時,一般只因此昂系統的性能,可以用備用單元取代它,故不會造成系統的垮臺。
(2)分散式操作系統
分散式系統是一種多電腦系統,這些電腦可以處於不同的地理位置,擁有不同的軟硬體資源,並用通信線路連接起來,具有獨立執行任務的能力。通常每台電腦沒有完全獨立的操作系統。分散式系統具有一個統一的操作系統,可以把一個大的計算任務劃分成很多可以並行執行的子任務,並按一定的調度策略將它們動態地分配給每個電腦執行,並控制管理每個電腦的資源分配、運行及電腦之間的通信,以協調任務的並行執行。以上的所有管理工作對用戶都是透明的。
(3)網路操作系統
電腦網路可以分為區域網和廣域網,與分散式操作系統不同,網路操作系統不是一個集中、統一的操作系統,它基本上是在各種各樣自治的電腦原有操作系統的基礎上加上具有各種網路訪問功能的模塊,這些模塊使網路上的電腦能方便、有效地共用網路資源,實現各種通信服務有關的協議。
5.嵌入式操作系統和智能卡操作系統
(1)嵌入式操作系統
嵌入式操作系統就是運行在嵌入式晶元環境中,對整個晶元及它所操作和控制的各種部件裝置等資源進行統一協調、調度、指揮和控制的系統軟體。
(2)智能卡操作系統
智能卡實際上是一個單片微機系統,包括中央處理機,存儲部件以及對外聯絡的通信介面。各類智能卡中都駐留了一個微型的操作系統,又稱片內操作系統。
一般而言,智能卡操作系統具有4個基本功能:資源管理、通信管理、安全管理和應用管理。讀寫器和智能卡之間通過命令——響應對方式進行通信和控制。
1.4 操作系統的概念、特征和功能
1.作業和進程
(1)作業
請求電腦完成的一個完整的處理任務稱為作業,它可以包括幾個程式的相繼執行。用戶在鍵盤上輸入的一條完整的命令就是一個作業,一條命令可以同時調用幾個程式,相互配合來完成一個複雜的任務。一個複雜的作業可以由多個作業步組成。
(2)進程
在多道程式環境下,一個程式的活動具有併發和動態的特征,一個程式活動和其他程式活動之間存在相互依賴和相互制約的關係。程式和程式之間的活動也不存在像封閉的系統中那樣嚴格的一一對應關係,因此,程式這個靜態概念已經不能確切地反映程式活動這種動態特征。進程是操作系統最重要的概念之一,某些系統將進程稱為任務,對UNIX系統上的進程定義為程式在數據集合上的運行活動,它是系統進行資源分配和調度的一個可併發執行的獨立單位。
2.操作系統的特征
(1)併發
併發是指在某一時間間隔內電腦系統記憶體在著多個程式活動。並行是指在同一時刻電腦內有多個程式都在執行,這隻有在多CPU系統中才能實現。在單CPU的系統中,多個程式時不可能同時執行的。併發是從巨集觀上看多個程式的運行活動,這些程式在串列地交錯地運行,由操作系統負責這些程式之間的運行切換,人們從外部巨集觀上觀察,有多個程式都在系統中運行。
(2)共用
共用是指多用戶或程式共用系統的軟、硬體資源。共用可以提高各種系統設備和系統軟體的使用效率。在合作開發某一項目時,同組用戶共用軟體和資料庫可以大大提高開發效率和速度。
共用方式可分為互斥共用和同時共用。互斥共用設備有印表機、磁帶機、繪圖儀等。這些設備不允許兩個作業同時訪問,當一個作業使用完畢並釋放了所占的資源後,才允許另一個作業訪問,有些快速設備如磁碟,儘管也只能允許多個作業串列地訪問,但由於作業訪問和釋放該資源時間極短,在巨集觀上可看成允許多個作業同時訪問,這類設備的共用方式也認為是同時共用。
軟體的共用方式也可分為互斥的和同時的,一般來說,只讀的數據、數據結構、只讀的文件和純可執行的文件可同時共用,而可寫數據、數據結構和文件智能互斥共用。
(3)虛擬
操作系統向用戶提供了比直接使用裸機簡單方便得多的高級抽象服務,從而為程式員隱藏了硬體操作複雜性,這就相當於在原先的物理電腦上覆蓋了一至多層系統軟體,將其改造成一臺功能更強大而且易於使用的擴展機或虛擬機。例如,分時系統就是把一個電腦系統虛擬為多台邏輯上獨立、功能相同的系統,SPOOLING系統可以將一臺I/O設備虛擬為多台邏輯設備,或將一臺互斥共用設備虛擬成同時共用設備。一條物理通道也可虛擬為具有很多“埠”的多個邏輯通道。
(4)不確定性
不確定性是指使用同樣一個數據集的同一個程式在同樣的電腦環境下運行,每次執行的順序和所需的時間都不相同。因此作業就在不可預測的次序中進行,即程式的執行過程是不可預測的。操作系統的不確定性不是指程式執行結果的不確定性。程式執行結果的不確定性的原因往往是由於程式設計本身的錯誤或由於用戶的個程式之間的配合不當引起的。這種結果的不確定性又是在操作系統複雜的不確定性的環境下發生的,使得程式每次的執行情況不易復現。
3.操作系統的功能
(1)CPU管理
CPU是整個電腦系統中的核心硬體資源。CPU的性能和使用情況對整個電腦系統的性能有關鍵的影響。有效管理CPU、充分利用CPU資源也是操作系統最重要的管理任務。
在多到程式的環境中,CPU分配的主要對象是進程(或線程)操作系統通過選擇一個合適的進程占有CPU實現對CPU的管理,因此,對CPU的管理歸根到底是對進程的管理。操作系統有關進程方面的管理任務很多,主要有進程調度、進程式控制制、進程同步與互斥、進程通信、死鎖的檢測與處理等。
(2)存儲管理
存儲器可以說是一種最重要的系統資源,一個作業要在CPU上運行,它的代碼和數據就要全部或部分地駐在記憶體中,操作系統也要占據相當大的記憶體空間。在多道程式系統中,併發運行的程式都要占有自己的記憶體空間,存儲管理的任務是對要運行的作業分配記憶體空間,當一個作業運行結束時,要收回所占用的記憶體空間,操作系統要對每一個作業的記憶體空間和系統記憶體空實施保護。
在現代的電腦系統中,併發運行的作業越來越多,有限的記憶體不能滿足併發作業對記憶體的需求。為瞭解決這個問題,操作系統使用虛擬記憶體管理技術,可向作業提供大於實際物理記憶體的存儲空間。運行作業的一部分代碼和數據可先裝入記憶體,另一部分則駐在外存,就當作業到達某個運行階段需要訪問這部分程式空間是,再將它們從外存調入記憶體。運行作業在記憶體部分和外存部分交換還要涉及地址變換技術。
(3)設備管理
電腦設備大致分為字元快設備和字元設備,主機與字元塊設備之間每次傳輸一個塊大小的數據,主要的塊設備有硬碟、軟盤、磁帶和光碟,主機與字元設備之間每次傳輸一位元組,常見的字元設備是終端、屏幕、印表機、繪圖儀、串列口、並行口和通信口等。
為了提高CPU與設備運行的並行程度,CPU與設備進行數據傳輸時一般經過通道、控制器和中斷進行。時鐘是一種較為特殊的I/O設備,一般也歸為字元設備。
設備管理的主要任務有設備的分配和回收、設備的控制和信息傳輸即設備驅動。設備管理方面的系統代碼在操作系統核心中占相當大的部分。一般與各種設備密切相關的代碼是由設備製造商或專門的軟體生產商編製,以可裝卸的形式植入操作系統的內核。
設備管理還涉及以下兩部分,虛擬設備管理和緩衝管理。
(4)文件管理
文件是電腦中信息的主要存放形式,文件管理的主要目的是將文件長期、有組織、有條理地存放在系統之中,並向用戶和程式提供方便建立、打開、關閉、目錄管理、文件的存取操作與控制、文件的安全與維護、文件邏輯地址與物理地址的映像、文件系統的安裝、拆除和檢查等。
(5)用戶介面
配置操作系統的很重要的目的就是為了方便用戶使用電腦。操作系統內核通過系統調用嚮應用程式供了很友好的介面,方便用戶程式對文件和目錄的操作,申請和釋放記憶體,對各類設備進行I/O操作,以及對進程進行控制。此外,操作系統還提供了命令級的介面,向用戶提供了幾百條程式命令,使用戶方便地與系統交互。
為了便於系統的維護、管理和便於用戶利用命令界面自動地完成複雜的作業以及運行和控制任務,操作系統一般都提供作業運行控制或命令程式介面,典型的是UNIX的Shell程式。由於命令程式的基本執行單位是命令,故其一條語句所能完成的工作比若幹條普通高級語言語句強得多。一些系統的自舉過程主要由命令程式完成的,這樣也便於系統管理員通過修改這些程式來剪裁自己的系統配置。超級用戶能利用命令文件自動地完成系統維護工作,普通用戶也能利用命令文件進行軟體設計與編製或進行大型軟體系統的原型設計。
近年來圖形用戶界面發展得很快,這種以圖形和菜單作為主要的顯示界面以及滑鼠作為主要的輸入方式受到了廣大電腦用戶的歡迎,並對電腦的普及起到了關鍵性的作用。