一,操作系统的体系结构
- 内核
- 内核是操作系统最基本、最核心的部分,实现操作系统内核功能的那些程序就是内核程序
- 这其中:时钟、中断、原语是与硬件关联最紧密的模块,而进程管理、存储器管理、设备管理更多的是对数据结构的操作,不会直接涉及硬件
- 两种设计CPU内核的方式
- 对微内核来说:时钟、中断、原语属于内核,需要运行在内核态,而进程管理、存储器管理、设备管理属于非内核,需要运行在用户态
- 大内核和微内核在涉及进程管理、存储器管理、设备管理的操作时,会进行不同次数的状态转变,而CPU的状态转换是有成本的,需要消耗不少时间,频繁的状态转换会降低系统性能
- 综上:
二,体系结构的扩展知识
三,操作系统引导过程(开机过程)
四,虚拟机
- 两类虚拟机的示例图
- 两类虚拟机的对比
- 第一类VMM资源分配时,比如会直接将连续的、未经抽象的物理空间分配给Guest OS。而第二类VMM在资源分配时,比如会先向Host OS申请一个大文件,并由Host OS分配一个抽象过的虚拟空间给VMM,再由VMM再次抽象该虚拟空间,并分配给Guest OS
- 现在的CPU会将特权指令分级,将敏感的特权指令放在Ring 0,第一类VMM运行在最高特权级Ring 0,可以使用最高特权指令,那么该VMM就只会关心Guest OS 请求的最高特权指令,提高了效率。而第二类VMM运行在用户态,Guest OS请求的大部分特权指令都会被VMM截获,再由VMM分离出最高特权指令向Host OS发出请求