計算機系統
文章來源: | 發布時間:2009-09-02 | 【打印】 【關閉】
計算機系統是由硬件和軟件組成的。
1、硬件
計算機硬件由運算器、控制器、存儲器和輸入/輸出設備組成,如圖所示。運算器是對信息或數據進行處理和運算的部件,經常進行的算術運算如加、減、乘、除等,邏輯運算如移位、邏輯加、邏輯乘等。存儲器用來存放程序和數據,是計算機各種信息的存儲和交流中心。在控制器控制之下,存儲器可與輸入/輸出設備以及運算器和控制器交換信息,起到存儲、緩沖、傳遞信息的作用。控制器主要用來實現計算機本身的自動化,即實現程序的自動裝入和自動執行。在控制器控制之下,從輸入設備輸入程序和數據,并自動存放在存儲器中,然后由控制器指揮各部件(運算器、存儲器、…)協同工作,以執行程序并從輸出設備輸出結果。
計算機組成的各部件之間用總線相連。隨著半導體工藝的發展及大規模、超大規模集成電路的廣泛應用,通常將運算器和控制器合并在一起,集成在CPU芯片中。存儲器除了基本容量外,還是可擴充的。輸入/輸出設備通過各自的接口電路與系統總線相連。
2、軟件
指令系統是計算機可以執行的所有指令的集合。用各種語言編寫的程序都要翻譯成以指令形式表示的機器語言后才能運行。指令系統反映了計算機的基本功能,是程序設計人員能看到的機器主要屬性和軟、硬件的主要交界面。
計算機程序是用程序設計語言書寫的。一個計算機程序就是一組高級“指令”,當它們通過翻譯或者解釋,變成機器可讀的形式時,這組指令就能使機器具有信息加工的能力,實現某項特定功能,或者完成某項任務。
程序是軟件的主體,計算機語言又稱為軟件語言。從機器語言到符號匯編語言,再到高級程序設計語言,體現了計算機軟件發展的歷程。直接使用計算機指令系統即機器語言編寫程序,軟件人員必須編寫出用二進制表示的程序,顯然是很不方便的。匯編語言是改進了的機器語言,雖然匯編程序的每個語句與機器指令基本上一一對應,但由于匯編程序使用易于記憶的符號編寫,它的實現是經匯編軟件翻譯成真正的機器語言再去執行。使用匯編語言編寫程序較之直接使用機器語言,顯然是要方便多了。
由于匯編語言的語法、語義結構仍然和機器語言基本類似,所以仍然很難適應計算機應用范圍的擴大和各種類型問題的需要。于是,出現了高級程序語言,如Fortran、Algol、Lisp、Ada、C、Java等,軟件人員只需要用高級語言編制程序,編譯軟件將高級語言程序翻譯成匯編語言程序或機器語言程序再去執行。對程序人員而言,就如同面對一個能夠理解和操作高級語言的計算機一樣。
僅有計算機硬件的計算機稱為裸機,是做不了任何事情的。只有配置了相應的軟件,計算機才能提供人們所滿意的服務。操作系統是為了填補人與機器之間的鴻溝,而為裸機配置的一種系統軟件,為人們建立了一個最基本的工作環境,所有其它軟件,如編輯、匯編、編譯、網絡軟件、數據庫軟件等系統軟件,以及大量的應用軟件都是建立在操作系統基礎之上。操作系統負責配置和管理計算機上的各種資源,使其高效有序地進行工作。與計算機上配置的其它系統軟件和應用軟件一起,這樣的計算機系統才能為用戶提供所需的服務。
3、軟件分類
粗略地劃分,計算機軟件可分為系統軟件、支撐軟件和應用軟件三類。
系統軟件是屬于計算機系統中最靠近硬件的一層。其它軟件一般都通過系統軟件發揮作用。它與具體的應用領域無關。操作系統、編譯軟件、網絡軟件和數據庫管理系統等都屬于系統軟件。
支撐軟件是支撐軟件的開發、運行和維護的軟件。傳統的支撐軟件以工具軟件為主,包括建模工具、語言工具、開發工具、測試工具、版本維護工具等。隨著網絡技術的發展,網絡應用軟件需求促進了基于網絡的中間件和基礎架構平臺軟件的發展,這些軟件用于支撐各種網絡應用軟件的開發、部署、運行、集成、管理、安全和維護,應屬于支撐軟件的范疇。
應用軟件是支持各種不同領域應用的專門軟件。目前,計算機應用已經滲透在各行各業,軟件對于國家經濟、國防安全和人民生活的重要性,都是通過應用軟件而為用戶所直接感受到的。