計算機的組成。計算機是由硬件(Hardware)系統和軟件(Software)系統兩方面所組合而成。
----------------------------------------------------------------------------------------------------------------------------------------------
計算機系統硬件組部分,以數學家(約翰·馮·諾依曼John von Neumann)所提出計算機,分成五大組件。
五大組件: 運算器, 控制器, 儲存器, 輸入設備, 輸出設備
分別設置為主機和外設。硬件(Hardware)
主機 ==> 運算器
==> 控制器
外設 ==> 儲存器
==> 輸入設備
==> 輸出設備
注釋:計算機(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) ==> 程序語言處理系統
==> 數據管理系統
==> 服務程序(檢查,診斷,調試程序)
======================================
計算機硬件 ==>硬件(Hardware)
注釋:用戶使用(計算機),從用戶應用軟件把資料傳送到<==>系統軟件OS<==>硬件(Hardware)。
返回用戶(應用軟件)所需要的結果。
----------------------------------------------------------------------------------------------------------------------------------------------
計算機的內核作用和功能
計算裡面的空間可以分為(用戶空間、內核空間、硬件區)。
計算機內核的作用,是系統裡面的主要組成的部分。其作用由用戶使用(應用軟件)把資料傳至系統OS。
再由OS傳至硬件,在得出運算結果之後,返回應用軟件。
##有關"系統調用接口 / system call "在上面有一個說明白,這接口非常重要。##
--- --- --- --- --- ---
ABI及API應用,是為了App和OS之間互相溝通而制定。
API: Application Programming Interface
API定義了源代碼和數據庫之間的接口,因此同樣的源代碼可以在支持這個API的任系中編譯
ABI: Application Binary Interface
是App程序和OS之間的底層的接口,允許編譯好的目標代碼在使用共兼容ABI的系統無需改動就能執行
======================================
==> API (應用軟件可以用API直接跟OS溝通)
注釋:API是在應用軟用層面,可以調用。
-- -- -- -- -- -- -- -- -- --
==> ABI (應用軟件可以用ABI直接跟OS溝通)
注釋:ABI是正常(App & OS)之間的溝通媒介。
======================================
--- --- --- --- --- ---
其作用回應如下:是一個簡單構圖,由用戶<-->系統調用接口<-->內核<-->硬件。
程序: 用戶 <==> APP <==> API/ABI <==> OS/內核 <==> 硬件
1, 用戶使用應用軟件程序,其資料會交由(ABI/API)做資料數據傳送(對接/協調)。
2, 數據會經由"系統調用接口"進入OS。
3, 在OS裡面,資料會在內核的內存。
4, OS會执行進程程序,OS會調用函數(數據庫)执行運行。
5, 之後內核會把資料發送至硬件(源碼編譯成為二進制格式)
6, 最後結果會返回給用戶(儲存,發送,運算結果,等...)。
##内核编译时选用的选项不同,功能也不同