計算機軟件的基本組成
一, 計算機軟件的分類
軟件按其功能分類, 可分為系統軟件和應用軟件
圖解
(1)系統軟件
系統軟件是一組保證計算機系統高效, 正確運行的基礎軟件, 軟件通常作為系統資源提供給用戶使用.
系統軟件主要有操作系統(OS), 數據庫管理系統(DBMS), 語言處理程序, 分布式軟件系統, 網絡軟件系統, 標準庫程序, 服務性程序等.
(2)應用軟件
應用系統是指用戶為解決某個應用領域中的各類問題而編制的程序, 如各種科學計算類程序, 工程設計類程序, 數據統計與處理程序等.
在本學科范疇內, 編寫諸如操作系統, 編譯程序等各種系統軟件的人員稱為系統程序員; 利用計算機及所支持的系統軟件來編寫解決具體應用問題的人員稱為應用程序員.
二, 三個級別的語言
三種機器語言分別是:
- 機器語言
- 匯編語言
- 高級語言
圖解
注: 編譯器, 匯編器, 解釋器, 可統稱"翻譯程序".
三種機器語言的特點
- 機器語言, 也稱二進制代碼語言, 需要編程人員記憶每條指令的二進制編碼.機器語言是計算機唯一可以直接識別和執行的語言.
- 匯編語言, 匯編語言是用英文單詞或其縮寫代替二進制的指令代碼, 更容易為人們記憶和理解. 使用匯編語言編寫的程序, 必須經過一個稱為匯編程序的系統軟件翻譯, 將其轉換為機器語言的程序后, 才能在計算機的硬件系統上執行.
- 高級語言, 高級語言(如C, C++, Java等) 可以方便程序設計人員寫出解決問題的處理方案和解題過程的程序.通常高級語言需要經過編譯程序編譯成匯編語言程序, 然后經過匯編操作得到機器語言程序, 或直接由高級語言程序翻譯成機器語言程序.
三, 各種翻譯程序的概念
因為計算機無法直接理解和執行高級語言程序, 所以需要將高級語言程序轉換為機器語言程序, 通常把進行這種轉換的系統軟件稱翻譯程序.
翻譯程序有以下三類:
1), 匯編程序(匯編器): 將匯編語言程序翻譯成機器語言程序.
2), 解釋程序(解釋器): 將源程序中的語句按執行順序逐條翻譯成機器指令并立即執行.
3), 編譯程序(編譯器): 將高級語言程序翻譯成匯編語言或機器語言程序.
四, 軟件和硬件的邏輯功能等價性
硬件實現的往往是最基本的算術和邏輯運算功能, 而其他功能大多通過軟件的擴充得以實現.
對某一功能來說, 其既可以由硬件實現, 又可以由軟件實現, 從用戶的角度來看, 它們在功能上是等價的.
這一等價性被稱為軟/硬件邏輯功能的等價性.
例如, 浮點數運算既可以用專門的浮點運算器硬件實現, 又可以通過一段子程序實現, 這兩種方法在功能上完全等價, 不同的只是執行時間的長短而已, 顯然硬件實現的性能要優于軟件實現的性能.
軟件和硬件邏輯功能的等價性是計算機系統設計的重要依據, 軟件和硬件的功能分配及其界面的確定是計算機系統結構研究的重要內容. 當研制一臺計算機時, 設計者必須明確分配每一級的任務, 確定哪些功能使用硬件實現, 哪些功能使用軟件實現.
軟件和硬件功能界面的劃分是由設計目標, 性能價格比, 技術水平等綜合因素決定的.
指令集體系結構(ISA)
軟件和硬件之間的界面. 設計計算機系統的ISA, 就是要定義一臺計算機可以支持哪些指令, 以及每條指令的作用是什么, 每條指令的用法是什么.
五, 總結
- Q1, 計算機軟件的分類
- 系統軟件
-
管理計算機的硬件資源, 向上層應用程序提供服務
-
- 應用軟件
-
按應用場景需要編制唱的成的各種程序, 直接為用戶提供服務.
-
- 系統軟件
- Q2, 三個級別的語言
- 高級語言
- 匯編語言
- 機器語言
- Q3, 三個級別的語言之間的轉換方式
- 編譯程序(編譯器) – 將高級語言一次全部翻譯為匯編語言, 或者直接翻譯為機器語言
- 匯編程序(匯編器) – 將匯編語言翻譯成機器語言
- 解釋語言(解釋器) – 高級語言翻譯為機器語言(翻譯一句執行一句)
- Q4, 軟件和硬件的看邏輯功能等價性
-
同一個功能, 既可以用硬件實現, 也可以用軟件實現
-
- Q5, 指令集體系結構(ISA)
-
ISA定義一臺計算機可以支持哪些指令, 以及每條指令的作用是什么, 每條指令的用法是什么.
-