首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

虚拟分类

虚拟是云计算的底层支撑技术。以前一台主机的各种硬件设备只能被操作系统管理、使用。有了虚拟技术(VMM/Hypervisor 虚拟机监控器、QEMU、Intel-VT...)...从不同的视角,虚拟技术有不同的分类。 软硬件实现的角度 软件虚拟 QEMU,完全由软件模拟 VMM 层。它实际是通过软件仿真出目标平台。目标平台指令-->QEMU 翻译-->宿主机平台指令。...Guest 是否与 VMM 协作 全虚拟 Guest 环境里无需针对虚拟安装任何程序/驱动,虚拟的工作完全由 VMM/Hypervisor 截获并处理。...Guest 完全不知道自己运行在虚拟硬件之上。 半虚拟 需要在 Guest 环境里安装驱动与 VMM 协同工作来完成虚拟,就是半虚拟。...(其实 ESXi 就是一个精简的 linux...) Type2 VMM/Hypervisor 运行在操作系统之上。比如 VMware Workstation。 有的文章把 KVM 算作 Type2。

51510

虚拟分类与 IO 虚拟技术概述

本文将详解虚拟技术分类与实现 I/O 虚拟的 2 种方式:I/O 模拟(Device emulation) 与 I/O 直通(Device passthrough)。...不同的操作系统库函数有着不同的服务接口,例如 Linux 的服务接口是不同于 Windows 的。...例如,Wine 就是在 Linux 上模拟了 Windows 的库函数接口,使得一个 Windows 应用程序能够在 Linux 上正常运行。...宿主机操作系统是传统操作系统,如 Windows 、Linux 等,这些传统操作系统并不是为虚拟而设计的,因此本身并不具备虚拟功能,实际的虚拟功能由 VMM 来提供。...(正文完) end Reference: Virtio: An I/O virtualization framework for Linux Linux virtualization and PCI passthrough

