理解Linux下的系统调用及用户编程接口(API)

一、什么是系统调用


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


二、Linux系统的保护机制


    为了对系统提供保护,Linux系统定义了内核模式和用户模式。内核模式可以执行一些特权指令和进入用户模式,而用户模式则不能。内核模式与用户模式分别使用自己的堆栈,当发生模式切换的时候同时要进行堆栈的切换。]


    同样的,Linux将程序的运行空间也分为内核空间和用户空间,它们分别运行在不同的级别上,在逻辑上是相互隔离的。系统调用规定用户进程进入内核空间的具体位置。进行系统调用时,程序运行空间需要从用户空间进入内核空间,处理完毕后再返回到用户空间。


    系统调用对于内核来说就相当于函数,我们是关键问题是从用户模式到内核模式的转换、堆栈的切换以及参数的传递。


    Linux的系统调用按照功能逻辑大致分为进程控制、进程间通信、文件系统控制、系统控制、存储管理、网络管理、Socket控制、用户管理等几类,具体见附录。


三、用户命令、用户编程接口(API)和系统调用之间的关系



 


 


四、附录


Linux系统调用列表


http://www.ibm.com/developerworks/cn/linux/kernel/syscall/part1/appendix.html


五、参考


嵌入式Linux应用开发程序详解   第六章


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值