问题 问答题

系统调用的作用是什么请给出实现系统调用的步骤。

答案

参考答案:系统调用提供给程序一个操作系统接口,用户程序通过系统调用来使用操作系统的服务。系统调用分为三个阶段,分别是参数准备阶段、系统调用识别阶段、系统调用执行阶段。在参数准备阶段,需要使用系统服务的程序将系统调用所需要的参数压到栈上。然后,用户程序调用库函数(操作系统调用的程序语言包装)将所需系统调用的代码放在一个约定好的寄存器里,通过陷入(Trap,一种中断方式)将控制权交给操作系统,由此进入到第二个阶段。操作系统获得控制权后,将系统调用代码从特定寄存器里取出,与操作系统维护的一张系统调用表进行比较,获得用户所需系统调用的程序体所在的内存地址。之后跳到该地址,进入到第三个阶段,执行系统调用函数。系统调用执行完毕后返回到用户程序。

多项选择题
单项选择题