操作系统(二):OS的运行机制和内核、中断


一、OS的运行机制和内核

操作系统(二):OS的运行机制和内核、中断

1.运行机制

操作系统(二):OS的运行机制和内核、中断
【两种指令】

  • 非特权指令
    如简单的加减乘除的普通运算指令

  • 特权指令
    如内存清零指令,影响严重,需要高级权限

【CPU的两种状态】
指令在哪里执行?在CPU里执行。而CPU在哪种什么状态才能执行哪种指令。

  • 用户态(目态)
    只能执行非特权指令

  • 核心态(管态)
    非特权指令、特权指令都有权限执行

操作系统(二):OS的运行机制和内核、中断

【两种程序】

  • 应用程序
    运行在用户态,则只能执行非特权指令

  • 内核程序
    运行在内核态,则非特权指令、特权指令都有权限执行。
    实现操作系统内核功能的那些程序就是内核程序。

2.OS内核的功能模块

操作系统(二):OS的运行机制和内核、中断
操作系统(二):OS的运行机制和内核、中断

  • 原语
    由若干条指令组成的程序段,具有原子性,在执行过程中不可被中断。

  • 内核功能与非内核功能
    OS内核需要运行在内核态,OS的非内核功能运行在用户态

3.内核分类

操作系统(二):OS的运行机制和内核、中断

  • 为什么微内核低效,大内核高效?
    因为变态的过程是有成本的,所以处于内核态的功能越多,变态的总代价就越少,即性能越高。

二、中断

1.中断的意义

操作系统(二):OS的运行机制和内核、中断

2.中断的过程

操作系统(二):OS的运行机制和内核、中断

  • 为什么中断发生时,CPU立即进入内核态?
    因为中断处理的功能模块需要运行在内核态,所以要先变态才能运行中断处理的功能模块。

3.中断的分类

操作系统(二):OS的运行机制和内核、中断
【分类依据:中断信号的来源】

  • 来自CPU内部(与CPU当前执行的指令有关)就是内中断
  • 来自CPU外部(与CPU当前执行的指令无关)就是外中断