1、系統(tǒng)調(diào)用
????????系統(tǒng)調(diào)用就是操作系統(tǒng)提供給用戶程序調(diào)用的一組特殊的接口,用戶程序可以通過這組特殊的接口來(lái)獲取操作系統(tǒng)內(nèi)核提供的服務(wù)。
為了保護(hù)內(nèi)核空間,將程序的運(yùn)行空間分為內(nèi)核空間和用戶空間,用戶進(jìn)程通常是不允許訪問內(nèi)核數(shù)據(jù)的,但是有時(shí)候用戶空間的進(jìn)程是需要獲得內(nèi)核的服務(wù)這個(gè)時(shí)候就需要系統(tǒng)調(diào)用來(lái)完成。
2、用戶編程接口(API)
????????系統(tǒng)調(diào)用不是直接和程序員交互的,它是通過軟中斷來(lái)向內(nèi)核提出請(qǐng)求,來(lái)獲得內(nèi)核的服務(wù)。在實(shí)際使用中,程序員使用的通常是用戶編程接口(API)。不是每一個(gè)API函數(shù)對(duì)應(yīng)一個(gè)系統(tǒng)調(diào)用,也可能是一個(gè)API對(duì)應(yīng)好幾個(gè)系統(tǒng)調(diào)用來(lái)完成一件事。
3、系統(tǒng)命令
????????系統(tǒng)命令是在用戶編程接口之上,它實(shí)際上是一個(gè)可執(zhí)行程序,內(nèi)部是引用了用戶編程接口(API)來(lái)實(shí)現(xiàn)相應(yīng)的功能。
4、三者之間關(guān)系圖

關(guān)系