当前位置: 首页 > news >正文

云计算基础-虚拟化概述

虚拟化概述

虚拟化是一种资源管理技术,能够将计算机的各种实体资源(如CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来并可供分割、组合为一个或多个逻辑上的资源。这种技术通过在计算机硬件上创建一个抽象层,将单台计算机的硬件元素(处理器、内存、存储等)分成多个虚拟计算机(通常称为虚拟机 (VM))。每个虚拟机都会运行自己的操作系统 (OS),其行为就像一台独立的计算机,即使它只在一部分实际底层计算机硬件上运行。

如下图,虚拟化前就是在物理服务器上安装操作系统,在操作系统中安装各种应用,企业中为了方便管理和业务隔离,一般一台服务器上只跑一个应用,比如专门一台服务器跑OA,另一台物理服务器上只跑WEB等等,即使该业务系统利用率很低,也必须是一台单独的物理服务器来支撑,这样就造成了资源利用率低,资源浪费的情况

而进行虚拟化后,相比与虚拟化前,服务器上装了一个虚拟化软件,英文名叫Hypervisor,有了Hypervisor之后就可以再物理机上同时创建多台虚拟机,给不同的虚拟机安装不同的操作系统和应用,通过hypervisor这一层就把传统的物理硬件跟上层的业务软件隔离开来,实现了解耦,同时多台不同的虚拟机就可以共用物理机的主机资源,提高了资源利用率,同时,不同的业务系统是跑在不同的虚拟机内的,同样也做到了业务隔离

虚拟化的几个概念

Guest OS:运行在物理机上的虚拟机的操作系统

Guest Machine:运行在物理机上的虚拟机

Hypervisor:VMM Hypervisor,又称虚拟机监视器(virtual machine monitor,缩写为VMM),未来虚拟机就是靠它来运行的,它可以跑在物理机上,也可以跑在宿主机的操作系统上

Host OS:运行在物理机(宿主机)上的操作系统

Host Machine:物理机、宿主机

Hypervisor架构

计算虚拟化的软件层,通常叫Hypervisor,即虚拟化层,也叫虚拟机监控器(Virtual Machine Monitor,VMM),负责GuestOS所有硬件资源调用

常见的Hypervisor架构有两种:

· TYPE-I(裸金属架构):VMM直接运行在裸机上,使用和管理底层硬件资源,Guest OS对硬件资源访问都需要通过VMM完成,VMM拥有硬件驱动程序。如CNA,ESXI等

· TYPE-II(宿主型、主机型):VMM之下还有一层宿主操作系统,Guest OS对硬件资源访问必须经过宿主操作系统,带来额外开销,所有硬件驱动、内存管理、进程调度等有宿主操作系统执行。如VMware Workstation、oracke VirtualBox等

Hypervisor架构对比

宿主架构:底层是硬件如CPU、内存、硬盘等,在硬件之上我们给电脑装了操作系统,比如Windows10,有了主机操作系统之后就可以装各种应用了,如QQ、微信等(APPllcation),而Hypervisor也可以作为一种应用,虚拟化软件也是操作系统上的应用,比如安装了VMware Workstation,有了虚拟化软件之后就可以起各种虚拟机,有了虚机之后就可以给虚拟机安装Guest OS

裸金属架构:最底层也是硬件,但是在硬件之上没有安装操作系统,而是直接安装了Virtualization Layer,相当于直接在硬件上安装了Hypervisor,在硬件上安装了hypervisor之后就可以直接创建虚拟机,然后给不同虚拟机安装不同的Guest OS

裸金属架构和宿主架构的区别

简而言之裸金属架构和宿主架构最大的区别是在硬件之上是否安装了操作系统,宿主架构是先安装操作系统再安装虚拟化软件,裸金属架构是直接再硬件上安装Hypervisor

裸金属架构和宿主架构的优劣势对比

宿主架构优势:宿主架构再硬件上安装了操作系统,底层硬件的驱动由操作HOST OS提供,比如我们的Windows电脑,底层硬件的驱动都是由windows来解决,这样来说,虚拟化软件跟底层的硬件之间就分开了,虚拟化软件不论底层的硬件是什么都是可以运行的,这样依赖宿主型架构系统的适配性就很强

宿主架构缺点:Host OS运行在硬件之上,主机操作系统本身会占用一定的CPU、内存和硬盘资源,宿主型架构的资源利用率是比较低的

裸金属架构优势:在硬件上并没有装操作系统,没有主机操作系统来占用过多的CPU、内存、硬件资源,底层硬件资源利用率比宿主架构高

裸金属架构劣势:裸金属架构在硬件上直接要装Hypervisor,那底层这些硬件的驱动就要由Hypervisor来解决,但是Hypervisor是一个虚拟化软件,这就意味着,其实在裸金属架构的Hypervisor中由非常小的操作系统内核,这个操作系统内核里面是包含了底层硬件的驱动的,但是由于非常小的操作系统内核的大小有限,它能够携带的驱动程序也是有限,这就意味着裸金属架构的情形下,它对于底层硬件是有要求的,裸金属架构所需的CPU、内存、硬盘、主板、网卡等硬件必须是hypervisor所携带的驱动的范围内,所以裸金属架构对于硬件的适配性不强,它对于硬件是有明确需求的

相关文章:

云计算基础-虚拟化概述

虚拟化概述 虚拟化是一种资源管理技术,能够将计算机的各种实体资源(如CPU、内存、磁盘空间、网络适配器等)予以抽象、转换后呈现出来并可供分割、组合为一个或多个逻辑上的资源。这种技术通过在计算机硬件上创建一个抽象层,将单台…...

ElementUI +++ Echarts面试题答案汇总

官网地址:http://element-cn.eleme.io/#/zh-CN ElementUI是一套基于VUE2.0的桌面端组件库,ElementUI提供了丰富的组件帮助开发人员快速构建功能强大、风格统一的页面。 ElementUi是怎么做表单验证的?在循环里对每个input验证怎么做呢&#x…...

notepad++打开文本文件乱码的解决办法

目录 第一步 在编码菜单栏下选择GB2312中文。如果已经选了忽略这一步 第二步 点击编码,红框圈出来的一个个试。我切换到UTF-8编码就正常了。 乱码如图。下面分享我的解决办法 第一步 在编码菜单栏下选择GB2312中文。如果已经选了忽略这一步 第二步 点击编码&#…...

道可云元宇宙每日资讯|上海开放大学发布“智慧学习中心元宇宙”

道可云元宇宙每日简报(2024年2月19日)讯,今日元宇宙新鲜事有: 上海开放大学发布“智慧学习中心元宇宙” 上海开放大学首次发布了“智慧学习中心元宇宙”,初步构筑了上海开放大学5g元宇宙孪生学习环境,13所…...

压缩感知(Compressed Sensing,CS)的基础知识

压缩感知(Compressed Sensing,CS)是一种用于信号处理的技术,旨在以少于奈奎斯特采样定理所要求的样本频率来重构信号。该技术利用信号的稀疏性,即信号可以用较少的非零系数表示。压缩感知在图像获取中的应用使得在采集…...

如何系统地学习Python

建议系统学习Python的途径遵循理论与实践相结合的教学方法。以下是一个分阶段的学习计划: 阶段一:基础知识 理解Python的特点: 认识Python的历史与设计哲学。学习Python的基本语法和运行环境。 安装Python: 学习如何在不同操作系…...

SMT2020:半导体制造流程标准仿真测试数据介绍

文章目录 问题背景SMT2020 涉及的主要功能1. 包含多种仿真模型类型2. 包含非计划性动作3. 区分不同类型设备的加工速率4. 特殊的复杂操作SMT2020 数据概览1. AutoSched 仿真模型数据2. General Data 输入数据问题背景 在半导体的生产制造当中,由于晶元片及设备等的高价值性,…...

沁恒CH32V30X学习笔记11---使用外部时钟模式2采集脉冲计数

使用外部时钟模式2采集脉冲计数 使用外部触发模式 2 能在外部时钟引脚输入的每一个上升沿或下降沿计数。将 ECE 位置位时,将使用外部时钟源模式 2。使用外部时钟源模式 2 时,ETRF 被选定为 CK_PSC。ETR 引脚经过可选的反相器(ETP),分频器(ETPS)后成为 ETRP,再经过滤波…...

ffmpeg for android编译全过程与遇到的问题

编译前准备 编译环境:Ubuntu16,可自行下载VMWare最新版并百度永久许可证或在服务器上安装Ubuntu ffmpeg源码:ffmpeg4.2.2 NDK下载:Android NDK r21e 有条件的最好还是在Liunx平台下编译吧,Windows平台下编译坑更多…...

【无标题】力扣报错:member access within null pointer of type ‘struct ListNode‘

项目场景: 做单链表反转题目,报错:member access within null pointer of type ‘struct ListNode’ 题目链接:LINK 问题描述 我明明在初始化指针时候,已经处理了n2->next情况却依然报错 这个报错提示含义是:大概就…...

Qt之Qchar类的接口1

Qt类的构造函数 QChar类提供了许多个不同原型的构造函数,以方便不同场合下使用。 QChar(); //构造一个空字符,即‘\0’ QChar(char ch); //由字符数据ch构造 QChar(uchar ch)…...

vue的十大面试题详情

1 v-show与v-if区别 v-if与v-show可以根据条件的结果,来决定是否显示指定内容&#xff1a; v-if: 条件不满足时, 元素不会存在. v-show: 条件不满足时, 元素不会显示(但仍然存在). <div id"app"><button click"show !show">点我</but…...

(十四)devops持续集成开发——jenkins流水线使用pipeline方式发布项目

前言 本节内容我们使用另外一种方式pipeline实现项目的流水线部署发布&#xff0c;Jenkins Pipeline是一种允许以代码方式定义持续集成和持续交付流水线的工具。通过Jenkins Pipeline&#xff0c;可以将整个项目的构建、测试和部署过程以脚本的形式写入Jenkinsfile中&#xff…...

多维时序 | Matlab实现LSTM-Mutilhead-Attention长短期记忆神经网络融合多头注意力机制多变量时间序列预测模型

多维时序 | Matlab实现LSTM-Mutilhead-Attention长短期记忆神经网络融合多头注意力机制多变量时间序列预测模型 目录 多维时序 | Matlab实现LSTM-Mutilhead-Attention长短期记忆神经网络融合多头注意力机制多变量时间序列预测模型预测效果基本介绍程序设计参考资料 预测效果 基…...

Android 基础技术——Binder 机制

笔者希望做一个系列&#xff0c;整理 Android 基础技术&#xff0c;本章是关于Binder 机制 什么是Binder 机制&#xff1a;Binder 是一种进程间通信机制 驱动&#xff1a;Binder 是一个虚拟物理设备驱动 应用层&#xff1a;Binder 是一个能发起通信的 Java 类 为什么要使用Bind…...

【STM32 CubeMX】STM32中断体系结构

文章目录 前言一、中断体系的比喻二、中断的内部结构2.1 EXTI触发方式 2.2 NVIC2.3 cpu与中断2.4 外部中断控制器框图上升沿触发选择寄存器屏蔽/使能寄存器等待处理寄存器 2.5 中断优先级 总结 前言 一、中断体系的比喻 STM32中断体系如下图所示&#xff1a; 一座大型建筑物…...

JAVA高并发——JDK的并发容器

文章目录 1、超好用的工具类&#xff1a;并发集合简介2、线程安全的HashMap3、深入浅出ConcurrentHashMap3.1、ConcurrentHashMap的内部数据结构3.2、put()方法的实现3.3、get()方法的实现 4、有关List的线程安全5、高效读写的队列&#xff1a;深度剖析ConcurrentLinkedQueue类…...

代码随想录算法训练营day17||二叉树part04、110.平衡二叉树 、257. 二叉树的所有路径 、404.左叶子之和

注意&#xff1a;迭代法&#xff0c;可以先过&#xff0c;二刷有精力的时候 再去掌握迭代法。 110.平衡二叉树 &#xff08;优先掌握递归&#xff09; 再一次涉及到&#xff0c;什么是高度&#xff0c;什么是深度&#xff0c;可以巩固一下。 题目&#xff1a;给定一个二叉树&am…...

three.js 3D可视化地图

threejs地图 可视化地图——three.js实现 this.provinceInfo document.getElementById(provinceInfo); // 渲染器 this.renderer new THREE.WebGLRenderer({antialias: true }); this.renderer.setSize(window.innerWidth, window.innerHeight); this.container.appendChild…...

Unity所有关于旋转的方法详解

前言&#xff1a;欧拉角和四元数的简单描述 我们在Inspector面板上看到的rotation其实是欧拉角&#xff0c; 我们将Inspector面板设置成Debug模式&#xff0c;此时看到的local Rotation才是四元数。 Unity中的欧拉旋转是按照Z-X-Y顺规执行的旋转&#xff0c;一组欧拉旋转过程中…...

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

椭圆曲线密码学(ECC)

一、ECC算法概述 椭圆曲线密码学&#xff08;Elliptic Curve Cryptography&#xff09;是基于椭圆曲线数学理论的公钥密码系统&#xff0c;由Neal Koblitz和Victor Miller在1985年独立提出。相比RSA&#xff0c;ECC在相同安全强度下密钥更短&#xff08;256位ECC ≈ 3072位RSA…...

k8s从入门到放弃之Ingress七层负载

k8s从入门到放弃之Ingress七层负载 在Kubernetes&#xff08;简称K8s&#xff09;中&#xff0c;Ingress是一个API对象&#xff0c;它允许你定义如何从集群外部访问集群内部的服务。Ingress可以提供负载均衡、SSL终结和基于名称的虚拟主机等功能。通过Ingress&#xff0c;你可…...

【Linux】C语言执行shell指令

在C语言中执行Shell指令 在C语言中&#xff0c;有几种方法可以执行Shell指令&#xff1a; 1. 使用system()函数 这是最简单的方法&#xff0c;包含在stdlib.h头文件中&#xff1a; #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Java + Spring Boot + Mybatis 实现批量插入

在 Java 中使用 Spring Boot 和 MyBatis 实现批量插入可以通过以下步骤完成。这里提供两种常用方法&#xff1a;使用 MyBatis 的 <foreach> 标签和批处理模式&#xff08;ExecutorType.BATCH&#xff09;。 方法一&#xff1a;使用 XML 的 <foreach> 标签&#xff…...

PAN/FPN

import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...

LRU 缓存机制详解与实现(Java版) + 力扣解决

&#x1f4cc; LRU 缓存机制详解与实现&#xff08;Java版&#xff09; 一、&#x1f4d6; 问题背景 在日常开发中&#xff0c;我们经常会使用 缓存&#xff08;Cache&#xff09; 来提升性能。但由于内存有限&#xff0c;缓存不可能无限增长&#xff0c;于是需要策略决定&am…...