当前位置:首页 > 文章 > 四级网络工程师 > 正文内容

系统调用与一般过程调用是不同的,下列对被调用程序返回调用程序的描述中,哪一个是正确的

四级网络工程师3个月前 (06-15)


过程调用和系统调用均直接从被调用程序返回到调用程序

过程调用和系统调用从被调用程序返回到调用程序前,须先运行调度程序

系统调用直接返回到调用程序,过程调用在返回到调用程序前先运行调度程序

过程调用直接返回到调用程序,系统调用在返回到调用程序前先运行调度程序

答案    

过程调用直接返回到调用程序,系统调用在返回到调用程序前先运行调度程序


解析    


系统调用与一般过程调用在返回机制上确实存在不同。根据参考文章中的信息,我们可以清晰地比较两者的返回机制:


一般过程调用(即函数调用):

过程调用是在相同状态(用户态或核心态)下进行的,不涉及用户态到核心态的切换。

过程调用在被调用者执行完后,会直接返回到调用者的断点处继续执行。

不需要运行额外的调度程序,除非是在并发或多任务环境中,操作系统可能会进行进程调度。

系统调用:

系统调用是用户态程序请求操作系统服务的一种方式,需要通过陷入机制(如软中断)从用户态切换到核心态。

在系统调用处理结束后,由于可能涉及进程状态的变化(如进程切换、I/O操作等),操作系统可能会根据需要进行调度。

因此,系统调用在返回到调用程序前,可能会先运行调度程序。

现在,我们根据给出的选项进行分析:


过程调用和系统调用均直接从被调用程序返回到调用程序:这是不正确的,因为系统调用可能会涉及调度。

过程调用和系统调用从被调用程序返回到调用程序前,须先运行调度程序:这同样不正确,因为过程调用通常不会先运行调度程序。

系统调用直接返回到调用程序,过程调用在返回到调用程序前先运行调度程序:这不符合事实,因为系统调用可能涉及调度,而过程调用不会。

过程调用直接返回到调用程序,系统调用在返回到调用程序前先运行调度程序:这是正确的描述。

归纳:


过程调用(一般过程调用)在被调用者执行完后,会直接返回到调用者的断点处继续执行,不会先运行调度程序。

系统调用在返回到调用程序前,可能会因为进程状态的变化而先运行调度程序。

因此,正确的描述是:“过程调用直接返回到调用程序,系统调用在返回到调用程序前先运行调度程序”。




相关文章

现代操作系统的基本特征是

并发性顺序性封闭性并行性答案    并发性    (扩展...

采用多道程序设计技术,能有效地提高系统的下列哪一个性能

并发灵活可靠兼容答案    并发解析    采用多道...

在组成计算机系统的各类资源中,主要包含有硬件部件以及

代码和数据键盘鼠标和显示器操作系统各类应用软件答案    代码和数据解析...

从计算机系统发展角度来看,操作系统的主要作用是提供

人机交互接口软件开发基础第一道安全防线虚拟机和扩展机答案    虚拟机和扩展...

操作系统作为系统软件,位于软件系统的哪一层面

硬件之上,支撑软件之下支撑软件之下,应用软件之下应用软件之上,支撑软件之下硬件之上,软件系统之下答案...

并发性是操作系统的特征之一。下列描述的四种现象中,哪一种具有“并发性”

在单处理器环境下,两个程序交替在 CPU 上运行在单处理器环境下,两个程序交替使用同一台打印机在多处...