前言
✨本篇为博主 考研操作系统 的第五篇:操作系统引导与虚拟机
本篇博客内容来自:
👊2022王道视频笔记总结
👊2023王道书重点归纳总结
👊2023王道习题好题,错题总结
需要博主PDF版笔记或相关资料的同学可以评论出来,我会私发给大家~
笔记
操作系统是一种程序,程序以数据的形式存放于硬盘,硬盘分为多个区,一台计算机中有多个或多种外部存储设备;操作系统引导是计算机利用CPU运行特定程序,通过程序识别硬盘,识别硬盘分区,识别硬盘分区上的操作系统,最后通过程序启动操作系统。
操作系统引导的过程:
1.激活CPU
2.硬件自检
3.加载带有操作系统的硬盘
4.加载主引导记录MBR
5.扫描硬盘分区表
6.加载分区引导记录PBR
7.加载启动管理器
8.加载操作系统
虚拟机是一台逻辑计算机,是利用特殊的虚拟化技术,为用户提供抽象的、同一的、模拟的计算环境,有两类虚化方法:
1.第一类虚拟机管理程序:像一个操作系统,它是唯一一个运行在最高特权级的程序,向上层提供若干台虚拟机,这些虚拟机是裸机硬件的精确复制品;虚拟机作为用户态的一个进程运行,不允许执行敏感指令,但是虚拟机上的操作系统认为自己运行在内核态(实际上不是),称为虚拟内核态,虚拟机中的用户程序认为自己运行在用户态(事实上确实是);在支持虚拟化的CPU上,虚拟机管理程序检查这条指令是由虚拟机中的操作系统执行的还是用户程序执行的,如果是前者执行的,那么虚拟机管理系统将安排这条指令正常执行,否则,虚拟机管理系统将模拟真实硬件面对用户态执行敏感指令时的行为;在过去不支持虚拟化的CPU上,真实硬件不会直接执行虚拟机中的敏感指令,这些敏感指令被转为对虚拟机管理程序的调用,由虚拟机管理程序模拟这些指令的功能。
2.第二类虚拟机管理程序:是依赖于Windows、Linux等操作系统分配和调度资源的程序,像一个普通的进程;第二类虚拟机管理程序仍然伪装成具有CPU和各种设备的完整计算机。
运行在两类虚拟管理程序上的操作系统都称为客户操作系统,对于第二类虚拟机管理程序,运行在底层硬件上的操作系统称为宿主操作系统。
有的教材将第一类虚拟化技术称为裸金属架构,第二类虚拟化技术称为寄居架构。
习题总结
通常可以用四个方面来描述微内核OS:
1.内核足够小
2.基于客户/服务器模式(C/S模式)
3.应用 ““机制与策略分离” 原理
4.采用面向对象技术
进程(线程)之间的通信功能是微内核最频繁使用的功能,因此几乎所有微内核OS都将其放入微内核中;低级I/O和硬件紧密相关,因此放入微内核中;低级进程管理和调度属于调度功能的机制部分,硬将它放入微内核中;微内核OS将与硬件紧密相关的一小部分放入微内核处理,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行中断响应处理,识别中断或陷入的事件后,再发送给相关的服务器处理,故中断和陷入处理也应放入微内核中;文件系统服务是放在微内核外的文件服务器中实现的,故不放入微内核中。
由于微内核的服务较少,一般来说内核服务越少内核越稳定,故微内核结构比单一内核稳定。
Windows是宏内核操作系统;在微内核构架中,客户和服务器之间、服务器和服务器之间的通信采用信息传递机制,这使得微内核系统能很好地支持分布式系统;添加系统服务时不必修改内核,这使得微内核构架的可扩展性和灵活性更强;微内核构架的主要问题是性能问题,微内核并没有使系统更高效。
计算机的引导程序驻留在ROM中,开机后自动执行;引导程序先做关键部分的自检,并识别已连接的外设;若计算机中安装了双系统,引导程序会与用户交互加载有关系统;常驻内存的只是操作系统内核,其他部分仅在需要时才调入。
操作系统的引导程序位于磁盘活动分区的引导扇区中;引导程序分为两种:一种是位于ROM中的自举程序(BIOS的组成部分),用于启动具体的设备;另一种是位于装有操作系统硬盘的活动分区的引导扇区中的引导程序(称为启动管理器),用于引导操作系统。
计算机的启动过程是:
1.CPU加电,CS:IP指向FFFF0H;
2.执行JMP指令跳转到BIOS;
3.登记BIOS中的断例程入口地址;
4.硬件自检;
5.进行操作系统引导。
BIOS将控制权交给排在首位的启动设备后,CPU将该设备主引导扇区的内容(主引导记录MBR)加载到内存中,然后由MBR检查分区表,查找活动分区,并将该分区的引导扇区的内容(分区引导记录PBR)加载到内存中加以执行。
软件能实现的功能也能由硬件实现,因此虚拟机软件能实现的功能也能由硬件实现,软件和硬件的分界线是系统结构设计者的任务;多台虚拟机可同时运行在同一台物理机器上,这并不说明它实现了真正的并行,实现真正并行的是多核处理机,多台虚拟机运行在同一物理机器上,类似多个程序运行在同一个系统中。