秒懂虚拟化(二):服务器虚拟化、操作系统虚拟化、服务虚拟化全解析,通俗解读版-CSDN博客这篇文章学习了服务器虚拟化、操作系统虚拟化、服务器虚拟化,本节将继续学习桌面虚拟化、用户体验虚拟化、应用程序虚拟化。
1、桌面虚拟化
桌面虚拟化是指用户在同一个物理设备上可以同时访问多个相同或不同的操作系统桌面。而服务器将用户的桌面独立出来,每个用户都有自己的用户空间,相互不影响到对方。独立出来的桌面与相应的应用软件相配合则可以实现用户在远程访问桌面。
桌面虚拟化的实现方式可以是本地的,也可以是远程的。这取决于用户的技术方案选择。 常见的使用方式则是用户对过远程连接或者使用thin client(瘦客户机)对虚拟桌面进行访问与使用。 用户连接的设备也是不一定的,手机,笔记本或者其它可视化设备在安装了相应的支持软件即可。
2、用户体验虚拟化
用户体验虚拟化主要是为了解决用户在不同设备间切换使用时,能够保持一致的工作环境和体验。这意味着用户不用再为每个设备单独设置和调整配置,大大提高了用户的便利性。
以办公场景为例,一个用户在办公室使用台式机进行文档编辑,设置了特定的字体、字号、页面布局等参数,并且安装了一些个人偏好的插件。当他离开办公室,使用笔记本电脑或者平板电脑继续工作时,这些配置会通过云平台自动同步到新设备上。用户打开文档,看到的是和在台式机上一样的排版和配置,能够直接继续工作,而不会因为设备的更换而产生适应问题。
☀Microsoft UE - V,你听过吗?是什么技术呢?
(1)Microsoft UE - V(User Experience Virtualization)是微软推出的用户体验虚拟化解决方案。它可以捕获用户的应用程序设置和 Windows 操作系统设置。例如,它能够记录用户对 Office 软件(如 Word 的自定义快速访问工具栏设置、Excel 的数据透视表默认布局等)的个性化设置。
(2)这些设置会被存储在一个集中的位置,通常是企业内部的共享存储或者云存储(取决于企业的部署方式)。当用户登录到不同的 Windows 设备时,UE - V 会自动检测并将这些存储的设置应用到新设备上,确保用户在每台设备上都能获得一致的体验。
3、应用程序虚拟化
(1)有什么优势呢?
①跨平台性:应用虚拟化的核心优势之一是跨平台能力。以 Java 为例,JVM(Java Virtual Machine)作为 Java 程序的运行环境,起到了关键的跨平台作用。Java 代码在编译后会生成字节码,字节码是一种与平台无关的中间形式。当在不同操作系统(如 Windows、Linux、macOS)或者不同 CPU 架构(如 x86、ARM)的设备上运行 Java 程序时,JVM 会将字节码解释或编译成对应平台和 CPU 架构能够理解的机器语言。这使得开发者只需要编写一套 Java 代码,就可以在多种设备上运行应用程序,大大节省了开发成本和时间。
②应用虚拟化还提供了良好的隔离效果。例如,在一个操作系统中可能安装了多个应用程序,这些应用程序可能依赖于不同版本的库或者运行环境。通过应用虚拟化,每个应用可以拥有自己独立的运行环境,避免了不同应用之间的库冲突。
(2)Python 的应用虚拟化特点是什么?
①Python 有多种虚拟环境创建工具。venv 是 Python 标准库自带的工具,它允许用户在本地创建独立的 Python 环境。
②Conda 是另一个流行的 Python 虚拟环境和包管理工具,它不仅可以管理 Python 库,还可以管理非 Python 软件包。例如,在进行数据科学项目时,可能需要安装特定版本的 Python、R 语言以及一些复杂的科学计算库(如 NumPy、TensorFlow 等)和数据库(如 SQLite、MySQL 等)。Conda 可以帮助用户方便地创建一个包含所有这些软件包的虚拟环境,并且可以在不同的操作系统(如 Windows、Linux)之间进行环境迁移,只要这些操作系统上安装了 Conda。
(3)Wine可以使Windows 应用在 Linux 上的运行?
Wine 是一个在 Linux 和其他类 Unix 操作系统上运行 Windows 应用程序的兼容层。它并不是一个完整的虚拟机,而是通过模拟 Windows API 来让 Windows 应用以为自己是在 Windows 操作系统上运行。例如,许多游戏玩家可能希望在 Linux 系统上运行一些只有 Windows 版本的游戏。Wine 可以帮助实现这一目标,它可以将 Windows 游戏的安装文件进行解析,将游戏运行过程中对 Windows 系统的调用(如对 DirectX 的调用等)转换为 Linux 系统能够理解的方式。不过,Wine 的兼容性因应用程序而异,一些复杂的、对 Windows 系统有深度依赖的应用程序可能无法完美地在 Wine 环境中运行,但对于许多简单的 Windows 应用(如一些办公软件、小型工具软件等),Wine 提供了一个很好的在 Linux 系统上运行的解决方案。