操作系统 -- 操作系统与人的接口

程序接口 : 

操作系统 -- 操作系统与人的接口

操作系统为正在运行的程序提供服务并与之通信的一个设施 。

 1 功能 : 装入并创建进程;对程序的正常或异常终止给出适当的响应;一个程序执行时,接受其对系统服务及资源的申请 。

 2 .由一系列的 系统调用 构成。系统调用并没有明确规定是以什么形式实现的,是库函数还是其它形式。库函数可以隐藏访管指令的细节,使系统调用更像过程调用。但一般地说,库函数属于用户程序而非系统调用程序

是OS 专门为用户程序设置的,也是用户程序取得OS 服务的唯一途径

系统调用 : 

操作系统 -- 操作系统与人的接口

用户在程序中调用OS 的子功能 (或者说 应用程序主动向系统发出服务请求 )

系统态和用户态

 1 为了保证系统程序不被应用程序有意无意地破坏, 计算机设置了两种状态 :系统态(或称为管态或核心态) 和 用户态(也称目态或算态)。

 2  操作系统在系统态运行 ,而应用程序只能在用户态运行。

 3  在实际应用中处理机会在系统态和用户态间切换 。

 4 相应地,现代多数操作系统将 CPU 的指令集分为特权指令和非特权指令两类。

         ①  特权指令,就是在系统态时运行的指令,是关系到系统全局的指令。

         ②  非特权指令是在用户态时运行的指令。

5 系统调用在本质上是应用程序请求OS 内核完成某功能时的一种过程调用,但它是一种特殊的过程调用。

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

         ②   状态的转换通过软中断进入。

         ③   返回时可能触发进程调度。

         ④  嵌套调用的深度往往有一定的限制。

         ⑤  系统调用是通过中断机制实现的,并且一个操作系统的所有系统调用都通过约定的个别中断入口来实现(如:INT 21H ) 

  基本调用过程  : 

操作系统 -- 操作系统与人的接口

       系统调用:就是用户在程序中使用“访管指令”调用由操作系统提供的子功能集合。其中每一个系统子功能称为一个系统调用命令,也叫广义指令。

执行过程 :  

   1 系统存在事先编好的这些程序或过程,它们是操作系统的一部分,不允许用户直接调用(广义指令,扩充机器指令).

      陷阱机构:类似硬中断的中断机构,用户发出系统调用指令之后,处理机执行到此时发生相应中断,并发出有关信号给该机构,该机构启动相应的处理程序去完成该系统调用相应的指令(虚拟机,逻辑处理机).
     陷阱/ 访管指令:由于系统调用引起处理机中断的指令,其中必须包含功能号和有关参数(中.断).

 2 系统设计人员还应为各种程序编制入口地址表.

      系统调用所需参数,或者参数区首地址装入指定寄存器后,启动系统调用.
    (目态 -> 管态 )保留现场,将功能号和一些参数或者参数区首地址放入约定单元根据功能号,访问入口表,得到子程序入地址.
   执行之后将参数或参数区首地址放入指定存储单元.
 (管态 -> 目态 )恢复现场,参数及参数区首地址放入寄存器.

操作系统 -- 操作系统与人的接口