操作系统---(6)操作系统接口

操作系统中有专门响应用户控制要求的接口,负责系统与用户之间的双向信息传送
操作系统---(6)操作系统接口

(1)脱机命令接口——作业控制说明语言

  1. 批处理系统中,用户提交给系统的一个计算任务,就是一个作业
  2. 批作业=程序+数据+作业控制说明书
  3. 作业控制说明书由作业控制语言编写,也就是由一条条控制作业如何运行的命令组成。
  4. 作业控制说明语言是由-组作业控制命令组成的集合,专门用于批处理系统。

作业控制说明语言:

操作系统---(6)操作系统接口

(2)联机命令接口

  1. 命令行方式操作接口(键盘命令)
  2. 图形化界面(鼠标点击)
    终端用户使用的操作命令接口,主要实现人-机交互。用户通过终端命令或者鼠标点击来控制作业的运行。该类接口涉及的服务程序:
    • “终端处理程序”
    • 命令解释程序
    • “鼠标点击事件响应程序”
      Linux命令解释器shell执行流程
      操作系统---(6)操作系统接口

(3)程序级接口——系统调用

操作系统还提供一种适用于应用程序中的功能调用接口,叫做|系统调用(system call),允许用户在自己的应用程序中调用系统i中提供的一些功能模块。简单地说,系统调用就是应用程序要调用系统程序。

系统调用是应用程序获得操作系统服务的唯一途径。

为什么应用程序要进行系统调用呢?

系统指令:
特权指令
非特权指令

  • 特权指令是指那些直接管理控制系统资源和状态的指令,用错可能导致整个系统崩溃。比如:清内存、设置时钟等。
  • 只有系统程序才能执行特权指令,应用程序只能执行非特权指令。

系统调用的服务例程

  • 系统资源的分配、驱动、调度以及管理数据的检|索、修改等操作,是不能允许用户程序自行处理;的,否则系统就无安全性及管理控制之说了。
  • |操作系统以系统调用形式提供一系列实现预定底层功能的内核函数,每个系统调用都有写好的服务例程,每个服务例程有其入口地址。

(4)CPU的两种工作状态

  • 管态(系统态)
    执行系统程序的状态,允许执行所有命令
  • 目态(用户态)
    执行用户程序的状态,只允许执行非特权指令

系统调用前后

操作系统---(6)操作系统接口
访管指令是一条可以在目态下执行的指令,用户程序中凡是要调用操作系统功能时就安排一条访管指令。当处理器执行到访管指令时就产生一个中断事件(自愿中断),暂停用户程序的执行,而让操作系统来为用户服务。所以访管指令不是特权指令。