黑洞视界分享 http://blog.sciencenet.cn/u/odyssey 清华大学天体物理中心副研究员

博文

使用虚拟机

已有 5336 次阅读 2014-1-28 02:48 |个人分类:科研心得|系统分类:科研笔记| Linux, windows, 虚拟机

       虚拟机并不是一个特别新的概念,早在上个世纪七十年代,IBM研究中心就在实验室里为其一台主机建了个镜像,算是虚拟机的鼻祖了吧。如今,大大小小或商业或开源免费的虚拟机软件加起来有二十几种之多【1】。虚拟机也是当今云计算的基础工具之一。

       对普通用户来说,虚拟机的存在是有历史原因的。长期以来,个人计算机的操作系统为两大阵营主导,即微软开发的Windows系统和各种UNIX兼容系统。年轻的一代可能不太熟悉UNIX,但提起Linux、苹果公司的MacOS以及智能手机上普遍安装的Android则应该不会陌生,其实这三种操作系统都由UNIX派生演化而来。Windows和UNIX当今的代表——Linux相比各有优缺点,有人做过详细的比较【2】,这里就不再累述。历史造成的现状是科学界(至少天文领域)的很多专业软件都在Linux或MacOS下运行,而绝大多数商业、办公软件都在Windows下面运行。如果想同时使用Windows和Linux(或其它类型的UNIX系统),那么眼下最好的解决方案或许就是使用虚拟机。

       使用虚拟机之前要想清楚把哪种操作系统设置为主操作系统(也称为宿主操作系统),哪种作为客操作系统?我本人对Windows和Linux都有比较长久的使用经历。目前则使用苹果生产的Macbook Pro笔记本,所以理所当然把MacOS当作主操作系统。通过虚拟机,在笔记本上又安装了Win7和Linux (Debian)操作系统。这样的组合是令人满意的。MacOS继承了UNIX的安全、稳定等优点,又增加了苹果公司专门设计的友好的图形用户界面,和之前的很多UNIX系统一样,符合科研人员的胃口。用虚拟机安装了Win7之后,一些非Windows下不能完成的工作,例如基金申请书的撰写、网络银行的操作等等,在MacOS下也能轻松应对了。对于之前一直使用Windows,刚刚接触科研,准备学习Linux的年轻人来说,建议还是把Windows当作主操作系统,在虚拟机上安装Linux用以体验、学习。等对Linux系统比较熟悉之后,再根据工作的需要决定是否更改主操作系统。

       虚拟机中几乎所有的硬件设备、接口,包括硬盘、光驱、声卡、显卡、显示器、USB口等等,都是虚拟化的。一旦安装好一台虚拟机,意味着它独立于特定的硬件设备和操作系统,可以方便地进行迁移和备份。例如,在Mac OS下用虚拟机软件VirtualBox安装了一个Win7系统后,可以把该系统提取出来,记录成标准的OVF格式文件,然后拷贝到另一台安装了Linux操作系统的机器中,该机器使用的是另一种虚拟机软件——VMWare。把OVF文件导入VMWare,一个一模一样的Win7系统就被克隆好了,整个过程可能不会超过10分钟。

       我们曾经在工作中遇到一个棘手问题,后来通过虚拟机得到了很好的解决。那是2009年,我参加一个中德合作项目,准备把德国科隆大学放在瑞士阿尔卑斯山上的一架口径为3米的亚毫米波望远镜搬迁到西藏的羊八井,那里的海拔更高,观测条件更好。望远镜本身已经有十多年的历史,一些控制程序运行在很“古老”的DOS操作系统下面。软件本身不会老化,但是计算机硬件会。东挪西凑、修修补补用了十多年后,望远镜控制电脑的硬盘开始永久罢工。当时市场能买到的硬盘因为接口关系根本装不上去,买类似的旧电脑更是不太可能。怎么办?用虚拟机搞定。安装一个带DOS操作系统的虚拟机,再跑原来的软件,一点问题都没有。而且,原来控制望远镜转动的是一台电脑,控制接受机运行的又是另外一台电脑,现在简单了,一台电脑就能搞定,因为一台目前主流的计算机可以毫不费力的运行多个虚拟机。

      目前,我们课题组正在开发一个天文学家专用的Linux版本——AIRE(Astrophysical Integrated Research Environment)-Linux【3】。AIRE-Linux将以虚拟机的形式发布给用户,相当于给用户提供一个专业的工作环境。天文领域的数据分析软件数目庞大,每个软件有着特定的用户群,因此,把所有软件打包放进虚拟机,然后发布一个巨大无比的文件是不太现实的,用户也不欢迎这样的产品。我们发布的是一个虚拟的裸机,文件总共也就800M大,上面配备了基本操作系统和图形化界面。用户下载安装虚拟裸机后,可以再根据自己的需要,通过网络把相应的天文软件包导入进来。

      如果将来AIRE-Linux的用户群很大,并且大家愿意共享计算、存储资源,那么这些数目巨大的虚拟机机群本身就能组合成为一台超级计算机,可以像SETI@home【4】那样在科学探索中做一些有意义的事情。

       回顾历史,虚拟机是计算机发展的自然产物。早期,人们开发操作系统,重视的是功能,不会也无法全面考虑相关的标准。在没有标准的情况下,不同的人就会有不同的想法去设计操作系统,差异化的操作系统便自然而然产生了。随着时间的推进,这种差异带给人们的麻烦越来越多,但想要推倒重来是不可能的。虚拟机的出现像是个无可奈何的妥协产品,它像胶水,把不同的操作系统粘在一起,先凑合着用。

       展望未来,虚拟机会消失吗?或许会!计算机的发展总是用标准的开放的产品替代混乱的封闭的产品。将来有可能推出一个关于操作系统的标准,彻底打破不同系统之间的壁垒,写好一个软件,便可以随处运行,到那时虚拟机也就没有存在的必要了。或许又不会!彻底、完整的标准化操作系统可能永远只是个梦想,多样化才是这个世界的本质。若是这样,虚拟机将继续扮演它的角色,为我们服务下去。


参考文献:

【1】各种虚拟机比较

【2】Linux vs. Windows

【3】AIRE - Linux

【4】SETI@Home



https://blog.sciencenet.cn/blog-3854-759415.html

上一篇:参观探月工程的遥科学探测大厅
下一篇:Matlab画图(一):生成高质量的供发表和展示用的图
收藏 IP: 166.111.89.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-11-24 09:59

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部