cpu指令分爲:環0上面的特權指令(只有操作系統或者說是內核才能運行),環3上面的普通指令
操作系統(os):是一種軟件程序,把底層計算機提供的各種計算能力抽象成一個統一的接口,方便程序的開發,功能:硬件驅動,進程管理,內存管理,網絡管理,安全管理等
編程層次:
硬件規格:hardware specifiacation
系統調用:操作系統可運行特權指令和普通指令,應用程序只能運行普通指令,但應用程序可以請求操作系統(或者說是內核)來運行特權指令,並將執行的結果返回給應用程序,這個過程叫做系統調用(system-call)
庫調用:library call
POSIX標準: API標準,是對操作系統服務接口的標準化,從而保證了應用程序在源碼層次的可移植性
程序的運行一般爲兩種:一是開機自動啓動,二是需要用到用戶接口(user interface)來指揮程序的運行
User Interface:
GUI:Graphic User Interface
CLI:Command Line Interface
應用二進制接口(或者說可執行程序格式):
ABI:Application Binary Interface 程序已經寫好,並編譯成二進制格式,這時面對的接口爲ABI
編程接口:
API:Application Program Interface
程序運行模式:
用戶模式:user space(程序執行普通指令)
內核空間:system space(程序由內核執行特權指令)
程序:指令+數據(算法+數據結構)
指令:只讀
數據:讀寫