1.运行机制
什么是指令, “指令”和“代码”有什么区别?
比如:C语言指令代码源文件经过编译后变成机器语言指令,而一条高级语言的代码可能对应着多条指令。
简而言之,“指令”就是CPU能够处理和执行的最基本的命令,就是让CPU干一件具体的事情。
(1)两种指令:
- 特权指令:如内存清零指令(不允许用户程序使用)
- 非特权指令:如普通的运算指令
问:CPU怎样执行特权指令?
(2)两种处理器状态:
- 用户态(目态):在该状态下CPU只能执行非特权指令。
- 核心态(管态):在该状态下特权指令和非特权指令都可以执行。
在CPU中存在一个用户程序状态寄存器(PSW),在其中的某一个标志位来标识当前处理器处于什么状态。如0为用户态,1为核心态。
(3)两种程序:
- 内核程序:操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令,运行在核心态。
- 应用程序:为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态。
2.操作系统内核
[
内核是计算机配置上的底层软件,是操作系统最基本,最核心的部分。
实现操作系统内核功能的哪些程序就是内核程序。
操作系统内核包括:
- 时钟管理:实现计时功能。
- 中断处理:负责实现中断机制
- 原语:
- 是一种特殊的程序
- 处于操作系统最底层、最接近硬件的部分
- 这种运行的程序具有原子性,其运行过程不可中断
- 运行时间较短,调用频繁
- 对系统资源进行管理的功能:
- 进程管理
- 存储管理
- 设备管理
内核又可被分为:大内核和**微内核。**如果内核中包含存储管理,进程管理,设备管理等功能的就被叫做大内核,只包含最基本如时钟管理,中断处理,原语等的就被叫做微内核。
3.操作系统的体系结构
操作系统的体系结构:
- 大内核
- 将操作系统的主要功能模块都作为系统内核,运行在核心态
- 优点:高性能
- 缺点:内核代码庞大,结构混乱,难以维护
- 微内核
- 只把最基本的功能保留在内核
- 优点:内核功能少,结构清晰,方便维护
- 缺点:需要频繁的在核心态和用户态之间切换,性能低
比如: