虚拟化内核概念

这篇具有很好参考价值的文章主要介绍了虚拟化内核概念。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

虚拟化与云计算
2022年9月13日
13:51

VMM
X86系统是完全运行在裸机上的。X86提供四个特权等级,分别是ring 0-1,ring 0 的级别是最高的。
在Linux+X86中,操作系统需要直接访问内存和硬件所以需要运行在ring0上,而应用程序需要运行在ring3上,如果需要进行访问磁盘、读写文件的操作,需要执行系统调用函数,执行系统在调用的时候,CPU运行级别从ring3 到ring0 并跳转到系统调用对应的内核代码位置执行,完成后从ring0到ring3,这个过程叫做用户态和内核态的切换。
此时host os是在ring0工作的,而guest OS不能在ring0了。但是它依旧执行之前的命令,却没有执行权限。此时VMM会避免发生这个事情。VM通过VMM实现guest CPU访问硬件:全虚拟化、半虚拟化、硬件辅助虚拟化。inter引入inter-VT技术,这种CPU ,有VMX root operation 和VMX non-root operation模式,都支持ring0-ring3的运行级别,VMM可以运行在VMX rootoperation ,guest OS在VMX non-root operation.
从root mode到nonroot mode叫做VMX-ENTER 反之叫做XMV-EXIT。KVM虚机在需要执行GUEST OS指令时将CPU转换到VMX non-root mode ,vmx-enter。KVM用户机代码是受到VMM控制,QUEM只是通过KVM控制虚机来执行,本身不执行代码,CPU没有被真正的虚拟化
• 内存虚拟化
KVM内存虚拟化共享物理系统的内存,动态分配。KVM中,虚机的物理内存为qume-kvm进程所占用的空间。KVM使用CPU辅助内存虚拟化的方式。
影子页表:宿主机不能直接装载客户机的页表进行内存访问,guest OS 访问内存时需要进行多次的地址转换,首先是把客户机的虚拟地址转换成物理地址,再是根据客户机物理地址与宿主机虚拟地址之间的映射进行转换,再是将宿主机的虚拟地址转换成物理地址.但是通过影子页表可以实现客户机虚拟地址到宿主机物理地址的直接转换。
Intel的CPU提供了扩展页表EPT技术,直接在硬件上支持GVA-GPA-HPA,。KVM为了个GVA到GPA的转换。但是guest OS无法直接访问实际内存,所有需要VMM映射内存到实际机器内存(GPA-HPA)。

• I/O虚拟化
服务器组件的系统和可用I/O处理单元之间的硬件中间件,让多个guest可以复用有限的外设资源。
模拟设备的寄存器和内存,截获guest os对IO端口和寄存器的访问,通过软件的方式模拟设备的行为。
可使用的设备大致分为了三类:
• 模拟设备:完全由QEMU纯软件模拟的设备
• Virtio设备:实现virtio api的半虚拟化设备
• PCI设备直接分配
I/O虚拟化需要发现设备,控制各个虚拟机可以访问的设备。访问截获:通过I/O端口活MMIO对设备进行访问,通过DMA与内存进行数据交换。
Vritio
虚拟化和内核的关系,云计算,虚拟化,运维,linux,云计算

虚拟出特殊的设备-特殊的设备驱动,包括V中的front-end和back-end(前端驱动和后端驱动),两个驱动之间高效通信。
减少vm和主机的数据传输开销。
1.共享内存
2.batched I/O 批量IO
3.异步事件通知eventfd轻量级进程“等待/通知”
virtio半虚拟化设备实现了VIRTIO,减少了VM-Exit次数,提高了guest osI/O的执行效率。但是需要与virtio相关的驱动的支持,兼容性较差,并且I/O频繁时CPU的使用率较高。

主流的虚拟化技术
• XEN(对比ESX和HYPER-V,XEN支持更加广泛的CPU架构,前两个只支持CISC X86/X86-64 CPU架构,xen还支持RISC CPU架构)
xen的hypervisor是BIOS载入后的首个程序,是一个特殊的虚拟机称之为domain 0,对hypervisor进行控制和管理,其他虚拟机称之为domain U。Domain 0 是唯一可以直接访问物理硬件的虚拟机,通过本身加载的物理驱动,为其他虚拟机提供访问存储和网卡的桥梁。
虚拟化和内核的关系,云计算,虚拟化,运维,linux,云计算

xen的半虚拟化不要求CPU具备硬件辅助虚拟化,全虚拟化要求CPU具有硬件辅助u虚拟化的功能。
与hyper-v类似的是hypervisor层非常的薄,不包含任何物理设备驱动,物理设备的驱动均在domain 0之中,可以重用现有的Linux设备驱动程序。
内存回收的三种技术
虚拟化和内核的关系,云计算,虚拟化,运维,linux,云计算

KVM
基于内核的虚拟机
本质是Linux内核中的虚拟化功能模块kvm.ko,利用Linux做大量的事情。
KVM中,虚拟机就是一个进程,由CPU进行调度。
KVM运行在内核空间,提供CPU、内存的虚拟化,本身并不执行任何的模拟,运行子用户空间的QEMU提供硬件虚拟化
虚拟化和内核的关系,云计算,虚拟化,运维,linux,云计算
虚拟化和内核的关系,云计算,虚拟化,运维,linux,云计算
虚拟化和内核的关系,云计算,虚拟化,运维,linux,云计算

