操作系统结构与引导、虚拟机
操作系统结构与引导、虚拟机
分层式结构简化了系统的设计和实现,每层只能调用紧邻它的低层的功能和服务,便于系统的调试和验证
- 在调试某层时发现错误,那么错误应在这层上,这是因为其低层都已调试好。
- 单向依赖是分层式 OS 的特点。
- 分层式 OS 中增加或替换一个层中的模块或整层时,只要不 改变相应层间的接口,就不会影响其他层,因而易于扩充和维护。
- 层次定义好后,相当于各层之 间的依赖关系也就固定了,因此往往显得不够灵活。
- 每执行一个功能,通常都要自上而 下地穿越多层,增加了额外的开销,导致系统效率降低。
徼内核 OS
- 主要缺点是性能问题
- 因为需要频繁地在核心态和用户态之间进行切换,因而切换开销偏大。
- 可从四个方面描述微内核
- 内核足够小
- 基于客户/服务器(C/S)模式
- 应用机制与策略分离的原理
- 采用面向对象技术
- 许多功能从内核中分离出来,修改时只需在相应服务器中进行,添加系统服务时不必修改内核,使得微内核构架的可扩展性和灵活性更强
- 主要缺点是性能问题
一般来说内核的服务越少内核越稳定
在操作系统引导时,常驻内存的只是操作系统内核,其他部分仅在需要时才调入
操作系统最终会被加载到内存中的系统程序区,是RAM
操作系统的初始化
- 需要创建中断向量表,以实现通电自检POST,CPU检测到中断信号后,根据中断号查询中断向量表,跳转到相应的中断处理程序。
- 操作系统初始化是需要使用磁盘的,所以磁盘的所有工作是已经完成的,如文件系统及分区。磁盘要依次进行
- 物理格式化
- 对磁盘进行分区(包括创建硬盘分区表)
- 逻辑格式化
- 操作系统存入磁盘
操作系统的引导程序位于磁盘活动分区的引导扇区中。引导程序分为四种∶
- 广义的操作系统引导程序指下述四种之和
- 狭义的操作系统引导程序指存放于磁盘根目录下的操作系统初始化程序
- 一种是位于ROM 中的自举程序(BIOS 的组成部分),用于启动具体的设备
- 一种是位于装有操作系统硬盘的活动分区的引导扇区中的引导程序(称为启动管理器),就是操作系统初始化程序,用于引导操作系统。
- 引导记录PBR,分区引导程序
- 主引导记录MBR,磁盘引导程序
- 广义的操作系统引导程序指下述四种之和
计算机的启动过程
- CPU激活后,从最顶端的地址FFFF0H获得第一条指令来执行,这个地址仅仅只有16字节
- 所以是一条JMP指令,以跳到更低地址去执行BIOS程序。
- BIOS程序在内存最开始的空间构建中断向量表和相应服务程序,在后续POST过程中要用到中断调用等功能。
- 然后进行通电自检POST(Power-on Self Test)以监测硬件是否有故障。
- 完成POST后,BIOS需要在硬盘、光驱或软驱等存储设备搜索操作系统内核的位置以启动操作系统。
虚拟机无法实现真正的并行,真正实现并行的是多核处理机。