嵌入式开发常用的几款虚拟机

关注+星标公众,不错过精彩内容

dcb5e59f13496d7f9d75c23a3cafaf41.jpeg

作者 | 入门小站

说起虚拟机,相信作为技术人员的小伙伴们不会感到陌生。虚拟机的使用场景非常多,如搭建测试环境、在 Windows 系统中安装 Linux 或在 Mac 机器上运行 Windows 系统、甚至还可以用来进行安全实验。

虚拟机的关键优势在于实现了跟原生系统的完全隔离,这使得我们可以在虚拟机上做各类测试,而不担心[宿主机]的崩溃。

下面,我将介绍目前市面上适合个人用户使用的六款最佳虚拟化软件,让你可以更好的选择。

01.VMware Workstation

ae751b9360427ac5a38daa17b49b60bb.jpeg

Vmware 作为全球最知名的虚拟化企业,至今已有超过 20 年的发展历史。在针对个人用户的产品上,Vmware 提供了适用于 Apple Mac 的 Vmware Fusion 和适用于 PC 的 Vmware WorkStation。

Vmware Workstation 是一款功能强大的桌面虚拟计算机软件,可在一台主机上同时运行多个不同的操作系统。同时,也是少有可以支持 DirectX 12 和 OpenGL 4.7 的虚拟化软件,使得在虚拟机上能够轻松运行 3DMax、AutoCAD、Maya 等要求苛刻的应用程序。Workstation 还具有高级网络设置功能,允许您设置和管理更为精准的虚拟网络,也可为多个系统设置不同的隐私权限和网络配置;另外,软件带有的模板和克隆功能,使得批量创建虚拟机变得简单而方便。

在费用方面,Vmware 针对个人用户提供 Workstation Player 免费使用,若需更为专业和复杂的功能,则可升级至 Workstation Pro。

特点:

  • 提供针对个人用户的免费版本。

  • 支持[GPU]虚拟化。

  • 具有强大且全面的功能。

  • 支持 Windows 和 Linux 操作系统。

02.Vmware Fusion

57e1cc3b538f58ad82590850be1b39d6.jpeg

VMWare Fusion 是 VMware 针对 Mac 用户提供的虚拟化产品,尽管与 Workstation 名称不同,但两种产品实际上提供了相同的解决方案,并针对于不同的操作系统进了量身定制。

作为支持在 Mac 机器上运行 Windows 系统的软件,Fusion 设有 UnityView 模式,该模式可使各操作系统界面之间无缝衔接,同时也支持各操作系统之间直接拖曳文件等共享功能。针对开发人员和游戏玩家,Fusion 配备有 GPU 虚拟化功能,便于软件的开发或提高游戏画面质感。

针对个人用户,Fusion 提供免费的基本版;针对商业或需要高级功能的个人用户,则提供了付费的 Fusion Pro。

特点:

  • 支持 MacOS 系统

  • 支持 GPU 虚拟化。

  • 提供针对个人用户的免费版本。

03.VirtualBox

4e3a4faf9c1b29b97aa57ad60f6e7c6f.jpeg

VirtualBox 是由德国 InnoTek 软件公司出品的自由及开放源代码的虚拟机软件,现由甲骨文公司进行开发。VirtualBox 是一款优秀的虚拟化软件,可在 Windows,Linux,Macintosh 和 Solaris 主机上运行。对于虚拟化系统的支持非常广泛,从 XP 版本开始的 Windows 系统、任何高于 2.4 内核的 LInux 版本、Apple Mac、Solaris、OpenSolaris 甚至 OpenBSD Unix。在功能上,VirtualBox 支持 USB 设备的识别功能,GPU 虚拟化功能,可同时运行多个虚拟机系统窗口。

更重要的是,VirtualBox 是免费的,甚至包括企业版。

特点:

  • 免费

  • 支持非常广泛的操作系统

  • 支持 GPU 虚拟化技术;

04.QEMU

2b6d7a961e41fc3fbc94b628cef924cd.png

QEMU 是一款由法布里斯 · 贝拉等人编写,可执行硬件虚拟化的(hardware virtualization)开源仿真器(Emulator)。QEMU 与其他 VM 解决方案不同的地方在于,它既是虚拟机,也是机器模拟器。