XEN平台更侧重安全性(映射必须通过hypervisor授权)、KVM平台更侧重性能(无需授权,访问路径较短)文章来源地址https://www.toymoban.com/news/detail-764533.html

到了这里,关于虚拟化内核概念的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux内核篇之虚拟化和容器化

    如今,inux 服务器也随之变得越来越强大了。无论是计算、网络、存储,都越来越牛。 但是也出现一些问题。 1、资源大小申请不灵活。比如想尝试新业务,只需要单独的4核8G的服务器资源,但是不可能采购这么小规格的机器;以及,每次申请这个资源都需要重新采购,周期

    2024年02月05日
    浏览(44)
  • 容器与虚拟化技术在云计算环境中的集成与运维实践

    作者:禅与计算机程序设计艺术 云计算是一种新型的分布式系统的计算机资源,其中涉及到的硬件设备,网络组件,存储设备都由云服务商提供并按需动态分配给用户,用户只需要关注业务逻辑的开发,部署和运行。 由于云计算平台的高度动态性,容器技术和虚拟机技术可

    2024年02月08日
    浏览(38)
  • 云计算虚拟化技术与开发-------虚拟化技术应用第一章内容(虚拟化技术概念、虚拟化特征、虚拟化目的、半虚拟化和全虚拟化特点和区别、虚拟化实现的三种结构的特点和区别)

    目录 虚拟化技术第一章主要内容 虚拟化技术的概念: 虚拟化的特征:         虚拟化的目的: 虚拟化与云计算的关系: 半虚拟化和全虚拟化的特点和区别:  虚拟化实现的三种结构的特点和区别:         虚拟化(Virtualization)是把物理资源转变为逻辑上可以管理

    2024年02月03日
    浏览(40)
  • 云计算的奥秘!!!(基于Linux虚拟化平台部署案例)

            云计算可以理解为就是将市面上所需的软硬件资源集中起来,使用特定虚拟化技术将这些软硬件资源整合分类,再将分类好的融入虚拟化技术的软硬件资源租赁给有需求的厂商与个人。在云计算发展初期,各大厂商使用云计算这种服务模式,只是为了解决厂商内部资

    2024年03月25日
    浏览(37)
  • 运维操作---虚拟化

    1. 虚拟化概述 (1). 引入   美国环境保护署(EPA)报告的一组有趣的统计数据就证明了其好处。EPA研究服务器和数据中心的能源效率的时候发现,实际上的服务器只有5%d的时间是在工作的。其他的时间,服务器都在处于”休眠”的状态。    --讲解的时候 联系现实生活中的案例

    2024年02月11日
    浏览(27)
  • 云计算是指利用互联网所提供的基础设施、网络服务和平台,实现数据中心的虚拟化、动态管理、自动化运维功能

    作者:禅与计算机程序设计艺术 云计算是指利用互联网所提供的基础设施、网络服务和平台,实现数据中心的虚拟化、动态管理、自动化运维功能。传统的数据中心的资源由专业IT人员手动管理,而云计算则让硬件资源可按需弹性扩展、弹性迁移、自动化伸缩、降低成本。

    2024年02月08日
    浏览(32)
  • 虚拟化概念详解

    虚拟化技术可以认为是一种对物理资源抽象化,进而形成虚拟化的版本的技术 物理资源组成庞大的资源池,然后可以按需分配,随意切割物理资源 服务器虚拟化 服务器虚拟化就是将虚拟化技术应用于服务器,将一台服务器虚拟成若干虚拟服务器,在该服务器上可以支持多个

    2024年01月21日
    浏览(34)
  • Docker虚拟化概念

    1、虚拟化技术的概念 虚拟化技术主要是将物理资源转变为逻辑上可以管理的资源; 用以打破物理资源结构之间的壁垒; 让计算的原件运行在虚拟的基础之上;而不是直接运行在硬件设备资源上; 说白了就是硬件资源转变成虚拟资源; 虚拟化技术的底层是要进行虚拟的硬件

    2024年02月05日
    浏览(28)
  • 云计算基础-计算虚拟化-内存虚拟化

    内存在物理上是由内存卡提供的,也就是我们俗称的内存条,内存条提供了物理内存。 在物理内存之上还有虚拟内存,虚拟内存操作系统给程序分配的一段连续的内存,属于逻辑上的概念。 虚拟内存和物理内存之间会有一个映射关系,这个映射关系我们称之为页表,通过页

    2024年02月20日
    浏览(41)
  • 开源免费虚拟化KVM的部署及其虚拟机资源变更、快照、克隆等常见运维操作

    实践说明:基于RHEL9(AlmaLinux9.1)部署,同类系统(CentOS9,RockyLinux9等)适用,但适用场景是不限于此的。 文档说明:本文档旨在帮助快速应用KVM虚拟化技术,重在实践操作,提供了简要参考。 文档形成时期:2021-2023年 因系统或软件版本不同,构建部署可能略有差异,但本文未做细

    2024年02月02日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包