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