計算機系統的分層結構


摘要:  從一般使用者的角度來看,計算機系統是由硬件和軟件組成的,而計算機軟件根據其在計算機系統中所起的作用又可進一步分為系統軟件和應用軟件。系統軟件是指能夠對計算機硬件資源進行管理,對用戶方便使用計算機硬件資源提供服務的軟件,其核心就是操作系統。應用軟件則是人們使用各種計算機語言為解決各種應用問題而編制的程序。因此,從這一層面上看,計算機系統自下而上可以看成是由三個層次構成的,即:計算機硬件、系統軟件和


計算機系統的分層結構
 從一般使用者的角度來看,計算機系統是由硬件和軟件組成的,而計算機軟件根據其在計算機系統中所起的作用又可進一步分為系統軟件和應用軟件。系統軟件是指能夠對計算機硬件資源進行管理,對用戶方便使用計算機硬件資源提供服務的軟件,其核心就是操作系統。應用軟件則是人們使用各種計算機語言為解決各種應用問題而編制的程序。因此,從這一層面上看,計算機系統自下而上可以看成是由三個層次構成的,即:計算機硬件、系統軟件和應用軟件,下層為上層功能的實現提供支持。 

而從計算機設計者的角度看,計算機系統可以進一步划分為不同的層次來實現其功能。這種划分可以看成是概念上的划分,但卻是十分有意義的。我們可以設想計算機是按照不同的層次結構來建造的。這里的每一個層次都實現某項特定功能,並有一個特定的假想機器與之對應。對應計算機的每一個層次的這種假想機器稱之為虛擬機。每一層的虛擬機都執行自己特有的指令集,必要時還可以調用較低層次的虛擬機來完成各種任務。如圖1-­17是一個業界普遍接受的代表不同抽象的虛擬機器的計算機組織結構層次圖。計算機系統分層結構層次圖 




第6層是用戶層,也是面向一般用戶的層次,換句話說,一般用戶在使用計算機時所看見的就是這一層次。在這一層次上,用戶可以運行各種應用程序,如字處理程序、制表程序、財務處理程序、游戲程序等等。對用戶層而言,其他各較低的層次可以是不可見的,也就是說,用戶不必了解各底層是如何實現的。 

第5層是高級語言層,它由各種高級語言組成,如 C、C++、Java、Web編程語言等。這些高級語言提供該層用戶為完成某一特定任務而編寫高級語言程序。一方面,所編寫的這些高級語言程序提供給上層用戶層的用戶使用,另一方面這些高級語言程序是通過編譯或解釋成低級語言來實現的。雖然使用這些高級語言編寫程序代碼的程序員需要了解所使用語言的語法、語義及各種語句等,但這些語法、語義的實現及語句的執行過程對他們來講是透明的。 

第4層是匯編語言層,它包括各種類型的匯編語言。每一個機器都有自己的匯編語言,上層的高級語言首先被翻譯成匯編語言,再進一步翻譯成機器直接識別的機器語言。機器通過執行機器語言程序來最終完成用戶所要求的功能。 

第3層是系統軟件層,其核心就是操作系統。操作系統對用戶程序使用機器的各種資源(CPU、存儲器、輸入輸出設備等)進行管理和分配。例如,當某一用戶程序需要運行時,首先由操作系統將其調入內存中,這其中需要操作系統為其分配內存空間進行存儲。再如某程序需要使用某一輸出設備進行結果的輸出時,需要操作系統為其提供對該設備的控制等。 

第2層是機器層,這是面向計算機體系結構設計者的層次。計算機系統設計者首先要確定機器的體系結構,如機器的硬件包含那些部件,采用什么樣的連接結構和實現技術等。在這一層次上提供的是機器語言,也是機器唯一能直接識別的語言,其他各種語言的程序最終都必須翻譯成機器語言程序,由機器通過其硬件實現相應的功能。 

第1層是控制層,這一層的核心是計算機硬件控制單元。控制單元會逐條接收來自上層的機器指令,然后分析譯碼,產生一系列的操作控制信號,並由這些控制信號控制下層的邏輯部件按照一定的時間順序有序地工作。 

第0層是數字邏輯層,在這里我們所面對的是計算機系統的物理構成:各種邏輯電路和連接線路,它們是組成計算機硬件的基礎。 

計算機系統的各個層次並不是孤立的,而是互相關聯、互相協作。一般來講,下層為上層提供服務或執行上層所要求的功能,而上層通過使用下層提供的服務完成一定的功能。計算機這種層次划分的好處是:某一個層次的設計者可以專注於該層功能的實現,通過采用各種技術,提高各層次的性能,從而提高計算機系統整體性能。

 
http://www.it610.com/article/2532754.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM