系统调用(特别概念二)

来源:互联网 发布:淘宝网登陆入口 编辑:程序博客网 时间:2024/05/17 07:05

系统调用:指操作系统提供给用户程序调用的一组“特殊”接口。如,用户可以通过进程控制相关的系统调用来创建进程、实现进程调度、进程管理


1、系统调用跟函数

在C语言中,操作系统的系统调用是通过函数调用的形式完成,这些函数封装了系统调用的细节,将系统调用的入口、参数和返回值用C语言的函数调用过程实现

在Linux系统中,系统调用函数定义在glibc中

1)系统调用函数通常在成功时候返回0值,不成功时返回非零值。

2)许多系统调用的返回数据通常通过引用参数传递,需要在函数参数中传递缓冲区地址,返回数据就保存在该缓冲区中


2、系统调用跟模式

1)Linux系统定义了内核模式和用户模式。内核模式可以执行一些特权指令和进入用户模式。内核模式和用户模式分别使用自己的堆栈,在发生模式切换时要同时进行堆栈切换

2)系统调用规定:用户进程进入内核空间的具体位置,进行系统调用时,程序运行空间需要从用户空间进入内核空间,处理完毕后再返回到用户空间

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

0 0