一、什么是虚拟机
虚拟机(英语: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系统,于是自己参考网上网友的教程解决,不料电脑给破坏了,无法进入任何系统,只能出现戴尔