操作系统【用户接口】命令解释程序的主要功能、系统调用与一般过程调用的不同之处、系统调用的参数传递方式、系统调用的处理步骤

操作系统 第九章 接口——用户接口   系统安全

命令解释程序:命令解释程序的主要功能;

系统调用:①系统调用与一般过程调用的不同之处②系统调用的参数传递方式③系统调用的处理步骤

命令解释程序的主要功能:

(1)等待用户输入。

(2)接收并识别命令。命令以回车符结束后,由终端处理程序提交给命令解释程序,由命令解释程序分析其合法性。

(3)执行相应的命令处理程序。内部命令的处理程序已经包含在命令解释程序中,直接进行处理;外部命令必须由命令解释程序

将命令指定程序装入内存,为之创建一个子进程后,由子进程完成相应的工作。

①系统调用与一般过程调用的不同之处:

(1)运行在不同的系统状态。一般的过程调用,调用过程和被调用过程运行在相同的状态——系统态或用户态。

系统调用的调用程序运行在用户态,被调用程序运行在系统态。

(2)通过软中断进入。

(3)返回问题。一般过程调用在被调用过程执行结束后,将直接返回到调用过程继续执行。系统调用采用抢占调度方式,在被调用过程执行后,必须对系统中所有要求运行的进程做优先权分析,只有当调用进程的优先权最高时,才返回到调用进程继续执行,否则将引起重新调度。

②系统调用的参数传递方式:

(1)将系统调用号和参数作为操作数直接包含在系统调用指令中。

(2)将系统调用号和参数存放在操作系统指定的寄存器中传递给系统。

(3)将参数存放在一张参数表中,将指向该参数表的指针作为系统调用指令的操作数或存放在每个指定的寄存器中传递给系统。

③系统调用的处理步骤:

(1)系统产生软中断(或陷入),由硬件进行现场保护,并通过中断向量转向系统调用总控程序,处理机的状态转系统态。

(2)系统调用总控程序进行系统调用的一般性处理,根据调用号和系统内部的系统调用入口表转入相应的系统调用处理子程序。

(3)在系统调用处理子程序执行完后,恢复被中断进程或新进程(若重新调度)的CPU现场,再返回被中断的进程或新进程,继续往下处理。

 

 

猜你喜欢

转载自blog.csdn.net/weixin_44949135/article/details/118117219