2023-2024-1 20232827 田紫晴《Linux内核原理与分析》第十周作业

本文详细介绍了KVM虚拟机技术,包括其与VMwareESXi、Xen的区别,以及在openEuler中StratoVirt的实现。接着探讨了Linux容器技术,重点讲解了Docker和iSula,强调了容器的隔离机制和在操作系统级别提供的虚拟执行环境。
摘要由CSDN通过智能技术生成

阅读学习教材「庖丁解牛Linux 分析 」第10,11章

第10章 KVM及虚拟机技术

10.1 虚拟机技术概述

     本节介绍了CPU、内存和IO的虚拟化

     主流虚拟化技术有VMware的ESXi、开源项目Xen和KVM等,它们的主要差别在于CPU的虚拟化、内存的虚拟化和I/O的虚拟化,以及调度管理实现有所不同。在ESXi中,所有虚拟化功能都在内核中实现;在Xen中,内核仅实现CPU与内存虚拟化,I/O虚拟化与调度管理由主机上启动的第一个负责管理的虚拟机实现;在KVM中,Linux内核实现CPU与内存虚拟化,I/O虚拟化由QEMU实现,调度管理通过Linux进程调度器实现,如图所示。

       主流虚拟化技术架构对比示意图除了ESXi、Xen和KVM,还有Hyper-V是微软推出的一种虚拟化技术解决方案。下面以当前主流的虚拟机技术之一(KVM)为例来分析虚拟机技术的实现原理。

10.2 掌握了KMV API的使用方法

10.3 QEMU-KMV的实现原理

10.4 Strato Virt

  StratoVirt是华为openEuler操作系统中引入的虚拟化技术,采用Rust语言编写实现。Strato取自Stratosphere,意指地球大气层中的平流层,大气层可以保护地球不受外界环境侵害,而平流层则是大气层中最稳定的一层;类似地,虚拟化技术是操作系统平台上的隔离层,既能保护操作系统平台不受上层恶意应用的破坏,又能为正常应用提供稳定可靠的运行环境;以Strato为名,寓意为保护openEuler平台上业务平稳运行的轻薄保护层。同时,Strato也承载了项目的愿景与未来:轻量、灵活、安全和完整的保护能力。

第11章 Linux容器技术

     在本章,学习了容器技术概述、Linux容器技术的基本原理、如何创建一个容器、Docker以及iSula。

    Linux容器技术是操作系统级别的虚拟化技术,可以在操作系统层次上为进程提供虚拟的执行环境,一个虚拟的执行环境被称为一个容器(container)。

  • 什么是容器?

       容器是一种沙盒(sandbox)技术,主要目的是将应用打包起来提供一个与外界隔离的运行环境,以及方便这个沙盒转移到其他宿主机器。本质上,容器是一组特殊的进程,通过namespace、cgroup等技术把资源、文件、设备、状态和配置划分到一个独立的空间,形成一个虚拟的操作系统环境。通俗的理解就是一个装应用软件的箱子,箱子里面有软件运行所需的依赖库和配置。开发人员可以把这个箱子搬到任何机器上,且不影响里面软件的运行。

  • Linux容器技术的基本原理?

        一个容器大致有3个底层关键技术支持其运行:第一个是通过chroot对文件系统进行隔离,虚拟出容器系统环境的根目录;第二个是通过namespace对pid、user id、网络等进行隔离,虚拟出容器的运行环境;第三个是通过cgroup对内存、CPU、I/O等资源进行隔离,用来管控容器消耗的系统资源。

  • 什么是Docker?

        Docker是一个开源的应用容器引擎,基于Go语言编写,遵从Apache 2.0开源许可证。Docker可以让开发者打包其应用及其依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上进行容器化部署。

 iSulad整体架构示意图

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值