计算机操作系统-第九天

简介: 计算机操作系统-第九天

1、虚拟机

传统计算机的特点:一台物理机器只能运行一个操作系统

虚拟机的特点: 使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器(Virtual Machine,简称VM)每个虚拟机都可以独立运行一个操作系统

虚拟机也可以被称作:虚拟管理程序、虚拟机监控程序、Virtual Machine Monitor、Hypervisor

第一类VM:直接运行在硬件上

特点:一台机器的硬件资源被第一类虚拟机管理程序划分为多个部分分别给各个虚拟机使用

划分方法:CPU通过时间片的方法划分,磁盘和内存分别将自己的磁盘/内存空间进行划分

注意事项:

1、只有虚拟机管理程序运行在内核态中,只有它可以执行特权指令,但是上层位于用户态的操作系统仍将自己视作是处于内核态中所以它也会执行特权指令,此时当上层管理系统尝试使用特权指令时它的动作会被虚拟机管理程序截获,此时管理程序将该消息经过一系列的转换重新传递给上层操作系统让它以为自己运行成功了(楚门的世界)

关于虚拟管理程序的拓展:

       虚拟机管理程序通过虚拟化技术创建了一个虚拟的执行环境,使得每个虚拟机实例都认为自己在独立的物理机上运行。它会对特权指令进行转换和模拟,以确保虚拟机实例之间的隔离性和安全性,这种虚拟化技术的好处包括:

  1. 多个虚拟机实例可以在同一台物理机上同时运行,提高硬件资源的利用率。
  2. 虚拟机实例之间相互隔离,互不干扰,提高了系统的安全性和稳定性。
  3. 可以在不同的操作系统之间切换和运行,方便进行开发、测试和部署。
  4. 简化了系统管理和维护的工作,提供了更灵活和可扩展的部署方式。

第二类VM:运行在宿主操作系统上

特点:一台机器的硬件资源仍由宿主操作系统(本台机器上原有的操作系统)进行分配,当第二类虚拟机管理程序创建虚拟机进行资源分配时仍需向宿主管理系统发出申请然后宿主操作系统为它分配硬件资源(寄生)

第二类虚拟机管理程序(VMM):VirtualBox、VMware等

       使用第二类虚拟机管理系统时只需要在创建一台虚拟机后为虚拟机配置需要的操作系统镜像文件即可:

两类虚拟机管理程序的对比:

第一类VMM 第二类VMM
对物理资源的控制权 直接运行在硬件上,能直接控制和分配物理资源 运行在Host OS上,依赖于Host OS为其分配物理资源
资源分配方式 在安装Guest OS时,VMM要在原本的硬盘上自行分配存储空间,类似于“外核”的分配方式,分配未经抽象的物理硬件 Guest OS拥有自己的虚拟磁盘,该盘实际上是Host OS文件系统中的一个大文件,Guest OS分配到的内存是虚拟内存
性能 性能更好 性能更差,需要Host OS作为“中介”
可支持的虚拟机数量 更多,不需要和Host OS竞争资源,相同的硬件资源可以支持更多的虚拟机 更少,Host OS本身需要使用物理资源,Host OS上运行的其他进程也需要物理资源
虚拟机的可迁移性 更差 更好,只需要导出虚拟机镜像文件即可迁移到另一台Host OS上,商业化应用更广泛
运行模式 第一类VMM运行在最高特权级(Ring 0),可以执行最高特权的指令 第二类VMM部分运行在用户态、部分运行在内核态,Guest OS发出的系统调用会被VMM截获,并转化为VMM对Host OS的系统调用

关于上述最高级特权指令的解释:

在近几年的CPU中,指令的特权级会被进一步划分为更多层次:

环数越低,指令的权限越高

       有了这样的划分就可以做到,将发生在上层操作系统的特权指令和第一类虚拟机管理程序中的特权指令重新划分为不敏感指令和敏感指令,当上层操作系统执行不敏感特权指令时直接执行就可以,当上层操作系统要执行敏感特权指令时该行为就会被第一类虚拟机管理程序所解惑(原本的条条都检查到现在的只看重点)

~over~

相关文章
|
6月前
|
存储 Unix Linux
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
手写操作系统(4)——计算机是如何启动的?BIOS、GRUB、文件系统......
118 1
|
3月前
|
存储 算法 网络协议
了解操作系统的基本原理和常见操作,提高计算机使用效率
了解操作系统的基本原理和常见操作,提高计算机使用效率
48 4
|
4月前
|
Linux 调度
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
部署02-我们一般接触的是Mos和Wimdows这两款操作系统,很少接触到Linux,操作系统的概述,硬件是由计算机系统中由电子和机械,光电元件所组成的,CPU,内存,硬盘,软件是用户与计算机接口之间
|
5月前
|
运维 安全 Linux
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
计算机架构“寒武纪爆发”,操作系统进化迸发中国浪潮
|
6月前
|
存储 算法 Linux
【计算机操作系统】深入探究CPU,PCB和进程工作原理
【计算机操作系统】深入探究CPU,PCB和进程工作原理
188 1
|
6月前
|
存储 安全 数据处理
【计算机系统组成原理】操作系统处理器深入介绍
【计算机系统组成原理】操作系统处理器深入介绍
|
6月前
|
存储 缓存 安全
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
【linux基础(八)】计算机体系结构--冯诺依曼系统&操作系统的再理解
|
6月前
|
存储 安全 Unix
计算机的操作系统
计算机的操作系统
44 2
|
6月前
|
安全 Linux Shell
操作系统究竟是什么?在计算机体系中扮演什么角色?
操作系统究竟是什么?在计算机体系中扮演什么角色?
136 0
|
6月前
|
存储 Ubuntu Unix
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
【Linux】1、操作系统、计算机硬件和软件、Linux 介绍
84 0