1.运行机制

什么是指令, “指令”和“代码”有什么区别?

比如:C语言指令代码源文件经过编译后变成机器语言指令,而一条高级语言的代码可能对应着多条指令。

简而言之,“指令”就是CPU能够处理和执行的最基本的命令,就是让CPU干一件具体的事情。

(1)两种指令:

  • 特权指令:如内存清零指令(不允许用户程序使用)
  • 非特权指令:如普通的运算指令

问:CPU怎样执行特权指令?

(2)两种处理器状态:

  • 用户态(目态):在该状态下CPU只能执行非特权指令。
  • 核心态(管态):在该状态下特权指令和非特权指令都可以执行。

在CPU中存在一个用户程序状态寄存器(PSW),在其中的某一个标志位来标识当前处理器处于什么状态。如0为用户态,1为核心态。

(3)两种程序:

  • 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态
  • 应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态

2.操作系统内核

[LANsi9.md.png

内核是计算机配置上的底层软件,是操作系统最基本,最核心的部分。

实现操作系统内核功能的哪些程序就是内核程序

操作系统内核包括:

  1. 时钟管理:实现计时功能。
  2. 中断处理:负责实现中断机制
  3. 原语
    • 是一种特殊的程序
    • 处于操作系统最底层、最接近硬件的部分
    • 这种运行的程序具有原子性,其运行过程不可中断
    • 运行时间较短,调用频繁
  4. 对系统资源进行管理的功能
    • 进程管理
    • 存储管理
    • 设备管理

内核又可被分为:大内核和**微内核。**如果内核中包含存储管理,进程管理,设备管理等功能的就被叫做大内核,只包含最基本如时钟管理,中断处理,原语等的就被叫做微内核。

3.操作系统的体系结构

操作系统的体系结构:

  1. 大内核
    • 将操作系统的主要功能模块都作为系统内核,运行在核心态
    • 优点:高性能
    • 缺点:内核代码庞大,结构混乱,难以维护
  2. 微内核
    • 只把最基本的功能保留在内核
    • 优点:内核功能少,结构清晰,方便维护
    • 缺点:需要频繁的在核心态和用户态之间切换,性能低

比如:

比喻