QEMU 可以通过动态的二进制转换,模拟 CPU,并且提供一组设备模型,使它能够运行多种未修改的客户机 OS。QEMU 还可以通过与 KVM 一起使用,从而以接近真实电脑的速度来运行虚拟机。

特点:

  • 免费

  • 机器模拟器

  • 操作简单

05.Parallels Desktop

2a1a084a44599d13929cd654bf96aa92.png

Parallels Desktop 是由 Parallels 推出的一款为苹果电脑提供硬件虚拟化的软件,产品于 2006 年 6 月发布,它是第一款能在苹果 - 英特尔架构的苹果电脑上使用的虚拟化软件。

如果你想在 Mac 上运行 Windows 系统,那么 Parallels Desktop 会是你的最佳选择。它可以在 Intel 或 Apple M 系列 Mac 计算机上无缝运行 Windows 应用,最大限度地解决了 MacOS 与 Windows 软件生态差距方面的问题。

特点:

  • 轻松运行 Windows 应用程序

  • 与 macOS 集成

06.Microsoft Hyper-V

da6fb6c5ef7f830874452edf3dc582dd.png

Hyper-V 作为 Windows 10 Prd 和 Windows Server(2012 和 2016)的功能组件提供,用户无需为此支持额外费用。然而,你得到的只是一个非常基本的虚拟机管理程序,它的功能和 VMware 还相差甚远。

对于虚拟化系统的支持包括 Windows Server、Windows XP SP3 或更高版本、具有 3.4 或更高内核的 Linux 和 FreeBSD。但对 Linux 的驱动程序支持不是很好,并且没有虚拟 GPU 支持。

特点:

  • 与 Windows 系统集成

  • 无需额外费用

声明:本文部分素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。

------------ END ------------

d85ce71934749f8e37dfab406a6f6c70.gif

●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程

关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。

bbfd77c8dad480dc5622cbd02d5c80bb.jpeg

439f00c15cdbf7d9d28c9fa77bb60b1a.png

点击“阅读原文”查看更多分享。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CarpVM 是一个用 C 语言编写的小型虚拟机。可以嵌入在应用程序中使用。 包含的指令集有: HALT (code): Halts and attempts to clean up stack, data memory, and label memory before exiting with given exit code. NOP (): Does nothing. Seriously. LOAD (reg, val): Loads given integer value into given register. MOV (dst, src): Copies contents of src register into dst register. ADD (): Pops the top two integers from the stack and pushes their sum. SUB (): Pops the top two integers from the stack and pushes the difference (lower minus upper). MUL (): Pops the top two integers from the stack and pushes their product. MOD (rega, regb): Computes rega % regb and stores in ERX. NOT (reg): Computes bitwise NOT of reg and stores in reg. XOR (): Pops the top two integers from the stack and XORs them. OR (): Pops the top two integers from the stack and ORs them. AND (): Pops the top two integers from the stack and ANDs them. INCR (reg): Increments value in given register. DECR (reg): Decrements value in given register. INC (): Increments the value at the top of the stack. DEC (): Decrements the value at the top of the stack. PUSHR (reg): Pushes value in given register. PUSH (val): Pushes given value. POP (val): Pops an integer from the stack and dumps it into GBG. CMP (): Pops the top two integers from the stack and checks if equal. 0 means equal. Result will be pushed onto the stack. MOV (rega, regb): Move value in rega to regb. JZ (addr): Jumps to given absolute address if top of the stack is 0. RJZ (diff): Adds differential to current EIP (relative jump) if top of the stack is 0. JNZ (addr): Jumps to given absolute address if top of the stack is not 0. RJNZ (diff): Adds differential to current EIP (relative jump) if top of the stack is not 0. JMP (addr): Jumps to given absolute address. RJMP (diff): Adds differential to current EIP (relative jump). DBS (key, val): Sets data memory at key (string pointer) to given value. DBG (key, reg): Gets value from data memory at key (string pointer) and dumps it into given register. CALL (key, nargs): Save state and set EIP to value in data memory at key. RET (val): Push return value and load state. PREG (reg): Prints contents of given register. PTOP (): Peeks top of stack and prints top value. 标签:CarpVM

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值