云计算技术原理:系统虚拟化探索

需积分: 0 0 下载量 196 浏览量 更新于2024-07-01 收藏 3.69MB PDF 举报
"第二讲-hcm-云计算技术原理-虚拟化-2021.3.91" 本文主要探讨了云计算技术中的核心概念——系统虚拟化,这是2020-2021学年春季研究生选修课程《云计算技术原理》的内容,由胡春明、沃天宇、林学练、李建欣、李博组成的教学组讲解。课程重点讲述了虚拟化的基本原理、主流虚拟机技术,以及虚拟化在数据中心的应用。 首先,虚拟化技术的核心是创建并维护一个计算资源池,使得用户能够通过网络远程访问这些资源,并享受到快速且弹性的服务。它提供了一种“机器”的抽象,允许用户以远程访问的形式使用这些资源,例如通过Shell或远程桌面协议(RDP、RFB)。 虚拟化技术包括“一虚多”和“多虚一”两种形态。前者是指一台物理服务器被划分为多个独立的虚拟服务器,而后者则是通过集群技术,使多台服务器看起来像是一台单一的系统,提供Single System Image(SSI)。 以早期的CPU为例,如Ricoh6502,其具有特定的指令集和硬件结构。为了在现代操作系统(如Linux或Windows)上运行基于这种CPU的ROM,我们需要模拟器。模拟器能够模拟目标系统的硬件和指令集,使得可以在不同的平台上运行原本不兼容的软件。 虚拟化的实例包括模拟器(如运行Windows 7的虚拟机在MacOS X上)、Java虚拟机(JVM)以及各种类型的虚拟机,如API层虚拟机(Cygwin在Win32系统上实现POSIX API)、操作系统层虚拟机(如Linux VServer、User-Mode Linux)以及硬件层虚拟机(如Xen、KVM、VMware、QEMU)。 虚拟化技术主要分为指令级虚拟化,其中二进制翻译是关键。二进制翻译可以是解释执行、静态二进制翻译或动态二进制翻译,以实现源机器代码在目标机器上的执行。虚拟机启动时,会有一个启动模块加载程序,通过翻译系统和控制模块将源机器代码转换为目标机器代码,然后在目标机器环境中运行。 虚拟化技术通过创建抽象层,提高了硬件资源的利用率,简化了系统管理,并促进了跨平台兼容性。它在云计算中扮演着至关重要的角色,使得资源共享、服务扩展和系统隔离成为可能。