打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Linux系统调用及用户编程接口(API)
Linux系统调用及用户编程接口(API)
2010-09-13 23:42

1:系统调用:

系统调用是值操作系统提供给用户程序调用的一组“特殊”编程接口,用户程序可以通过这组“特殊”接口获得操作系统内核提供的服务。例如,用户可以通过进程控制相关的系统调用来创建进程,实现进程调度,进程管理等!

Linux中,为了更好地保护内核空间,将程序运行空间分为内核空间和用户空间(也就是常说的内核态和用户态),它们分别运行在不同的级别上,逻辑上相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,他们只能在用户空间访问用户数据,调用用户空间的函数。

但是,在有些情况下,用户空间的进程需要的进程需要获得一定的系统服务(调用内核空间的程序),这时操作系统就必须调用系统为用户提供的“特殊接口”-系统调用规定用户进程进入内核空间的具体位置。进行系统调用时,程序运行空间需要从用户空间进入内核空间,处理完后在返回内核空间。

系统调用按照功能逻辑可以分为:进程控制,进程间通信,文件系统控制,系统控制,存储管理,网络管理,socket控制,用户管理等。

2:用户编程接口(API

系统调用不直接与程序员进行交互,它仅仅是一个软中断机制向内核提交请求以获得内核服务的接口。实际使用中程序员调用的通常是用户编程接口-API

例如,获取进程号的API函数getpid()对应getpid系统调用。但并不是所有的函数都对应一个系统调用,有时,一个API函数会需要几个系统调用来共同完成函数的功能,甚至有一些API函数不需要相应的系统调用(因此它所完成的不是内核提同的服务)。

Linux中用户编程接口(API)遵循了在UNIX中最流行的应用编程界面标准-POSIX标准。

这些系统调用编程接口主要是通过C库(libc)实现的。

3:系统命令

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

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
彻底理解操作系统与内核的区别!
linux内核分析笔记----系统调用
系统调用 与 系统API
经典Linux/UNIX必读书单推荐给你
今天给大家讲解一下Linux系统调度
linux系统调用机制分析
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服