安全专家谈 虚拟机的分类及其几种应用
来源:互联网 发布:淘宝巴克110 编辑:程序博客网 时间:2024/06/09 20:05
所谓虚拟机,顾名思义,就是指一台虚拟的计算机。它的虚拟的含义,是相对于我们日常使用的物理计算机来讲的。物理计算机我们摸得到,看得见,CPU、硬盘、内存等等,这些设备我们都可以实实在在地接触到。而虚拟机,则是一种被虚拟化的技术,虚拟机中的CPU、内存等硬件设备我们都看不见,但是我们可以使用它们,可以使用虚拟机中的硬盘来存储数据,使用虚拟机中的网卡来连接网络,其实这些功能都是由程序模拟出来的,但是我们在使用过程中,并没有感觉到和真实的计算机有什么不同,这就是神奇的虚拟机技术。
而虚拟机技术最直接的应用,就是虚拟机软件。其最大的作用就是在一台普通计算机上模拟出另外一台乃至数台能够单独运行的操作系统,甚至还可以将这几个操作系统连成一个虚拟的局域网络。
二、虚拟机技术的几种应用
1.JAVA 虚拟机技术
众所周知,JAVA语言是一种跨平台的语言,JAVA语言编写的程序可以在Windows、Linux、UNIX等多种平台上运行,号称“一次编译,到处运行” 。那么是什么神奇的技术使其有这么强大的功能呢?其实这都是虚拟机技术的功劳,而JAVA虚拟机则叫做JVM (JAVA Virtual Machine)。JVM处于操作系统和JAVA语言之间,负责将高级语言JAVA转换成操作系统能够理解的语言,如图1。
图1 JVM所处于的位置
当JAVA语言在各个操作系统平台运行之前,需要安装相应的JVM程序,然后再将其语言进行编译,就可以运行在该操作系统上了。
2.虚拟机在杀毒软件中的应用
虚拟机在杀毒软件中也有着极为重要的应用,这主要表现在虚拟机脱壳上。壳是一种加密手段,病毒程序通过加壳来改变自身特征码,以躲避杀毒软件的查杀。较常见的壳有“UPX”、“NsPack”、“PePack”、“PECompact”、“ASPack”等。病毒加壳,就好比穿上“马甲”一样,而脱壳技术,就好比一把照妖镜,可以将加壳病毒显现原形。因此,杀毒软件都需要具有脱壳能力,其脱壳能力的好坏,直接影响着杀毒效果。目前在杀毒软件中,脱壳技术主要有两种,一种是靠程序脱壳,即针对每一种壳,都编写相应的脱壳程序,杀毒时先将加壳的程序脱壳后,再进行特征码匹配杀毒,这种方法的优点是脱壳速度很快,节省系统资源,但是当遇到新壳时,就无能为力了。因此又出现了虚拟机脱壳技术。
虚拟机脱壳技术,就是在杀毒软件内部,虚拟出来一个环境,让病毒在其中运行,等病毒脱掉它的“马甲”之后,在进行特征码的匹配杀毒。虽然现在的技术还无法在杀毒软件中完全虚拟出来一个真实的硬件环境,但是随着技术的进步,相信在不远的将来,虚拟机杀毒技术将是杀毒软件领域的新突破。
3. 商用虚拟机软件
目前,最为成功的商用虚拟机软件,无疑要数VMware 和 Virtual PC了,下面就简单介绍一下VMware这款优秀的虚拟机软件。
VMware可以虚拟出各种主流操作系统,如图2。
图2 VMware 能虚拟出各种主流操作系统
还可以虚拟出各种硬件,如图3红色框内的各种硬件设备。
图3 VMware 能虚拟出各种硬件设备
有了这么强大的虚拟机软件,我们可以在一台电脑中虚拟出各种操作系统,甚至可以将它们连接成一个局域网,如图4。
图4 在Windows XP系统中运行着Linux 操作系统
上图中,在Windows XP系统中正运行着Linux 操作系统。其实只要你的内存足够大,你完全可以虚拟出多个操作系统,以供你的需要。
三、虚拟机技术的展望
上面,就是向大家简单地介绍了一下虚拟机的概念和几个方面应用,可以想象到,虚拟机这种神奇的技术,无论是在高端企业级服务器,还是用户桌面应用程序中都将得到广泛的应用。(责任编辑:李磊)
s
来源:http://www.usbuse.com/Html/wangluaq/08162012.html
- 安全专家谈 虚拟机的分类及其几种应用
- IOS的几种动画及其简单应用
- 几种常见的Android自动化测试框架及其应用
- 几种常见的Android自动化测试框架及其应用
- UIViewController的几种跳转模式及其应用
- 几种常见的Android自动化测试框架及其应用
- 几种负荷预测方法及其应用
- 基金的几种分类
- 交换机的几种分类
- 人才的几种分类
- 计算机语言的几种分类
- EJB的分类及其各自的功能及应用
- 信息安全专家的故事
- 安全专家谈SDN能否带来更好的IT安全性
- 比较并说明下述几种I/O控制方式的优缺点及其应用场合。
- STM32学习笔记(五) ------ I/O的几种工作模式及其应用场合
- 【Android自动化测试】几种常见的Android自动化测试框架及其应用
- Android安全防护之旅---Android应用"反调试"操作的几种方案解析
- 这个夏天,香水“穿”出你的S曲线
- RhoStudio插件安装
- 如何自动登录路由器
- Error:"encountered a section with no package header" when apt-get update
- ToolRoot——让你的APK获取ROOT权限
- 安全专家谈 虚拟机的分类及其几种应用
- My C++ Wrapper for FreeTDS
- JDK环境变量的设置
- c++链表示例
- 数字索引数组根据指定key转关联数组
- test
- 程序员面试题精选——从尾到头输出链表
- 十进制转其他进制,含快速算法
- Eclipse 3.5.2配置J2ME环境和 WTK2.5.2下载