网友您好, 请在下方输入框内输入要搜索的题目:
题目内容
(请给出正确答案)
简述系统调用的执行过程。
参考答案和解析
系统调用的具体格式因系统而异但从用户程序进入系统调用程序的步骤及其执行过程(如图7.5所示)来看却大致相同。系统调用的处理过程如下: (1)提供系统调用号和必要的参数。用户程序必须根据其所欲获得的操作系统服务向系统调用处理程序提供相应的系统调用号和必要的参数(如打开文件系统调用中的文件路径名和打开的方式等)。 (2)执行系统调用指令。通过执行CPU提供的系统调用指令(如Intel 80X86中的INT21H指令)产生软中断(或陷入)从而由硬件进行现场保护并根据中断向量将CPU的控制转向系统调用总控程序同时CPU的状态将从用户态转向系统态。 (3)调用相应的系统调用处理子程序。系统调用总控程序将进行系统调用的一般性处理如保存某些通用寄存器的值并根据系统调用号和系统内部设置的系统调用入口表转向相应的系统调用处理子程序完成特殊的功能请求。 (4)返回执行结果。在系统调用处理子程序执行完后系统要把执行是否成功以及成功时的执行结果返回给调用者并有可能进行CPU的重新调度最后通过中断返回指令恢复执行系统调用的用户进程或新进程的现场继续往下执行。 系统调用的具体格式因系统而异,但从用户程序进入系统调用程序的步骤及其执行过程(如图7.5所示)来看,却大致相同。系统调用的处理过程如下:(1)提供系统调用号和必要的参数。用户程序必须根据其所欲获得的操作系统服务向系统调用处理程序提供相应的系统调用号和必要的参数(如打开文件系统调用中的文件路径名和打开的方式等)。(2)执行系统调用指令。通过执行CPU提供的系统调用指令(如Intel80X86中的INT21H指令)产生软中断(或陷入),从而由硬件进行现场保护,并根据中断向量将CPU的控制转向系统调用总控程序,同时,CPU的状态将从用户态转向系统态。(3)调用相应的系统调用处理子程序。系统调用总控程序将进行系统调用的一般性处理,如保存某些通用寄存器的值,并根据系统调用号和系统内部设置的系统调用入口表转向相应的系统调用处理子程序完成特殊的功能请求。(4)返回执行结果。在系统调用处理子程序执行完后,系统要把执行是否成功,以及成功时的执行结果返回给调用者,并有可能进行CPU的重新调度,最后,通过中断返回指令恢复执行系统调用的用户进程或新进程的现场,继续往下执行。
更多 “简述系统调用的执行过程。” 相关考题
考题
下列关于CallableStatement对象的说法哪些是正确的?()
A、CallableStatement对象用于执行对数据库已存储过程的调用。B、CallableStatement对象中,有一个通用的成员方法call,这个方法用于以名称的方式调用数据库中的存储过程。C、在数据库调用过程中,可以通过设置IN参数向调用的存储过程提供执行所需的参数。D、在存储过程的调用中,通过OUT参数获取存储过程的执行结果。E、CallableStatement对象用于执行对数据库所有的调用。
考题
下面是汇编语言程序设计中关于过程调用和宏调用的叙述,其中错误的是:A.调用方法相同,都是在程序执行过程中调用具有某种功能的目标程序,然后再通过执行RET指令返回主程序B.过程调用的执行速度比宏调用慢C.宏调用一般比过程调用占用较多的内存空间D.过程调用时主程序和子程序之间的信息传递没有宏调用时传递信息方便
考题
下列关于宏指令与过程的区别,错误的描述是()
A.过程调用会降低程序的执行速度,而宏调用有较快的执行速度。B.过程调用需要保留程序的断点和现场,待过程执行完毕还要恢复现场;宏汇编则不需要进行这些操作,因而有较快的执行速度。C.过程调用中不能有效地缩短目标代码的长度。宏调用能缩短目标代码的长度。D.每次宏调用时允许修改有关的参数。使得同一条宏指令在各次调用过程中可完成不同的操作,而过程一旦被定义,一般不允许修改
考题
下面是关于过程调用和宏调用的叙述,其中( )是正确的。A.程序执行的方法相同,都是调用预先编制的程序代码段B.过程调用比宏调用方便、灵活,应用更广泛C.宏调用比过程调用执行速度快,但占用较大的内存空间D.过程调用比宏调用速度快,但占用较大的内存空间
考题
在下列机制中,(请作答此空)是指过程调用和响应调用所需执行的代码在运行时加以结合;而( )是过程调用和响应调用所需执行的代码在编译时加以结合。A.消息传递
B.类型检查
C.静态绑定
D.动态绑定
考题
绑定是一个把过程调用和响应调用所需要执行的代码加以结合的过程。绑定可在编译时进行,也可在运行时进行。若一个给定的过程调用和执行代码的结合直到调用发生时才进行,这种绑定称为()。A、静态绑定B、动态绑定C、过载绑定D、强制绑定
考题
系统调用与一般过程调用是不同的,下列对它们的调用程序和被调用程序的描述中,哪一个是正确的?()A、过程调用和系统调用的调用程序和被调用程序均位于核心态B、过程调用和系统调用的调用程序和被调用程序均位于用户态C、过程调用时调用程序位于用户态,被调用程序位于核心态D、系统调用时调用程序位于用户态,被调用程序位于核心态
考题
单选题以下关于过程叙述中正确的是()A
使用Call语句能调用Sub子过程,也能调用Function函数过程B
子过程名和函数过程名都有值,也都有类型C
过程的递归调用不能提高程序的执行效率D
Sub子过程必须使用Call语句调用
考题
单选题函数和过程的区别为()。A
函数执行后返回一个值,而过程不需返回值B
过程执行后返回一个值,而函数不需返回值C
过程在被调用时,能执行某种特殊功能并能返回到调用它的地方D
函数在被调用时,能执行某种特殊功能并能返回到调用它的地方
考题
单选题系统调用与一般过程调用是不同的,下列对它们的调用程序和被调用程序的描述中,哪一个是正确的?()A
过程调用和系统调用的调用程序和被调用程序均位于核心态B
过程调用和系统调用的调用程序和被调用程序均位于用户态C
过程调用时调用程序位于用户态,被调用程序位于核心态D
系统调用时调用程序位于用户态,被调用程序位于核心态
考题
单选题在内核中首先执行()函数,接着根据系统调用号在系统调用表中查找到对应的系统调用服务例程。A
initB
system_initC
system_callD
system_msg
热门标签
最新试卷