操作系统之虚拟机

2024-09-07 06:04
文章标签 操作系统 虚拟机

本文主要是介绍操作系统之虚拟机,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

虚拟机(Virtual Machine, VM)是一种通过虚拟化技术将一台物理计算机虚拟化为多个独立的虚拟计算机的技术。每个虚拟机都可以运行自己的操作系统,仿佛它们是独立的物理计算机。虚拟机的引入大大提高了计算资源的利用率,并提供了更大的灵活性。

虚拟机的定义

虚拟机是通过虚拟化技术在一台物理计算机上创建的多个虚拟计算环境。每个虚拟环境(虚拟机)都可以运行一个独立的操作系统和应用程序,仿佛它们是完全独立的物理计算机。虚拟机使得在同一台物理服务器上可以同时运行多个操作系统,提高了硬件资源的利用率。

同义术语

  • 虚拟机管理程序(Hypervisor):负责创建和管理虚拟机的程序。
  • 虚拟机监控程序(Virtual Machine Monitor, VMM):与虚拟机管理程序同义。
  • Virtual Machine Monitor:即虚拟机监控程序的英文全称。
  • Hypervisor:英文术语,通常指虚拟机管理程序。

虚拟机的分类

虚拟机可以根据其运行环境分为两类:

  1. 第一类虚拟机管理程序(Type 1 Hypervisor)

    • 定义:第一类虚拟机管理程序直接运行在物理硬件上,不依赖于宿主操作系统。
    • 特点:由于直接运行在硬件上,这种虚拟机管理程序通常具有较高的性能和更好的资源管理能力。
    • 示例:VMware ESXi、Microsoft Hyper-V、Xen。
  2. 第二类虚拟机管理程序(Type 2 Hypervisor)

    • 定义:第二类虚拟机管理程序运行在宿主操作系统上,也就是说,它依赖于宿主操作系统来管理硬件资源。
    • 特点:这种虚拟机管理程序相对容易安装和管理,但性能可能不如第一类虚拟机管理程序,因为它必须通过宿主操作系统来访问硬件资源。
    • 示例:VMware Workstation、Oracle VirtualBox、Parallels Desktop。

区别:

特性第一类虚拟机管理程序(Type 1 Hypervisor)第二类虚拟机管理程序(Type 2 Hypervisor)
运行环境直接运行在物理硬件上,无需宿主操作系统运行在宿主操作系统上,需要依赖宿主操作系统
性能通常性能更高,直接控制硬件资源,无额外开销性能略逊色,因为需要通过宿主操作系统访问硬件
资源管理能更有效地分配硬件资源,优化虚拟机间的资源使用资源管理受限于宿主操作系统的资源分配和管理能力
安全性较高的安全性和稳定性,减少了攻击面可能存在宿主操作系统带来的额外安全风险
安装与配置安装和配置较为复杂,需要对硬件进行设置和配置安装和配置简单,用户可以在已有操作系统上快速部署
适用场景企业数据中心、大规模虚拟化部署、生产环境、云计算桌面虚拟化、开发和测试环境、个人用户
示例VMware ESXi、Microsoft Hyper-V、XenVMware Workstation、Oracle VirtualBox、Parallels Desktop
灵活性较低,因为需要专门的硬件支持和配置较高,适合在多种操作系统环境中灵活使用
管理工具通常提供企业级的管理工具和接口,适合大规模管理提供个人用户友好的界面,适合个人和小型环境

虚拟机与传统计算机的区别

  1. 运行操作系统的能力

    • 传统计算机:一台物理计算机通常只能运行一个操作系统,即在启动时只能加载一个操作系统。
    • 虚拟机:通过虚拟化技术,一台物理计算机可以运行多个虚拟机,每个虚拟机可以独立运行自己的操作系统和应用程序。
  2. 虚拟化支持的CPU指令等级

    • 传统计算机:通常使用传统的CPU指令集,指令权限分为特权指令(Ring0)和非特权指令(Ring3)。操作系统的内核代码运行在特权级别(Ring0),而用户应用程序则运行在非特权级别(Ring3)。
    • 虚拟机:支持虚拟化的CPU通常会扩展指令集,提供更多的虚拟化指令等级。例如,Intel的VT-x和AMD的AMD-V技术可以提供额外的虚拟化支持指令,以帮助虚拟机管理程序更高效地管理虚拟机。虚拟机监控程序可以在更低级别管理虚拟机的资源和权限,从而提高虚拟化性能。

