1.電腦組成 2.開發介面標準 ABI--(Application Binary Interface) ABI描述了應用程式與OS之間的底層介面,允許編譯好的目標代碼在使用相容ABI的系統中無需改動就能運行。 API--(Application Programming Interface) API ...
1.電腦組成
2.開發介面標準
-
ABI--(Application Binary Interface)
ABI描述了應用程式與OS之間的底層介面,允許編譯好的目標代碼在使用相容ABI的系統中無需改動就能運行。
-
API--(Application Programming Interface)
API定義了源代碼和庫之間的介面,因此同樣的源代碼可以在支持這個API的任何系統中編譯(AIEEE在操作系統上定義的一系列API標準)。
3.Linux運行文件格式
-
ELF:可運行文件格式(類似於Windows下.exe文件格式)。
-
.so(shared object):動態庫基本格式。
-
.a:靜態庫基本格式
4.庫存函數(Library function)及系統調用(system call)
函數庫調用 |
系統調用 |
在所有的ANSI C編譯器版本中,C庫函數是相同的 | 各個操作系統的系統調用是不同的 |
它調用函數庫中的一段程式(或函數) | 它調用系統內核的服務 |
與用戶程式相聯繫 | 是操作系統的一個入口點 |
在用戶地址空間執行 | 在內核地址空間執行 |
它的運行時間屬於-用戶時間 | 它的運行時間屬於-系統時間 |
屬於過程調用,調用開銷較小 | 需要在用戶空間和內核上下文環境間切換,開銷較大。 |
在C函數庫libc中有大概300個函數 | 在UNIX中大約有90個系統調用 |
典型的C函數庫調用:system fprintf mall oc | 典型的系統調用:chedir fork write brk |
5.Linux哲學思想
1.一切都是一個文件(包括硬體);
2.小型,單一用途的程式;
3.鏈接程式,共同完成複雜的任務;
4.避免令人困惑的用戶界面;
5.配置數據存儲在文本中;
鏡像下載地址
http://mirrors.aliyun.com;
http://mirrors.sohu.com
http://mirrors.163.com