Linux系统调用、用户编程接口和系统命令区别

1、系统调用

        系统调用就是操作系统提供给用户程序调用的一组特殊的接口,用户程序可以通过这组特殊的接口来获取操作系统内核提供的服务。
为了保护内核空间,将程序的运行空间分为内核空间和用户空间,用户进程通常是不允许访问内核数据的,但是有时候用户空间的进程是需要获得内核的服务这个时候就需要系统调用来完成。

2、用户编程接口(API)

        系统调用不是直接和程序员交互的,它是通过软中断来向内核提出请求,来获得内核的服务。在实际使用中,程序员使用的通常是用户编程接口(API)。不是每一个API函数对应一个系统调用,也可能是一个API对应好几个系统调用来完成一件事。

3、系统命令

        系统命令是在用户编程接口之上,它实际上是一个可执行程序,内部是引用了用户编程接口(API)来实现相应的功能。

4、三者之间关系图
Linux系统调用、用户编程接口和系统命令区别_第1张图片
关系

你可能感兴趣的:(Linux系统调用、用户编程接口和系统命令区别)