一、什么是虚拟机

虚拟机(英语:virtual machine),在计算机科学中的体系结构里,是指一种特殊的软件,可以在计算机平台和终端用户之间创建一种环境,而终端用户则是基于虚拟机这个软件所创建的环境来操作其它软件。虚拟机(VM)是计算机系统的仿真器,通过软件模拟具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统,能提供物理计算机的功能。

二、虚拟机的种类

虚拟机分三大类:

1.系统虚拟机(也称为全虚拟化虚拟机)可代替物理计算,它提供了运行整个操作系统所需的功能。虚拟机监视器(hypervisor)共享和管理硬件,从而允许有相互隔离但存在于同一物理机器上的多个环境。现代虚拟机监视器使用虚拟化专用硬件(主要是主机CPU)来进行硬件辅助虚拟化。

系统虚拟机有Linux虚拟机、微软虚拟机、Mac虚拟机、BM虚拟机 、HP虚拟机、SWsoft虚拟机 、SUN虚拟机、Intel虚拟机、AMD虚拟机、BB虚拟机等等类型。

2.程序虚拟机:
程序虚拟机 被设计用来在与平台无关的环境中执行计算机程序。
Java虚拟机(也称为: JVM) ,Java虚拟机,一种能够运行Java bytecode的虚拟机,以堆栈结构机器来进行实做。最早由Sun微系统所研发并实现第一个实现版本,是Java平台的一部分,能够运行以Java语言写作的软件程序。 Java虚拟机有自己完善的硬体架构,如处理器、堆栈、寄存器等,还具有相应的指令系统

3.操作系统层虚拟化
例如:Docker

三、区块链为什么需要虚拟机

区块链1.0时代:由比特币开创,这个时期的区块链技术主要是为不同的货币交易提供简单的技术支持。

区块链2.0时代:以以太坊开发智能合约以及图灵完备的EVM(一套完整的智能合约运行环境,合约官方语言为Solidity)为标志,此时的虚拟机发展已逐渐完善。以太坊获得了“世界电脑”的称号。

区块链3.0时代:以大规模DApp落地应用为特征,大规模的落地测试需要虚拟机来完成。

假如自己的电脑是windows 系统,或者mac系统,区块链软件开发需要安装linux系统。
linux系统的种类有Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

Linux虚拟机有:
1、VMware Workstation,是一款功能强大的桌面虚拟计算机软件;
2、VirtualBox,是一款开源虚拟机软件;
3、KVM;
4、Xen,是一个开放源代码虚拟机监视器;
5、OpenVZ;
6、Lguest等。

区块链软件开发主要会涉及Ubuntu、CentOS、Docker等。

1.Ubuntu
本人曾在自己的windows系统的戴尔笔记本电脑上安装了Ubuntu,搭建Hyperledger Fabric1.0开发环境,在用了一段时间后,一次进入双系统切换后发现始终进入Ubuntu系统,无法进入windows系统,于是自己参考网上网友的教程解决,不料电脑给破坏了,无法进入任何系统,只能出现戴尔的Logo,于是去了纽约上州一家Bestbuy请售后人员检查,一位看上去西班牙裔长相的工程师告诉彻底坏了,无法维修。我当时在想,我们中国人可以修改,这台笔记本电脑还可以服务我三年。
后来,我在纽约找到一个中国人修好了。他非常聪明,把我坏的电脑硬盘拆下来安装在另外的戴尔笔记本电脑上重新安装系统,再安装到我的电脑上结果重启成功,可以用了,不过双系统的切换仍然无法使用。

2.CentOS与Docker
2020年、2021年我在参加区块链软件开发与应用操作学习的时候认识的已多年从事区块链开发的同学,以及参加编程语言培训班授课老师的授课内容中服务器的管理都用到了CentOS,区块链软件开发遇到过Docker的应用。

为什么要用 Docker?
理由如下:
更高效的利用系统资源
更快速的启动时间
一致的运行环境
持续交付和部署
更轻松的迁移
更轻松的维护和扩展

(免费订阅,永久学习)学习地址:Dpdk/网络协议栈/vpp/OvS/DDos/NFV/虚拟化/高性能专家-学习视频教程-腾讯课堂

更多DPDK相关学习资料有需要的可以自行报名学习,免费订阅,永久学习,或点击这里加qun免费
领取,关注我持续更新哦! !

为什么要用 Docker?

Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。

Docker容器与虚拟机类似,但二者在原理上不同。容器是将操作系统层虚拟化,虚拟机则是虚拟化硬件,因此容器更具有便携性、高效地利用服务器。 容器更多的用于表示 软件的一个标准化单元。由于容器的标准化,因此它可以无视基础设施(Infrastructure)的差异,部署到任何一个地方。另外,Docker也为容器提供更强的业界的隔离兼容。[1]