49520
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    虚拟分类与 IO 虚拟技术概述

    本文将详解虚拟技术分类与实现 I/O 虚拟的 2 种方式:I/O 模拟(Device emulation) 与 I/O 直通(Device passthrough)。...不同的操作系统库函数有着不同的服务接口,例如 Linux 的服务接口是不同于 Windows 的。...例如,Wine 就是在 Linux 上模拟了 Windows 的库函数接口,使得一个 Windows 应用程序能够在 Linux 上正常运行。...宿主机操作系统是传统操作系统,如 Windows 、Linux 等,这些传统操作系统并不是为虚拟而设计的,因此本身并不具备虚拟功能,实际的虚拟功能由 VMM 来提供。...(正文完) end Reference: Virtio: An I/O virtualization framework for Linux Linux virtualization and PCI passthrough

    98330

    虚拟技术概述(一)1. 虚拟概述2. 虚拟分类3. 虚拟的实现

    虚拟分类,实现,和我们 ACRN 中的实现; 1....虚拟分类 根据虚拟实现的方法,我们可以大概分为 操作系统级别虚拟(OS-level virtulization),全虚拟(Full virtualization),类/半虚拟(Para virtulization...2.2 类/半虚拟(Para virtulization) 完全虚拟中会遇到一些,需要通过二进制代码翻译的方式来处理的不友好的特权指令集合,而类虚拟采用另一种处理方式来解决这种问题; 类虚拟(或称之为半虚拟...根据片上硬件资源,我们将逐步介绍 CPU 虚拟 / 内存虚拟 / IO 虚拟 / GPU 虚拟 / .. 3....在 Linux 中 check CPU,可以得到 逻辑 CPU / 每个物理 CPU 上面的 cores / 每个物理 CPU 上面的逻辑 CPU ?

    13.9K45

    Linux网络虚拟2

    Linux网络虚拟2 今天我们接着上节课介绍的 Linux 网络知识,继续来学习它们在虚拟网络方面的应用,从而为后续学习容器编排系统、理解各个容器是如何通过虚拟网络来协同工作打好基础。...我们可以留言讨论一下 虚拟网络设备 首先我们要知道,虚拟网络并不需要完全遵照物理网络的样子来设计。...因此这时,就迫切需要有一台虚拟的交换机,来解决多容器之间的通信问题了。 交换机:Linux Bridge 既然有了虚拟网卡,我们很自然就会联想到让网卡接入到交换机里,来实现多个容器间的相互连接。...而Linux Bridge就是 Linux 系统下的虚拟交换机,虽然它是以“网桥”(Bridge)而不是“交换机”(Switch)为名,但在使用过程中,你会发现 Linux Bridge 看起来像交换机...小结 这节课我从模拟网卡、交换机这些网络设备开始,给你介绍了如何在 Linux 网络名称空间的支持下,模拟出一个物理上实际并不存在,但可以像物理网络一样,让程序可以进行通讯的虚拟网路。

    44320

    Linux中断虚拟(一)

    作者简介 王柏生 资深技术专家,先后就职于中科院软件所、红旗Linux和百度,现任百度主任架构师。在操作系统、虚拟技术、分布式系统、云计算、自动驾驶等相关领域耕耘多年,有着丰富的实践经验。...著有畅销书《深度探索Linux操作系统》(2013年出版)。 谢广军 计算机专业博士,毕业于南开大学计算机系。资深技术专家,多年的IT行业工作经验。...多年来一直从事操作系统、虚拟技术、分布式系统、大数据、云计算等相关领域的研发工作,实践经验丰富。 本文内容节选自《深度探索Linux虚拟技术》,已获得机械工业出版社华章公司授权。...所以在虚拟场景下,需要虚拟LAPIC和I/O APIC两个组件。...图4 硬件虚拟支持下的中断虚拟过程 Intel从硬件层面对虚拟进行了支持,实现了一个处于Guest模式的用于存储中断相关寄存器的virtual-APIC page。

    6.4K30

    Linux中断虚拟(二)

    作者简介 王柏生 资深技术专家,先后就职于中科院软件所、红旗Linux和百度,现任百度主任架构师。在操作系统、虚拟技术、分布式系统、云计算、自动驾驶等相关领域耕耘多年,有着丰富的实践经验。...多年来一直从事操作系统、虚拟技术、分布式系统、大数据、云计算等相关领域的研发工作,实践经验丰富。 本文内容节选自《深度探索Linux虚拟技术》,已获得机械工业出版社华章公司授权。...PIC虚拟 计算机系统有很多的外设需要服务,显然,CPU采用轮询的方式逐个询问外设是否需要服务,是非常浪费CPU的计算的,尤其是对那些并不是频繁需要服务的设备。...1 虚拟设备向PIC发送中断请求 如同物理外设请求中断时拉高与8259A连接的管脚的电压,虚拟设备请求中断的方式是通过一个API告诉虚拟的8259A芯片中断请求,以kvmtool中的virtio blk...我们看到这里是8259A主动发起中断过程,但是虚拟中断有些不同,中断的发起的时机不再是虚拟中断芯片主动发起,而是在每次准备切入Guest时,KVM查询中断芯片,如果有pending的中断,则执行中断注入

    6K10

    新手必读:Linux虚拟实现

    文章开头必须介绍下这位github开源大佬,是腾讯的一位前辈,仓库地址:https://github.com/yifengyou,里面有他学习的各种资料,包含linux内核态、用户态、虚拟、云原生、编程语言等分类...Linux Containers (LXC):LXC 是实现操作系统级虚拟的一种技术,它利用了 Linux 内核的特性,如 cgroups 和 namespace,来实现资源管理和隔离。...KVM KVM(Kernel-based Virtual Machine)是一种虚拟化解决方案,可以在Linux系统上运行多个隔离的虚拟机。...KVM本身是Linux内核的一部分,这意味着它能够利用Linux内核的所有功能和优化。 KVM是开源的,成为了许多虚拟平台和云计算解决方案的基础,例如OpenStack和Proxmox VE。...KVM与VMware的区别: 开源与专有:KVM(Kernel-based Virtual Machine)是一个开源的虚拟基础设施,可以集成到Linux内核中,而VMware提供的是专有的虚拟化解决方案

    54310

    前驱知识——Linux网络虚拟

    Linux网络虚拟 信息是如何通过网络传输被另一个程序接收到的?我们讨论的虚拟网络是狭义的,它指容器间网络。...Linux 系统下的网络通信模型 如果抛开虚拟,只谈网络的话,那我认为首先应该了解的知识,就是 Linux 系统的网络通信模型,即信息是如何从程序中发出,通过网络传输,再被另一个程序接收到的。...虚拟容器是以 Linux 名称空间的隔离性为基础来实现的,那解决隔离的容器之间、容器与宿主机之间,乃至跨物理网络的不同容器间通信问题的责任,就很自然地落在了 Linux 网络虚拟技术的肩上。...最后我想说的是,到目前为止,介绍的 Linux 下网络通信的协议栈模型,以及程序如何干涉在协议栈中流动的信息,它们与虚拟都没有产生什么直接联系,而是整个 Linux 网络通信的必要基础。...在下节课,我们就要开始专注于跟网络虚拟密切相关的内容了。

    1.1K20

    通过 Linux 容器进行虚拟

    简单介绍 Linux 容器是一种轻量级“虚拟”方法,用于在单个控制主机上同一时候执行多个虚拟装置(容器)。还有一个可用来描写叙述 Linux 容器所执行的操作的术语是“容器”。...Linux 容器提供操作系统级别的虚拟,当中的内核控制隔离的容器。容器通过内核控制组 (cgroup) 和内核命名空间进行隔离。...总结 Linux 容器提供了还有一个“虚拟”选项,该选项既有优势也有局限。...Linux 容器的局限 在主机系统的内核中执行,不能使用不同的内核 仅同意“虚拟机”操作系统 不是完整的虚拟堆栈,这与 SUSE Linux Enterprise Server 中相同包含的 Xen...或 KVM 不同,由于它们是完整的虚拟堆栈 必须了解 SUSE Linux Enterprise Server 11 中 Linux 容器的安全性。

    1.5K30

    Linux 网络虚拟隧道技术 VXLAN 认知

    VXLAN :虚拟扩展局域网(Virtual Extensible LAN)是一种虚拟隧道通信技术,它可以帮助我们在不同的物理网络间构建一个虚拟的网络。...VM指的是虚拟机,Hypervisor指的是节点的虚拟机管理器。VXLAN不仅能用在基于虚拟机的虚拟系统中,还被广泛应用于容器集群。...VTEP可以是网络设备(例如交换机),也可以是一台机器(例如虚拟集群中的宿主机); VNI(VXLAN Network Identifier):VNI 是每个 VXLAN 的标识,是个 24 位整数,...VXLAN 要求 Linux 内核版本在3.7以上,最好为3.9以上,所以在一些旧版本的 Linux 上无法使用基于 VXLAN 的封包技术。...在实际生产中,每台主机上都有几十台甚至上百台虚拟机或者容器需要通信,因此需要找到一种方法将这些通信实体组织起来,再经过隧道口 VTEP 转发出去 Linux 网桥可以连接多块虚拟网卡,因此可以使用网桥把多个虚拟机或者容器放到同一个

    26810

    linux time和kvm time虚拟综述

    linux time linux对时间有两种需求: 第一就是获取当前时间,就像人想知道时间时看墙上挂的时钟一样,简称clock,如time()/ftime()/gettimeofday()/data()...看x86代码,linux初始这些硬件设备,注册中断,中断处理中都调用到event_handler,简单理解为tick模块注册的函数,调用到tick的这个函数,它负责处理软件定时器,进行进程时间片计算等...guest写timer的超时时间就会导致exit出来,exit出来后kvm给一个软件定时器设置超时时间,等这个软件定时器超后,kvm生成一个时间虚拟中断,把这个中断注入给虚拟机。...看这台虚拟机,模拟rtc和pit,没有hpet。...总结 虚拟中时间问题太复杂,有些问题还没想明白,后面再对tsc虚拟pv timer一一分解,这个算是综述,全当抛砖引玉。

    3K00

    linux time和kvm time虚拟综述

    linux time linux对时间有两种需求: 第一就是获取当前时间,就像人想知道时间时看墙上挂的时钟一样,简称clock,如time()/ftime()/gettimeofday()/data()...看x86代码,linux初始这些硬件设备,注册中断,中断处理中都调用到event_handler,简单理解为tick模块注册的函数,调用到tick的这个函数,它负责处理软件定时器,进行进程时间片计算等...guest写timer的超时时间就会导致exit出来,exit出来后kvm给一个软件定时器设置超时时间,等这个软件定时器超后,kvm生成一个时间虚拟中断,把这个中断注入给虚拟机。...看这台虚拟机,模拟rtc和pit,没有hpet。...总结 虚拟中时间问题太复杂,有些问题还没想明白,后面再对tsc虚拟pv timer一一分解,这个算是综述,全当抛砖引玉。

    2.8K30

    虚拟技术(2)——存储虚拟

    分类 虚拟存储有多种分类方法,从大的方面可以分为:根据在I/O路径中实现虚拟的位置不同进行分类;根据控制路径和数据路径的不同进行分类。...根据在I/O路径中实现虚拟的位置不同,虚拟存储可以分为主机的虚拟存储、网络的虚拟存储、存储设备的虚拟存储。根据控制路径和数据路径的不同,虚拟存储分为对称虚拟与不对称虚拟。...通过存储虚拟,应用程序就不会再与某个物理性的存储程序相联系了。 存储虚拟可能帮助帮助存储容量扩增自动。不需要手动的配置,存储虚拟能够运用策略,分配更多的存储容量给所需的应用。...三层模型 根据云存储系统的构成和特点,可将虚拟存储的模型分为三层:物理设备虚拟层、存储节点虚拟层、存储区域网络虚拟层。...这个虚拟层由虚拟存储管理模块在虚拟存储管理服务器上实现,以带外虚拟方式管理虚拟存储系统的资源分配,为虚拟磁盘管理提供地址映射、查询等服务。

    6.9K60

    Python判断Xen虚拟Linux主机是否为虚拟

    华为的云计算采用的是Xen的虚拟,有时候我们要大致判断下主机是否为虚拟机。 Windows主机,直接资源管理器查看硬件设备。...而Linux主机可以用Python脚本来监测 判断 OpenVZ/Xen PV/UML 判断 OpenVZ/Xen PV/UML 是最容易的,直接检查 /proc 下的相关目录和文件就可以知道,比如 OpenVZ...VPS 上会有 /proc/vz 这个文件;Xen PV 虚拟机上会有 /proc/xen/ 这个目录,并且目录下有一些东西;UML 上打印 /proc/cpuinfo 会找到 UML 标志。.../usr/bin/python # check if a linux system running on a virtual machine (openvz/xen pv/uml) import sys...> 0):             print "xen dom0"         else:             print "xen domU"     # check User Mode Linux

    1.3K30

    Linux 网络虚拟 IPvlan(共享Mac地址的虚拟网络接口) 认知

    ——村上春树 IPvlan简介 与 Macvlan类似,IPvlan也是从一个主机接口虚拟出多个虚拟网络接口。区别在于IPvlan所有的虚拟接口都有相同的MAC地址,而IP地址却各不相同。...因为所有的 IPvlan 虚拟接口共享MAC地址,所以特别需要注意DHCP使用的场景。DHCP分配IP地址的时候一般会用MAC地址作为 机器的标识。...Linux内核3.19版本才开始支持IPvlan,Docker从4.2版本起能够稳定支持IPvlan。...一个父接口只能选择其中一种模式,依附于它的所有子虚拟接口都运行在该模式下。 L2模式: IPvlan L2模式和Macvlan bridge模式的工作原理很相似,父接口作为交换机转发子接口的数据。...IPvlan在各个虚拟网络和主机网络之间进行不同网络报文的路由转发工作。

    22910

    Linux 网络虚拟 Macvlan(基于物理网络接口虚拟网络接口) 认知

    ——村上春树 物理网卡的分身术:Macvlan Macvlan(MAC Virtual LAN)是一种在 Linux 操作系统上实现的网络虚拟技术。...它允许您创建基于物理网络接口的虚拟网络接口,并为每个虚拟接口分配独立的 MAC 地址。...Macvlan 的主要用途是网络虚拟(包括容器和虚拟机)。另外,有一些比较特殊的场景,例如,keepalived使用虚拟MAC地址。...但Macvlan的bridge模式和Linux网桥不是一回事,它不需要学习MAC地址,也不需要生成树协议(STP),因此性能要优于Linux网桥。...Macvlan是将虚拟机或容器通过二层连接到物理网络的一个不错的方案,但它也有一些局限性,例如: 每个虚拟网卡都要有自己的MAC地址,所以Macvlan需要大量的MAC地址,而Linux主机连接的交换机可能会限制一个物理端口的

    70910

    Linux虚拟化入门(二)Hyper-V 开启 KVM 嵌套虚拟

    日常办公使用 Windows 平台,需要研究 KVM 的使用,此时就需要在 Windows 提供的 Hyper-V 工具运行 Linux 虚拟机来测试 KVM 相关的使用,但是在 Hyper-V 虚拟机中再次运行...KVM 虚拟属于嵌套虚拟,需要开启相关功能。...下面给出 Hyper-V 开启嵌套虚拟的方法,默认您已经创建出一个虚拟机实例,下面的操作在虚拟实例中进行。...查看 Hyper-V 虚拟机是否支持虚拟 egrep -o 'vmx|svm' /proc/cpuinfo 没有输出说明不支持,下面进行设置,在 Windows 宿主机进行: 查看虚拟机参数 关闭虚拟机...虚拟机实现嵌套KVM虚拟 注:本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

    89630
    领券