[20][4][单选]下列对系统调用和一般过程调用的叙述中,哪一项是正确的
系统调用时,调用程序和被调用程序处于不同状态
一般过程调用时,调用程序和被调用程序处于不同状态
系统调用时,调用程序和被调用程序均处于用户态
一般过程调用时,调用程序和被调用程序均处于核心态
答案
系统调用时,调用程序和被调用程序处于不同状态
解析
系统调用在本质上是应用程序请求操作系统核心完成某一特定功能的一种过程调用,它与一般过程调用有以下几方面的区别:运行在不同的系统状态;一般过程调用,其调用程序和被调用程序运行在相同的状态,即核心态或用户态;而在系统调用中调用程序运行在用户态,而被调用程序运行在系统态。状态的转换:一般过程调用不涉及系统状态的转换,可直接由调用过程转向被调用过程,但在运行系统调用时,由于调用和被调用过程运行在不同状态,因而不允许由调用过程直接转向被调用过程,通常都是通过访管指令来实现状态的转换。返回问题:一般过程调用在被调用过程执行完后,将返回到调用过程继续执行;而系统调用在被调用过程执行完后,要对系统中所有要求运行的进程重新进行调度。故本题选择该选项。
涉及考点:第 2 章 操作系统运行机制
转载请注明出处。