论文部分内容阅读
虚拟化技术自二十世纪六十年代出现以来,发展迅速,尤其在目前云计算成为研究热点之后,虚拟化技术的研究更成为热点中的热点。虚拟化技术在出现之初,主要是为了能够将大型主机进行逻辑分区以构建多个独立的虚拟机,实现在大型机上同时运行多个应用程序和进程,以提高大型机的利用率。虚拟化技术还用于服务器加固,利用虚拟化技术让不同的应用程序运行在不同的虚拟机上,以实现应用程序之间性能的完全隔离,避免各个进程之间的互相影响。虚拟化技术在服务器灾难恢复领域也有快速发展,虚拟化技术的虚拟机能够在某一时刻保存状态或者对状态进行恢复,在将整个虚拟机某一时刻的运行状态保存下来之后,当虚拟机遇到灾难性事件而无法正常运行时,只需将最近保存的虚拟机状态进行恢复,就能使其重新运行。虚拟化技术在硬件的应用得到快速的发展之后,虚拟化技术在软件加固领域的应用还没有长足发展。因此,研究虚拟化技术在软件加固方面的应用,具有重要意义。针对虚拟化在软件加固方面应用,本文从几个方面做了较为深入的研究工作,并把研究重点放在利用虚拟机动态迁移来实现软件加固方面。本文的主要工作如下:(1)首先对虚拟化技术的起源发展、虚拟化技术目前的应用情况和虚拟化技术在计算机系统不同层次上的实现三个方面进行了综述。(2)对目前虚拟化技术在软件加固方面的应用做了介绍。虚拟化技术在软件开发,软件保护上都起到很大作用;本文在软件运行环境方面,做出努力,通过对虚拟机迁移的创新对软件运行环境进行有效优化,防止软件因为运行环境而出现错误,从而实现对软件的加固。(3)首先对虚拟机模型、虚拟机迁移的分类等进行概述,并重点介绍虚拟机动态迁移以及Xen虚拟机动态迁移。(4)针对现有虚拟机动态迁移的不足,本文提出一种新的虚拟机动态迁移策略,并阐述了实现过程,且通过实验证明本文提出的迁移策略实现了设计原则,达到了优化软件运行环境,实现智能软件加固的目的。