操作系统的运行机制

操作系统的运行机制涉及到内核程序与应用程序的区别、指令的特权级别、处理器的状态切换等关键概念。

1. 两种程序

  • 内核程序(Kernel Programs):

    • 作用: 组成操作系统的内核(Kernel)。内核程序负责管理系统的硬件资源、执行低级操作、提供系统服务等。它们在操作系统中处于核心位置,直接与硬件交互。
    • 特权指令: 内核程序可以执行特权指令,这些指令是操作系统操作硬件和管理资源时必须用到的。
  • 应用程序(User Programs):

    • 作用: 用户直接运行的程序,如文本编辑器、浏览器等。应用程序的功能依赖于操作系统提供的服务和资源。
    • 指令限制: 只能执行非特权指令,不能直接访问硬件或执行涉及系统安全和稳定性的操作。如果应用程序尝试执行特权指令,系统会通过中断机制处理这个错误。

2. 两种指令

指令定义:定义:“指令”就是处理器(CPU)能识别、执行的最基本命令(机器指令)

特权指令(Privileged Instructions):

  • 定义: 特权指令是只有在内核态下才能执行的指令。这些指令用于控制硬件、修改系统状态等操作。例如,访问硬件寄存器或管理内存的操作。

    • 作用: 确保系统的稳定性和安全性,防止应用程序执行可能破坏系统的操作。

非特权指令(Non-privileged Instructions):

  • 定义: 应用程序在用户态下只能执行的指令,这些指令不涉及直接操作硬件或修改系统状态。
    • 作用: 保持系统的安全性和稳定性,防止应用程序对系统造成不良影响。

区别:在CPU设计和生产的时候就划分了特权指令和 非特权指令,因此CPU执行一条指令前就能判 断出其类型

3. 两种处理器状态

  • 内核态(Kernel Mode):

    • 定义: 当处理器处于内核态时,说明当前正在执行的是操作系统内核程序,能够执行特权指令。
    • 特征: 具有最高的权限,能够直接访问硬件和操作系统资源。
    • 状态切换: 通常由操作系统启动时设置为内核态,确保系统的基本功能可以正常运行。
  • 用户态(User Mode):

    • 定义: 当处理器处于用户态时,说明当前正在执行的是应用程序,不能执行特权指令。
    • 特征: 权限较低,不能直接访问硬件或执行系统管理操作。
    • 状态切换: 应用程序运行时处于用户态,以保证系统的安全和稳定。

4. 状态切换(变态)

  • 内核态到用户态:

    • 触发机制: 通过执行特定的指令或系统调用来进行切换。这通常是由操作系统主动完成的,例如在进程调度时,操作系统会将控制权从内核转回到用户应用程序。
  • 用户态到内核态:

    • 触发机制: 由中断或系统调用触发。当应用程序请求操作系统服务时(例如进行文件读写操作),处理器会自动从用户态切换到内核态,以便执行特权操作。
    • 硬件自动完成: CPU通过检测到的中断信号或系统调用指令,自动切换到内核态。

5. 程序状态字寄存器(PSW)

  • 作用: PSW(Program Status Word)是一个寄存器,存储处理器的状态信息,包括当前的处理器模式(内核态或用户态)。
    • 内核态: PSW中的相关标志位被设置为1。
    • 用户态: PSW中的相关标志位被设置为0。

6. 内核(Kernel)

  • 定义: 内核是操作系统的核心部分,负责直接与硬件进行交互,管理系统资源和提供基本服务。可以认为操作系统的核心功能都集中在内核中。
  • GUI不在内核: 图形用户界面(GUI)通常不是内核的一部分,它是运行在用户态的应用程序。
  • 组成: 内核由多个内核程序组成,这些程序共同管理系统的硬件资源和提供系统功能。

你可能感兴趣的:(操作系统,操作系统)