工学

问答题试比较一般的过程调用和系统调用?

题目
问答题
试比较一般的过程调用和系统调用?
参考答案和解析
正确答案: 系统调用本质上是过程调用的一种特殊形式,与一般过程调用有差别:
(1)运行状态不同。一般过程调用的调用过程和被调用过程均为用户程序,或者均为系统程序,运行在同一系统状态(用户态或系统态);系统调用的调用过程是用户态下的用户程序,被调用过程是系统态下的系统程序。
(2)软中断进入机制。一般的过程调用可直接由调用过程转向被调用过程;而系统调用不允许由调用过程直接转向被调用过程,一般通过软中断机制,先进入操作系统内核,经内核分析后,才能转向相应命令处理程序。
(3)返回及重新调度。一般过程调用在被调用结束后,返回调用点继续执行;系统调用被调用完后,要对系统中所有运行进程重新调度。只有当调用进程仍具有最高优先权才返回调用过程继续执行。
(4)嵌套调用。一般过程和系统调用都允许嵌套调用,注意系统过程嵌套而非用户过程。
解析: 暂无解析
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

简述用户如何利用系统调用,以及系统在执行系统调用时的工作过程。


参考答案:现代计算机系统都有一条“访管指令”,这是一条可在目态下执行的指令,用户程序中凡是要调用操作系统功能时,就安排一条访管指令并设置一些参数。当处理器执行到访管指令时就产生一个中断事件,实现用户程序与系统调用程序之间的转换,系统调用程序按规定的参数实现调用功能,当一次系统调用结束后再返回到用户程序。
当用户程序执行到访管指令产生一次中断后,把操作系统程序的PSW送入程序状态字寄存器,使机器在原来目态下执行用户程序变成在管态下执行操作系统的系统调用程序。一次系统调用功能完成后,操作系统又把用户的PSW重新送入程序状态字寄存器,使机器又返回到目态下执行用户程序。

第2题:

试比较-般的过程调用与系统调用。


答案:系统调用本质上是过程调用的一种特殊形式,与一般过程调用有差别:(1)运行状态不同。一般过程调用的调用过程和被调用过程均为用户程序,或.者均为系统程序,运行在同一系统状态(用户态或系统态);系统调用的调用过程是用户态下的用户程序,被调用过程是系统态下的系统程序。(2)软中断进入机制。一般的过程调用可直接由调用过程转向被调用过程;而系统调用不允许由调用过程直接转向被调用过程,一般通过软中断机制,先进入操作系统内核,经内核分析后,才能转向相应命令处理程序。(3)返回及重新调度。一般过程调用在被调用结束后,返回调用点继续执行;系统调用被调用完后,要对系统中所有运行进程重新调度。只有当调用进程仍具有最高优先权才返回调用过程继续执行。嵌套调用。一般过程和系统调用都允许嵌套调用,注意系统过程嵌套而非用户过程。

第3题:

下面是汇编语言程序设计中关于过程调用和宏调用的叙述,其中错误的是:

A.调用方法相同,都是在程序执行过程中调用具有某种功能的目标程序,然后再通过执行RET指令返回主程序

B.过程调用的执行速度比宏调用慢

C.宏调用一般比过程调用占用较多的内存空间

D.过程调用时主程序和子程序之间的信息传递没有宏调用时传递信息方便


正确答案:A
解析:过程调用和宏调用从实现方式上是完全不同的,宏调用是通过拷贝目标代码来实现的,过程调用是通过转移执行位置来实现的。

第4题:

试说明特权指令和系统调用之间的区别与联系。


正确答案: 特权指令是一类只能在核心态下执行的机器指令。而系统调用不是机器指令,它往往以函数调用的形式出现,实现操作系统提供的子功能,它是操作系统与用户的编程接口。在用户程序中可以使用系统调用来获得操作系统服务,在系统调用代码中可以使用特权指令

第5题:

试比较一般的过程调用和系统调用?


正确答案: 系统调用本质上是过程调用的一种特殊形式,与一般过程调用有差别:
(1)运行状态不同。一般过程调用的调用过程和被调用过程均为用户程序,或者均为系统程序,运行在同一系统状态(用户态或系统态);系统调用的调用过程是用户态下的用户程序,被调用过程是系统态下的系统程序。
(2)软中断进入机制。一般的过程调用可直接由调用过程转向被调用过程;而系统调用不允许由调用过程直接转向被调用过程,一般通过软中断机制,先进入操作系统内核,经内核分析后,才能转向相应命令处理程序。
(3)返回及重新调度。一般过程调用在被调用结束后,返回调用点继续执行;系统调用被调用完后,要对系统中所有运行进程重新调度。只有当调用进程仍具有最高优先权才返回调用过程继续执行。
(4)嵌套调用。一般过程和系统调用都允许嵌套调用,注意系统过程嵌套而非用户过程。

第6题:

编写程序时通常会使用过程调用和系统调用,下列选项中,系统调用不能实现的功能是

A.从当前程序跳转到调用程序

B.调用程序多次嵌套与递归

C.调用程序一般与当前程序有关

D.调用结束后返回原程序


正确答案:B

第7题:

系统调用的调用过程是通过用户程序,运行在用户态,而被调用的过程是运行在核心态下。


正确答案:正确

第8题:

在一般的过程调用中,其调用程序和被调用程序都运行在相同的状态,即系统态和用户态。()


参考答案:正确

第9题:

下列构造方法的调用方式中,正确的是()。

  • A、按照一般方法调用
  • B、由用户直接调用
  • C、只能通过 new 自动调用
  • D、被系统调用

正确答案:C

第10题:

系统调用与过程调用在功能及实现上有什么相同点和不同点?


正确答案: 相同点:两者都由程序代码构成,可直接用高级程序设计语言(如C,C++和Perl语言)来编制;使用方式相同——以函数调用的形式出现,调用时传送参数。
不同点:
①代码层次不同,过程调用不属于操作系统的一部分,而系统调用是操作系统的一部分。
②运行状态不同。过程调用只能在用户态下运行,不能进入核心态,而系统调用是在核心态下运行的。
③进入方式不同。过程调用在用户程序中调用,并直接在用户空间内执行;而系统调用可以在用户程序中调用,但是在用户程序中执行到系统调用时,会产生异常事件。实现处理机状态从用户态到核心态的转变,从而进入操作系统核心空间去执行系统调用的代码。