第二章 操作系统结构A - 图文 联系客服

发布时间 : 星期日 文章第二章 操作系统结构A - 图文更新完毕开始阅读e416fd380912a2161479297d

图2.5 系统调用的处理过程

33/38

有关系统调用的另一个问题是参数传递问题。不同的系统调用需要传递给系统子程序以不同的参数。而且,系统调用的执行结果也要以参数形式返回给用户程序。那么,怎样实现用户程序和系统程序之间的参数传递呢?下面介绍几种常用的实现方法。一种是由陷阱指令自带参数。一般来说,一条陷阱指令的长度总是有限的,而且,该指令还要携带一个系统调用的功能号,从而,陷阱指令只能自带极有限的几个参数进入系统内部。另一种办法是通过使用有关通用寄存器来传递参数。显然,这些寄存器应是系统程序和用户程序都能访问的。不过,由于寄存器长度也是较短的。从而无法传递较多的参数。因此,在系统调用较多的系统中,大多在内存中开辟专用堆栈区来传递参数。

34/38

另外,在系统发生访管中断或陷阱中断时,为了不让用户程序不直接访问系统程序,反映处理机硬件状态的处理机状态字PSW中的相应位要从用户执行模式转换为系统执行模式。这一转换在发生访管中断时由硬件自动实现。一般把处理机在用户程序中执行称为用户态,而把处理机在系统程序中执行称为系统态。

35/38