1.4 操作系统的运行机制和体系结构
本节主要内容
1.运行机制
1.两种指令
1.特权指令
2.非特权指令
2.两种处理器状态
1.核心态
2.用户态
3.两种程序
1.内核程序
2.应用程序
2.操作系统内核
1.时钟管理
2.中断处理
3.原语
4.对系统资源进行管理的功能
1.进程管理
2.存储器管理
3.设备管理
3.操作系统的体系结构
1.大内核
2.微内核
操作系统的五大功能:处理机管理、存储管理、设备管理、文件系统管理、用户接口
预备知识:什么是指令?指令与代码的区别?
一条高级语言的代码翻译过来可能会对应多条指令
简单来说,“指令”就是处理器(CPU)能识别、执行的最基本命令
比如:加法指令就是让CPU进行加法运算
1.两种指令、两种处理器状态、两种程序
1.两种指令
有的指令“人畜无害”,比如加、减、乘、除这些普通的运算指令
有的指令有很高的权限,比如内存清零指令。
所以指令分为两种
1.特权指令:如用户清零指令(不允许用户程序使用)
2.非特权指令:如普通的运算指令
2.两种处理器状态
CPU怎么判断当前是否可以执行特权指令?
为此规定了两种处理器状态
1.用户态(目态)此时CPU只能执行非特权指令
2.核心态(管态)特权指令、非特权指令都可以执行
这两种状态用程序状态字寄存器(PSW)中的某标志位,
来标识当前处理器处于什么状态。如0为用户态,1为核心态
3.内核程序和应用程序
1.内核程序
操作系统的内核程序是系统的管理者,既可以执行特权指令,也可以执行非特权指令
运行在核心态。
2.应用程序
为了保证系统能安全运行,普通应用程序只能执行非特权指令,运行在用户态
2.操作系统哪些功能应该由内核程序实现?
1.计算机系统的层次结构
2.操作系统的内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分
实现操作系统内核功能的那些程序就是内核程序
1.时钟管理:实现计时功能
2.中断处理:负责实现中断机制
3.原语
1.是一种特殊的程序
2.处于操作系统最低层,是最接近硬件的部分
3.这种程序的运行具有原子性--其运行只能一气呵成,不可中断
4.运行时间较短、频繁调用
前三种内核功能是与硬件关联较紧密的模块
4.对系统资源进行管理的功能
1.进程管理
2.存储器管理
3.设备管理
第四个功能,有的操作系统并不把它归为“内核功能”。
也就是说,不同的操作系统,对内核功能的划分可能不同。
3.操作系统的体系结构
大内核和微内核
1.大内核:
包含四种功能(时钟管理、中断处理、原语、对系统资源进行管理)
1.将操作系统的主要功能模块都作为系统内核,运行在核心态
2.优点:高性能
3.缺点:内核代码庞大,结构混乱,难以维护
2.微内核
包含三种功能(时钟管理、中断处理、原语)
1.只把最基本的功能保留在内核
2.优点:内核功能少,结构清晰,方便维护
3.缺点:需要频繁地在核心态和用户态之间切换,性能低
3.类比示例