这篇关于操作系统之虚拟机的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1144265

相关文章

Linux操作系统 初识

在认识操作系统之前,我们首先来了解一下计算机的发展: 计算机的发展 世界上第一台计算机名叫埃尼阿克,诞生在1945年2月14日,用于军事用途。 后来因为计算机的优势和潜力巨大,计算机开始飞速发展,并产生了一个当时一直有效的定律:摩尔定律--当价格不变时,集成电路上可容纳的元器件的数目,约每隔18-24个月便会增加一倍,性能也将提升一倍。 那么相应的,计算机就会变得越来越快,越来越小型化。

HotSpot虚拟机的经典垃圾收集器

读《深入理解Java虚拟机》第三版笔记。 关系 Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old(MSC)、Concurrent Mark Sweep (CMS)、Garbage First(G1)收集器。 如图: 1、Serial 和 Serial Old 收集器 2、ParNew 收集器 3、Parallel Sc

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

虚拟机ubuntu配置opencv和opencv_contrib

前期准备  1.下载opencv和opencv_contrib源码 opencv-4.6.0:https://opencv.org/releases/ opencv_contrib-4.6.0:https://github.com/opencv/opencv_contrib 在ubuntu直接下载或者在window上下好传到虚拟机里都可以 自己找个地方把他们解压,个人习惯在home下新建一

OpenStack创建虚拟机过程

OpenStack创建虚拟机过程 一、在分析OpenStack创建虚拟机的过程之前,先来梳理一下需要用用到哪些组件。 二、每一步都需要去keystone去进行验证,下图有详细的流程。 登录界面或命令行通过RESTful API向keystone获取认证信息。keystone通过用户请求认证信息,并生成auth-token返回给对应的认证请求。界面或命令行通过RESTful API

VMware Fusion Pro 13 Mac版虚拟机 安装Win11系统教程

Mac分享吧 文章目录 Win11安装完成,软件打开效果一、VMware安装Windows11虚拟机1️⃣:准备镜像2️⃣:创建虚拟机3️⃣:虚拟机设置4️⃣:安装虚拟机5️⃣:解决连不上网问题 安装完成!!! Win11安装完成,软件打开效果 一、VMware安装Windows11虚拟机 首先确保自己的mac开启了网络共享。不然虚拟机连不上👀的 1️⃣:准备镜像

SSH连接虚拟机中的Ubuntu 12.0.4

摘要:主要是解决不能使用ssh远程Ubuntu的问题、使用的远程工具是putty、也可以使用xshell、ubunut12.0.4是装在虚拟机中的、不过这个应该没有什么影响。 一:问题的出现 前两天使用VMware装了一个ubuntu12.0.4之后、因为常常使用命令行、又喜欢在虚拟机与实体机中切来切去、感觉很不方便、就想在xp中远程ubuntu、遇到了点小意外、经过一会调试解决成功、把

用了虚拟机后,本机摄像头打不开了(联想电脑thinkpad)

虚拟机有摄像头,我断开了连接,现在本机的摄像头打开就是一个锁 我先把虚拟机的摄像头关了 然后把本机的vm usb关闭了 Win+R),输入services.msc,找到VMware USB Arbitration Service,确保其状态为“关闭 然后打开桌面助手 开启 参考: 联想知识库

Java虚拟机垃圾回收的几个关键问题

20151008 GC的几个关键问题,触发条件,触发的机制 主线是数据的移动,从什么位置到什么位置,移动的条件是什么? 1 垃圾收集在什么时候触发? GC都是在带满了的时候触发的,每次触发都是把不会用的不可达的对象空间回收了,留下还在用的对象。 1) MinorGC的触发是伊甸园空间满的时候 2) FullGC的触发是在老年代满的时候 2 垃圾回收的时候做哪些工作? 1) 一个新的对象new出

1、简述linux操作系统启动流程

1、简述linux操作系统启动流程 启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。开机时将ROM中的指令映射到RAM的低地址空间,CPU读取到这些指令,硬件的健康状况进行检查,按照BIOS中设置的启