资料:CentOS 7上安装Docker 1.8

CentOS 7上安装Docker 1.8​dockone.io/article/620正在上传…重新上传取消

Docker 在LinuxWindows 10macOS上的安装方法详解:

安装 Docker – Docker – 从入门到实践​yeasy.gitbook.io/docker_practice/install

3.虚拟机软件程序
虚拟机允许您在自己的个人窗口中模拟其他操作系统,就像现有的计算机一样。 VM软件的优点在于,您可以在macOS上运行Windows实例,反之亦然,以及包括Chrome操作系统,Linux等在内的许多其他不同操作系统组合。

当使用基于应用程序的虚拟机软件(也称为管理程序)时,您的计算机的操作系统通常称为主机。 在VM界面中运行的辅助操作系统通常称为guest。

在非Mac硬件(如Windows PC)上的虚拟机中运行macOS有时可能包含Oracle VirtualBox在内的多种软件解决方案。 但是,macOS只能在Apple硬件上运行,否则可能不仅违反了macOS许可协议,而且用户体验通常很慢,错误且完全不可预知。

(1)VMware Workstation
在市场上近二十年的时间里,VMware Workstation通常被视为虚拟机应用程序的行业标准 , 其强大的功能集涵盖了广泛的虚拟化需求。
VMware Workstation有两个版本的应用程序,Workstation Player和Workstation Pro,前者免费提供。
下载:

https://customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0​customerconnect.vmware.com/cn/downloads/info/slug/desktop_end_user_computing/vmware_workstation_pro/16_0

(2)VMware Fusion
该软件的基本版本是免费的,仅供个人使用,而Fusion Pro可以用于商业用途或需要访问高级功能集的个人。

它确实具有一些Mac特定功能,例如支持5K iMac显示器以及混合视网膜和非视网膜配置。 Fusion还包括Unity模式,该模式隐藏了Windows桌面界面,并允许您直接从Dock启动和运行Windows应用程序,就好像它们原生为macOS一样。
下载:

https://customerconnect.vmware.com/downloads/info/slug/desktop_end_user_computing/vmware_fusion/12_0​customerconnect.vmware.com/downloads/info/slug/desktop_end_user_computing/vmware_fusion/12_0

(3)Oracle VM VirtualBox
VirtualBox支持同时运行多个访客窗口的能力,并且还提供了一种便携性,可以将一台主机上创建的虚拟机轻松转移到另一台可能具有完全不同操作系统的虚拟机。

它在较旧的硬件上运行得相当好,可识别大多数USB设备,并提供一个有用的Guest Additions库,可供免费且易于安装。 这些附加功能包括在主机和客户操作系统之间传输文件和剪贴板内容,3D虚拟化和其他视频支持,以减轻虚拟机上许多视觉效果的常见问题。
下载:Try VM VirtualBox-Oracle Virtualization

(4)Parallels Desktop
根据您对Windows的主要用途,无论是设计,开发,游戏还是其他功能,Parallels都会针对Windows体验优化系统和硬件资源,这些体验通常会感觉就像在实际的PC上一样。

Parallels提供了您在付费虚拟机产品中所期望的大部分功能,以及许多Mac特有的功能,例如可以直接从Safari浏览器打开IE或Edge中的网站,并在Mac通知中心显示Windows警报。 文件可以在两个操作系统之间以及所有剪贴板内容之间快速拖动。 Parallels还包含专用云存储空间,可以在macOS和Windows上共享。

关于Parallels的一个常见误解是,它只能用于访客虚拟机中的Windows,而实际上它允许您运行Chrome OS,Linux甚至是第二个macOS实例。

有三种不同版本的Parallels可用,每种版本都适合特定的受众。 基本版面向那些首次从PC切换到Mac的用户,以及需要定期使用Windows应用程序的日常用户。
下载免费试用版:

Windows for Mac Download – Parallels Desktop 17 Free Trial | Parallels​www.parallels.com/products/desktop/trial/正在上传…重新上传取消

(5)QEMU
QEMU经常是Linux用户首选的管理程序。 开源模拟器模拟了一系列令人印象深刻的硬件外设,使用动态转换实现了理想的性能。
QEMU是一款由法布里斯·贝拉等人编写的免费的可执行硬件虚拟化的开源托管虚拟机。 其与Bochs,PearPC类似,但拥有高速,跨平台的特性。[2]
下载免费版:

QEMU​www.qemu.org/正在上传…重新上传取消

参考

  1. ^Dockerhttps://zh.wikipedia.org/wiki/Docker
  2. ^QEMU(quick emulator)https://zh.wikipedia.org/wiki/QEMU

原文链接:https://zhuanlan.zhihu.com/p/488253322