Linux-系统调用理解

时间:2023-03-09 03:15:55
Linux-系统调用理解

系统调用即为Linux内核中设置的一组用于实现各种系统功能的子程序,操作系统通过系统调用为运行在其上的进程提供服务。

由于进程一般不能访问内核所占内存空间以及调用内核函数,为了与用户态进程进行交互,内核提供一组接口用于应用程序访问。Linux中系统调用是用户空间访问内核的唯一途径,除了异常和中断外,他们是访问内核的唯一入口。

当用户态进程发起一个系统调用,CPU切换到内核态并开始执行一个内核函数。内核函数负责响应应用程序的要求,比如文件操作、网络通讯或申请内存资源等。

系统调用过程如下:

用户级应用程序 ---> C库:INT 0x80(软中断指令) ---> system_call ---> 系统调用服务例程 --->内核