計算機的組成。計算機是由硬件(Hardware)系統和軟件(Software)系統兩方面所組合而成。
計算機系統硬件組部分,以數學家(約翰·馮·諾依曼John von Neumann)所提出計算機,分成五大組件。
五大組件: 運算器, 控制器, 儲存器, 輸入設備, 輸出設備
分別設置為主機和外設。
主機 ==> 運算器
==> 控制器
外設 ==> 儲存器
==> 輸入設備
==> 輸出設備
注釋:計算機(Computer電腦)是一種能接收和儲存信,併按照其內部(程式/程序,運作)進行處理,
把結果輸出。
--------------------------------------------------
軟件(Software)系統,分為系統軟件(OS,Operating System)和應用軟件(App,Application)兩大主要的部分。
應用軟件是日常用戶在使用電腦時,可以使用人們所溝通的語言來操作。
但是應用軟件是難以和系統軟件,直接溝通。是需要一個"語言互相翻譯"(translation)。
ABI及API應用,是為了App和OS之間互相溝通而制定。
API: Application Programming Interface
API定義了源代碼和數據庫之間的接口,因此同樣的源代碼可以在支持這個API的任系中編譯
ABI: Application Binary Interface
是App程序和OS之間的底層的接口,允許編譯好的目標代碼在使用共兼容ABI的系統無需改動就能執行
系統軟件被名為"底層操作"層,因為"硬件"所接收的語言都是二進程語言編碼,是難以跟用戶正常溝通。
而系統軟件裡面是有大量的數據庫,系統會調用數據庫裡面的數據編碼,跟硬件對接溝通,處理不同的訊息。
-------------------------------------------------------------------------------------------------
應用軟件 ==> 通用應用軟件(文書軟件,收發電郵,繪圖軟件,等...)
(Application) ==> 專用應用軟件(用戶程序)
======================================
==> API (應用軟件可以用API直接跟OS溝通)
注釋:API是在應用軟用層面,可以調用。
-- -- -- -- -- -- -- -- -- --
==> ABI (應用軟件可以用ABI直接跟OS溝通)
注釋:ABI是正常(App & OS)之間的溝通媒介。
======================================
系統軟件 ==> 操件系統
(Operating System) ==> 程序語言處理系統
==> 數據管理系統
==> 服務程序(檢查,診斷,調試程序)
-------------------------------------------------------------------------------------------------
程序: 用戶 <==> APP <==> API/ABI <==> OS/內核 <==> 硬件
1, 用戶使用軟件,其資料會交由(ABI/API)做資料數據(對接/協調)。
2, 數據會經由"系統調用接口"進入OS。
3, 在OS裡面,資料會在內核的內存。
4, OS會执行進程程序,OS會調用函數數據庫执行運行。
5, 之後內核會把資料發送至硬件(源碼編譯成為二進制格式)
6, 最後結果會返回給用戶(儲存,發送,運算結果,等...)。
##内核编译时选用的选项不同,功能也不同
原文地址:https://www.cnblogs.com/mycoffee/p/9941987.html