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

1、系统调用

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

2、用户编程接口(API)

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

3、系统命令

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

4、三者之间关系图
关系
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,837评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,841评论 25 708
  • mysql sql执行时间查询 第一种: 开启profile 第二种:(通过时间差查看)
    很少更新了阅读 1,208评论 0 0
  • 今天是妈妈走了三周年的日子。妈妈是因为肺癌而离世的,临走前被病痛折磨得不成人形,她是那么一个能隐忍的人,却是最后...
    networdbaby阅读 281评论 0 1
  • 近两天,去观察自己的情绪,存在焦虑和不知所措感。细细想来,有比较多的琐事占据大脑,另外接下来也许即将面对一场新的局...
    冷杉喜阴阅读 215评论 0 0