9、①系统调用:用户在程序中能用访管指令调用的,由操作系统提供的子功能集合,其中每一个子功能称为一个系统调用命令。
②用户程序使用系统调用后,为什么能从算态进入管态,返回用户程序后又从管态回到算态(系统调用的实现原理):系统调用中的访管指令的地址码可作为系统调用的功能号,它对应一个操作系统为用户提供的子功能或函数。
当用户程序需要调用系统功能时,就在其程序的适当位置安排一条系统调用命令,当执行到该指令时便产生访管中断,中断的硬件装置开始响应中断,保存原来的PSW到内存的固定单元,再从内存的另一个固定单元中取出新的PSW送入PSW寄存器。由于新PSW中已事先设置了系统状态为管态,从而使处理机进入管态,在管态下执行中断处理程序。
由于在管态下可以使用特权指令,所以用户要求操作系统提供的服务就很容易地被完成。中断处理程序结束后,通过恢复旧的PSW到PSW寄存器,于是又可返回到被中断的用户程序,即从管态又回到算态。
10、UNIX的系统调用的两种方式:
①直接系统调用
②间接系统调用。
它们各是怎样处理:
①直接系统调用除可使寄存器传递参数外,其它参数都跟在trap指令的后面
②间接系统调用跟随trap指令的是一个指向程序数据区的指针。该程序数据区内有一个直接系统调用trap指令,其后跟以除r0外的参数。