【Linux基础】系统调用

来源:互联网 发布:天猫魔盒连不上网络 编辑:程序博客网 时间:2024/06/05 18:16
我们用很少量的函数就可以对文件和设备进行访问和控制。这些函数被称为系统调用,由Linux系统直接提供,它们也是通向操作系统本身的接口。
Linux系统调用部分是非常精简的系统调用(只有250个左右)),它继承了UNIX系统调用中最基本和最有用的部分。这些系统调用按照功能逻辑大致可分为进程控制、进程间通信、文件系统控制、系统控制、存储管理、网络管理、socket控制、用户管理等几类。
所谓系统调用是指操作系统提供给用户程序调用的一组“特殊”接口,用户程序可以通过这组“特殊”接口来获得操作系统内核提供的服务。为什么用户程序不能直接访问系统内核提供的服务呢?这是由于在Linux中,为了更好地保护内核空间,将程序的运行空间分为内核空间和用户空间(也就是常称的内核态和用户态),它们分别运行在不同的级别上,在逻辑上是相互隔离的。因此,用户进程在通常情况下不允许访问内核数据,也无法使用内核函数,它们只能在用户空间操作用户数据,调用用户空间的函数。
但是,在有些情况下,用户空间的进程需要获得一定的系统服务(调用内核空间程序),这时操作系统就必须利用系统提供给用户的“特殊接口”——系统调用规定用户进程进入内核空间的具体位置。进行系统调用时,程序运行空间需要从用户空间进入内核空间,处理完后再返回到用户空间。
 
本文转载于唯C教育,【Linux基础】系统调用
http://www.weicedu.com/forum.php?mod=viewthread&tid=98&fromuid=4
(出处: http://www.weicedu.com/)
原创粉丝点击