1.4操作系统结构
随着操作系统功能的不断增多和代码规模的不断变大,合理的操作系统结构,对于降低操作系统复杂度,提升操作系统安全与可靠性来说变得尤为重要。
-
分层法:
优点:
1.便于系统调试和验证,简化系统的设计和实现
2.易于扩充和维护
缺点:
1.合理定义各层较难(依赖关系比较固定)
2.效率较差(执行功能需要穿越多层,性能开销大)
-
模块化:
优点:
1.提高操作系统设计的正确性,可理解性,可维护性。
2.增加操作系统的可适应性
3.加速操作系统的开发过程
缺点:
1.模块间接口规定很难满足对接口的实际需求
2.各个模块设计者的思路不同,以至于难找到一个可靠的决定顺序解决问题 -
宏内核:
将系统模块都作为一个紧密联系的整体运行在内核态
。各个模块之间资源直接共享,性能优势好。
主流操作系统(Windows,Android,iOS,macOS,Linux)
等都是宏内核 -
微内核:
最核心部分功能保留在内核中,只能内核态执行
,其他部分在用户态即可执行。
特点(重要考点)
:
1.内存小
2.C/S模式(客户端/服务器模式)
3.机制与策略分离模式
4.面向对象技术
5.扩展性和灵活性
6.可靠性和安全性
7.可移植性
8.分布式计算
功能:
1.进程和线程管理 2.低级存储器管理 3.中断和陷入处理
-
外核
优点:减少映射层
1.5操作系统引导(非常重点)
(1)启动过程:
1.CPU通电
2.执行JMP指令跳转到BIOS(ROM芯片,属于主存内部,因此可知主存由RAM和ROM组成)
3.登记BIOS中断程序例程入口地址
4.硬件自检
5.操作系统引导
(2)引导过程:
1.将磁盘第一块(主引导记录)读入内存,执行磁盘引导程序,扫描分区表
2.找到活动分区(主分区,安装了操作系统的分区),读入分区引导记录,执行其中程序
3.从根目录找到完整操作系统初始化程序,执行并完成开机一系列操作
1.6虚拟机
!!!操作系统也是虚拟机!!!
第一类虚拟机 | 第二类虚拟机 | |
---|---|---|
对物理资源的控制权 | 直接运行在物理机上,能直接和控制物理资源 | 运行在软件上,需要向底层操作系统申请资源 |
性能 | 直接控制物理机,性能好 | 需要向底层操作系统申请资源 |
可移植性 | 差 | 直接将虚拟机的相应文件移动就可以移植,好 |
运行模式 | 可以执行最高特权指令 | 不能直接执行,需要向底层操作系统申请 |