如果你想组装一台小型工作站或者家用服务器的话,多多少少都会接触到虚拟机技术和Linux系统相关知识。对于虚拟机技术和Linux系统,大多数人觉得很懵懂。不过没关系,本期我和大家简单分享一些简单关于虚拟机技术和Linux系统的常识,仅供小白参考,各位大神和IT达人请多多指点包涵。
虚拟化,一个对于普通用户到IT狂人都有用的工具,但是它到底是什么来的?通常来说,它意味着在你电脑的硬件和想运行的软件之间插入多层软件,简单来说,就是在一个操作系统层之上运行另一个操作系统,一般是在一层以上运行多个操作系统。
你看过在一个新版本的Windows之中,用虚拟机运行着一个旧版本的Windows,虚拟化技术在现实中有着各种各样的应用。但是在我们谈论这个之前,明白电脑如何实现虚拟化有助于理解。你想一想,你的电脑给不同的软件授予不同的权限。因此,你的操作系统相比一般的软件享有更高的特权,比如能够直接访问你的内存、CPU之类的硬件,这种权限管理可以防止恶意软件攻击系统甚至导致崩溃。
正是因为上述原因,早期的虚拟化软件没有直接访问硬件的权限,而被迫像一般软件一样运行,因此不得不去翻译处理器实际的指令集以便虚拟操作系统可以实际使用或者作为替代方案。你可以安装一个叫做虚拟机管理器的程序来作为电脑的主系统。然后再把你的像Linux、Windows这类的主操作系统运行在管理器之上,以便运行一些实际的程序,但翻译指令带来的间接成本导致系统性能严重下降。
其实早在2005年前后,AMD和英特尔开始让他们的处理器原生支持虚拟机,从而使虚拟机管理器能够在操作系统层之下运行,这意味着系统将不再需要花费时间来翻译指令。从而能以接近原生系统的速度运行。
如果你想换个完全不同的系统,你完全可以先把它在虚拟机运行一下,而不用炸掉现有的硬盘分区和操作系统,更不用说操作系统之间的兼容性问题;如果你有不能丢失的重要文件,虚拟机还是个备份的简单途径,大部分虚拟机软件,支持保存虚拟系统某个时间点的快照,有点像是个超级系统还原功能。这种特性使其在服务器中很流行,因为它们经常需要保存一些冗余和备份数据来保证其持续工作,更不用说经常在一个服务器中运行着多个虚拟机,能够更充分地利用服务器的处理能力。
众所周知,现在服务器的硬件能力远未被充分利用,特别是当工作负载自身不支持多线程同时运算的时候。但是如果你希望做一些超级有意思的事情,你可以通过把你的游戏主机虚拟化将一台怪兽级别的电脑变成三台虚拟机,一台NAS(网络附属储存)以及供两个玩家同时使用。
Windows高度的兼容性使它适合大多数的日常使用,尤其受到游戏玩家的喜爱。但是,Windows是个封闭的操作系统。开发者和用户多多少少都会被限制在封闭的开发环境中,总会受到一些限制。而Linux不同,是完全开源的,可以有更多的权限,做到更多的事情。
其实,Linux有一个完全开源的内核。所谓的内核,也就是操作系统的核心部分,负责处理应用程序与硬件之间的交互。这意味着你可以用Linux为所欲为,将其应用于各种不同的场景。各个版本的Linux通常被称为“发行版”,简称“distros”。不同的发行版,为用户提供不同的软件工具和桌面环境,这些又与Linux内核紧密相连,从而构成一个完整的操作系统。
发行版各种各样,类似于Ubuntu或Mint的发行版,是广受欢迎的桌面系统,常被用作Windows的替代品,还包括智能手机上的安卓,超级计算机的也是Linux发行版的一种。Linux专注于安全和稳定,而Windows更注重易用。这使得Linux在服务器端和一些关键应用领域,广受欢迎。