时间:2024-06-22 21:02:35
系统调用与一般过程调用的区别
系统调用与一般过程调用的主要区别如下:
1. 运行状态不同:一般过程调用的调用和被调用过程都是用户程序,运行在同一系统状态下;而系统调用的调用过程是用户程序,运行在用户态,其被调用过程是系统过程,运行在系统态。
2. 进入方式不同:一般过程调用可以直接通过过程调用语句将控制转移到被调用过程;而执行系统调用时,由于调用和被调用过程处于不同系统状态,必须通过访管中断进入。
3. 代码层次不同:一般过程调用的被调用程序是用户级程序,而系统调用是操作系统中的代码程序,是系统级程序。
4. 系统调用是动态调用,程序中不包含被调用代码,其调用地址和返回地址都是不固定的;而一般过程调用是静态调用,被调用代码与调用代码在同一程序之内,其调用地址是固定的。
5. 与进程调度的关系不同:系统调用返回时,要进行重新调度的检查,看是否有更高优先级的任务就绪;而一般过程调用不涉及到进程调度。
6. 嵌套或递归调用:对系统调用,一般不允许在同一个进程中发生嵌套或递归。
《系统调用和过程调用的区别》不代表本网站观点,如有侵权请联系我们删除
精彩推荐
点击排行