系统调用和一般用户函数调用的区别
1个回答
2023-04-10 · 百度认证:IT168官方账号,优质数码领域创作者
关注
展开全部
具体区别如下。
函数调用是调用函数库中的一个程序,而系统调用是调用系统内核的服务。函数调用是与用户程序相联系,而系统调用是操作系统的一个进入点。函数调用是在用户地址空间执行,而系统调用是在内核地址空间执行。函数调用的运行时间属于「用户」时间,而系统调用的运行时间属于「系统」时间。函数调用属于过程调用,开销较小,而系统调用需要切换到内核上下文环境然后切换回来,开销较大。
由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(ApplicationProgrammingInterface,API)。是应用程序同系统之间的接口。用户在程序的中调用操作系统中的功能子模块。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。系统调用的调用过程和被调用过程运行在不同的状态,而普通的过程调用一般运行在相同的状态。系统调用必须通过软中断机制首先进入系统核心,然后才能转向相应的命令处理程序。
函数调用是调用函数库中的一个程序,而系统调用是调用系统内核的服务。函数调用是与用户程序相联系,而系统调用是操作系统的一个进入点。函数调用是在用户地址空间执行,而系统调用是在内核地址空间执行。函数调用的运行时间属于「用户」时间,而系统调用的运行时间属于「系统」时间。函数调用属于过程调用,开销较小,而系统调用需要切换到内核上下文环境然后切换回来,开销较大。
由操作系统实现提供的所有系统调用所构成的集合即程序接口或应用编程接口(ApplicationProgrammingInterface,API)。是应用程序同系统之间的接口。用户在程序的中调用操作系统中的功能子模块。系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序。系统调用的调用过程和被调用过程运行在不同的状态,而普通的过程调用一般运行在相同的状态。系统调用必须通过软中断机制首先进入系统核心,然后才能转向相应的命令处理程序。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询