基于微内核架构的实时虚拟化技术的研究
- 格式:pdf
- 大小:4.19 MB
- 文档页数:95
了解服务器虚拟化技术的容器网络和微服务架构服务器虚拟化技术的发展在计算机领域产生了深远的影响,并推动了容器网络和微服务架构的兴起。
本文将介绍容器网络和微服务架构的概念、原理、应用场景以及优势。
一、容器网络容器网络是一种构建在服务器虚拟化技术基础上的网络架构,它通过在物理服务器或虚拟机上创建多个独立的容器实例,实现网络资源的高效利用。
容器网络将网络功能虚拟化,将网络资源划分为多个隔离的逻辑网络,使得每个容器实例都能独立运行,并拥有自己的网络配置和地址空间。
容器网络采用了轻量级的虚拟化技术,如Docker等,实现了资源的共享和隔离。
每个容器实例都可以运行自己的应用程序和服务,并且可以与其他容器实例进行通信。
容器网络具有以下特点:1. 灵活性:容器网络可以根据应用需求进行弹性伸缩,根据负载情况动态调整容器数量,以实现高可用性和高性能。
2. 高效性:容器网络采用轻量级的虚拟化技术,避免了虚拟机的资源浪费,提高了资源利用率和应用性能。
3. 网络隔离:容器网络能够实现容器之间的网络隔离,确保每个容器实例都能拥有独立的网络配置和安全性。
二、微服务架构微服务架构是一种将应用程序拆分为多个独立的、可独立部署的服务的架构模式。
每个微服务负责一个特定的业务功能,并且通过网络接口进行通信。
微服务架构将复杂的应用程序拆分为多个小而灵活的服务,提高了应用程序的可维护性和可扩展性。
微服务架构具有以下特点:1. 模块化:每个微服务都是独立的模块,通过API进行通信。
这使得开发团队可以独立开发、测试和部署每个微服务。
2. 可伸缩性:由于每个微服务都是独立部署的,可以根据需求动态调整每个微服务的数量,以适应不同的负载情况。
3. 容错性:当一个微服务出现故障时,其他微服务不会受到影响,整个应用程序依然可以正常运行。
容器网络与微服务架构的结合容器网络和微服务架构的结合可以实现更高效、灵活和可扩展的应用程序部署和管理。
容器网络提供了容器实例之间的网络通信基础设施,而微服务架构则将应用程序拆分为多个独立的微服务,通过容器网络进行通信。
基于虚拟化技术的云计算应用技术研究作为一种创新性的技术,云计算已经在我们的生活中发挥了重要作用。
与传统计算机系统相比,云计算可以提供更高效和节能的计算基础设施。
而基于虚拟化技术的云计算则更是将这种高效性和节能性发挥到了极致。
虚拟化技术是云计算中最为重要的技术之一,它可以将物理资源进行抽象和隔离,从而提供更为强大的计算能力。
在基于虚拟化技术的云计算应用技术研究中,有几个关键方面需要我们来了解和掌握。
一、虚拟化技术的发展历程虚拟化技术的出现已经有相当长的历史了。
早期的虚拟化技术是通过模拟器实现的,这种技术可以在一台计算机上运行多个操作系统。
但是由于它的效率很低,因此被淘汰了。
2004年,VMware公司推出了一个全新的虚拟化技术。
这项技术将操作系统和应用程序与硬件之间的交互分离开来,从而实现了在同一台计算机上运行多个操作系统的功能。
这项技术被称为“硬件虚拟化”,是目前最流行的虚拟化技术之一。
二、云计算的优势虚拟化技术是云计算中最为重要的技术之一。
基于虚拟化技术的云计算具有以下优势:1. 高效性:虚拟化技术可以将计算资源进行优化和整合,从而提高了计算效率和资源利用率。
2. 可扩展性:虚拟化技术可以为用户提供灵活、可扩展和可定制的计算资源。
3. 节能性:虚拟化技术可以将计算资源进行整合和优化,从而减少了电力和空间的消耗。
4. 可靠性:虚拟化技术可以提高计算资源的可靠性和可用性,从而保证了服务的稳定性和连续性。
三、基于虚拟化技术的云计算应用技术基于虚拟化技术的云计算应用技术涵盖了很多领域。
以下是一些常见的应用场景:1. 虚拟桌面技术:虚拟桌面可以将计算机桌面转换为一种云计算服务,从而实现任何地方、任何时间访问企业应用和数据的功能。
2. 虚拟存储技术:虚拟存储可以将存储容量划分成多个分区,从而使物理存储与逻辑存储分离,实现了存储资源的优化和整合。
3. 虚拟网络技术:虚拟网络技术可以将物理网络进行抽象和虚拟化,从而为用户提供灵活、可扩展和可定制的网络服务。
云计算环境下虚拟化技术研究与实现云计算是当今IT产业中的一股新兴势力,它通过将计算、存储、网络等资源在互联网上进行虚拟化,为用户提供高效、安全、可靠、弹性可扩展的服务。
虚拟化技术是构建云计算环境所必需的核心技术之一。
虚拟化技术是指使用软件技术将计算机硬件资源如CPU、内存、磁盘等进行抽象隔离,从而创造出多个虚拟的计算机系统,各个虚拟系统之间相互独立、相互隔离,每个虚拟系统都可以独立运行不同的操作系统和应用程序。
虚拟化技术具有高效、节省资源等优势,是云计算环境下最常用的技术手段。
虚拟化技术按照不同的维度可以分为多种类型,包括CPU虚拟化、内存虚拟化、磁盘虚拟化、网络虚拟化等。
其中CPU虚拟化是虚拟化技术中的核心,它主要的作用是将单个计算机的CPU资源分成多个虚拟CPU,每个虚拟CPU和一个独立的虚拟机相关联,从而让多个虚拟机可以同时运行在同一台物理机上。
在云计算环境下,虚拟化技术的研究和实现非常重要。
虚拟化技术有助于提高云计算系统的资源利用率,减少能源消耗和物理空间的占用。
同时,虚拟化技术可以提供更易管理、高可用性、弹性可扩展的云计算解决方案。
因此,虚拟化技术的研究和应用成为云计算领域的热点之一。
虚拟化技术的实现涉及到许多技术细节和问题,包括虚拟化软件的设计与实现、虚拟机的创建与管理、虚拟机与物理机之间的通信、虚拟机的负载均衡和资源调度等。
为了解决这些问题,开源社区和商业厂商都在积极地研究和开发虚拟化技术相关产品和解决方案。
在虚拟化软件的设计与实现方面,目前最常用的虚拟化软件包括Xen、KVM、vSphere等。
这些软件都实现了虚拟化的核心功能,不同之处在于各自的优劣和适用场景。
例如,Xen虚拟化软件相对来说比较稳定,适用于高性能计算和大型企业,而KVM虚拟化软件则更加注重轻量化和易用性,适用于小型企业和个人用户。
虚拟机的创建与管理是虚拟化技术的重要环节,目前在市场上已经有许多虚拟机管理工具,例如VMware、VirtualBox、Hyper-V等,这些工具能够帮助用户创建、部署和管理虚拟机,提高虚拟化的使用效率。
基于云平台的虚拟化技术的研究与应用随着互联网和云计算的普及,基于云平台的虚拟化技术已经成为了当下最重要的技术之一。
相比于传统的物理服务器,虚拟化技术将硬件资源进行了抽象化,让多个虚拟机(VM)运行在同一台物理服务器之上。
这种技术能够显著提高硬件资源的利用率,降低了应用开发和部署的成本。
在本文中,我们将探讨云平台虚拟化技术的研究和应用。
一、虚拟化技术的实现原理虚拟化技术的实现基于一种称为虚拟机监控器(VMM)的软件抽象层。
VMM 是一种运行在操作系统之下的虚拟机管理程序,其主要作用是将物理CPU和其他硬件资源抽象成多个虚拟的、独立的、安全的环境,也就是虚拟机。
这些虚拟机可以运行各自独立的操作系统和应用程序。
虚拟机之间是相互隔离和独立的,因此虚拟化技术能够为应用程序提供更加安全和可靠的环境。
二、云平台虚拟化技术的特点虚拟化技术本身并不是一项新技术,但是随着云计算走向成熟,虚拟化技术正在得到更广泛的应用。
云平台虚拟化技术通常包含以下几个特点:1、多租户支持。
在云平台虚拟化环境下,一台物理服务器可以同时运行多个虚拟机,每个虚拟机为不同的租户提供服务,不同租户之间的隔离极为重要。
2、高可用性和弹性伸缩。
云平台虚拟化环境能够自动检测服务器故障,并将虚拟机重新分发到其他可用的服务器上。
此外,云平台虚拟化还支持弹性伸缩,以及动态添加或删除虚拟机,实现应用程序的高可用性和灵活性。
3、自服务。
云平台虚拟化技术允许用户快速创建和部署虚拟机,同时提供自动化的管理和监控服务。
所有这些功能能够帮助企业节省资源、快速上线新应用和服务,提高效率。
三、云平台虚拟化技术的应用随着云平台虚拟化技术的普及,该技术也开始在各个领域得到广泛应用。
下面将分别介绍云平台虚拟化技术在以下几个方面的应用:1、云存储。
云存储通常由虚拟机提供支持,使用者可以选择不同容量和计算能力的云存储服务,并在需要时扩容或缩小存储空间。
云存储采用虚拟化技术,使得存储资源能够被集中管理、控制和监控,从而降低了管理成本,同时提高了存储效率。
基于云计算的虚拟化桌面技术研究与实现云计算和虚拟化技术是现代信息技术领域中的两个热门话题。
云计算技术通过网络提供可用的计算资源,为用户提供灵活、可扩展的服务。
而虚拟化技术则通过软件层的抽象,将物理资源虚拟化为多个逻辑实例,实现多租户的共享和资源的高效利用。
基于云计算的虚拟化桌面技术的研究与实现则是将这两个领域相结合,为用户带来更好的桌面体验和便利。
在传统的桌面环境中,每个用户需要有自己的物理计算机设备,这样会带来很多问题。
首先,用户的设备维护和更新的成本很高,而且不同用户可能有不同的需求,导致资源利用率低下。
其次,用户无法随时随地访问自己的桌面环境,不能跨设备使用。
而基于云计算的虚拟化桌面技术则能够解决这些问题。
基于云计算的虚拟化桌面技术采用了一个将计算和存储资源分离的架构,即桌面虚拟化平台。
平台包括一个管理服务器和多个物理计算节点,每个节点上运行着多个虚拟桌面实例。
当用户连接到虚拟化桌面服务时,会被分配到一个可用的虚拟桌面实例上。
用户可以通过终端设备(如PC、笔记本电脑、手机等)连接到该虚拟桌面实例,并在其中进行各种操作。
用户的数据和配置信息都存储在中心服务器上,用户可以在不同设备上实现无缝切换。
基于云计算的虚拟化桌面技术的实现过程中,还需要考虑到以下几个方面的问题。
首先是网络带宽和延迟。
用户通过网络连接到虚拟桌面实例,所以需要有足够的带宽来传输数据,同时需要保证延迟足够低,使用户能够流畅地操作桌面环境。
其次是服务器和存储资源的规模和性能。
虚拟化桌面服务需要支持多个用户同时使用,并且需要有足够的计算和存储资源来满足用户的需求。
最后是安全性和隐私性的考虑。
用户的数据和配置信息存储在中心服务器上,需要采取一系列措施来保证数据的安全和用户的隐私不被泄露。
在实现上述技术时,可以采用多种开源或商业软件来构建基于云计算的虚拟化桌面系统。
常见的开源软件包括VMware Horizon、Citrix XenDesktop和Microsoft Remote Desktop Services等。
云计算平台中虚拟化技术的研究与实现云计算是一项革命性的技术,它通过网络为用户提供各种计算资源和服务,极大地提高了计算资源的利用率和灵活性。
而云计算平台作为云计算的基础设施,起到了关键作用。
虚拟化技术是云计算平台中的核心技术之一,它通过软件的方式将物理资源抽象化,使得用户可以以虚拟化的方式来管理和利用这些资源。
虚拟化技术是云计算平台中的关键技术之一。
它通过将物理资源抽象化,划分成若干个虚拟实例,从而实现资源的灵活共享和使用。
虚拟化技术可以分为四个方面:服务器虚拟化、存储虚拟化、网络虚拟化和桌面虚拟化。
首先是服务器虚拟化技术。
服务器虚拟化通过软件的方式将一台物理服务器划分成多个虚拟服务器,每个虚拟服务器具有独立的操作系统和应用程序。
这样一台物理服务器就可以同时运行多个虚拟服务器,提高了服务器的利用率。
同时,虚拟化技术还可以实现虚拟服务器的迁移和备份,提高了系统的可靠性和灵活性。
其次是存储虚拟化技术。
存储虚拟化技术通过将多个物理存储设备抽象化成一个逻辑存储池,实现存储资源的集中管理和分配。
这样用户就可以根据需要快速分配存储资源,提高了存储资源的利用率。
同时,存储虚拟化技术还可以实现快照、克隆、镜像等功能,方便用户进行数据备份和恢复。
第三是网络虚拟化技术。
网络虚拟化技术通过将网络资源进行虚拟化,实现虚拟网络的创建和管理。
虚拟网络可以独立于物理网络存在,用户可以根据需要创建多个虚拟网络,使得不同虚拟机之间可以进行隔离通信。
同时,网络虚拟化技术还可以实现网络流量的调度和优化,提高网络的性能和可靠性。
最后是桌面虚拟化技术。
桌面虚拟化技术通过将用户的桌面环境进行虚拟化,实现用户桌面环境的隔离和集中管理。
用户可以通过网络访问虚拟桌面,无需依赖具体的终端设备。
桌面虚拟化技术可以提高用户的灵活性和可移植性,同时降低了维护成本和安全风险。
以上就是云计算平台中虚拟化技术的研究与实现的相关内容。
虚拟化技术作为云计算的核心技术,为用户提供了更高效、更灵活的计算资源和服务。
虚拟化技术的研究与应用第一章:引言虚拟化技术是当今信息技术领域中的一项重要技术。
虚拟化技术的问世使得计算机资源利用率得到了大幅度提高,同时也极大地降低了IT行业业务的成本。
虚拟化技术以其高效节约的优势,在当今IT业中扮演着重要的角色。
本文将从虚拟化技术的基本原理到应用实例的展开,希望能够让读者初步理解虚拟化技术及其应用。
第二章:虚拟化技术的基本原理2.1虚拟化技术的概念虚拟化技术是一种将一台物理服务器的多个虚拟计算机环境分割成多个逻辑上独立的计算机的技术。
虚拟化技术通过一个虚拟机管理器(VMM)来访问硬件资源,对应用程序和客户操作系统虚拟化进行抽象,从而在同一硬件上并存多个操作系统环境。
2.2虚拟化技术的分类基于不同的虚拟化技术设计和实现,虚拟化技术可以被分为4类:- 全虚拟化- 半虚拟化- 型号虚拟化- 操作系统虚拟化2.3虚拟化技术的优势虚拟化技术通过集中管理和优化资源使用,减少物理服务器的数量,同时减少能源成本等方面的优势,让计算机运行更加高效,保证用户能够通过网络获得资源的访问。
第三章:虚拟化技术的应用3.1 虚拟化技术在云计算中的应用云计算作为大数据时代下最火的技术,要求系统拥有高度的可信度和可用性,而虚拟化技术的运用可以实现数据中心的资源池化和共享,加快数据中心的资料共享和低成本管理。
虚拟化技术在云计算中被广泛应用。
3.2 虚拟化技术的网络应用虚拟化技术还可以被应用在网络之中,可以使得计算机硬件生成多个虚拟网线来提高网络访问速度和容量。
在服务器和存储之间,使用虚拟化技术将虚拟的网络虚拟机映射到存储,帮助企业在存储和应用上实现高度可用性和故障转移。
3.3 虚拟化技术在安全防护上的应用虚拟化技术可以避免恶意软件和危险文件潜入网络,提高网络安全防护性能。
它通过多重策略保护虚拟机、故不难受到来自外界的攻击,从而提高了信息安全保障系统的完整性和可靠性。
第四章:虚拟化技术未来发展方向未来虚拟化技术将出现以下两种发展方向:4.1 混合云随着云计算的发展,企业和机构发现采用混合云技术将有更好的资源管理、更灵活的流程管理及更全面的业务支持,未来虚拟化技术会被更广泛地应用于混合云模式。
基于云计算的虚拟化技术研究与应用1. 引言云计算作为一项颠覆性的技术,正在改变着现代信息技术的发展格局。
虚拟化技术作为云计算的关键技术之一,广泛应用于各个领域。
本文将探讨基于云计算的虚拟化技术研究与应用,从基本概念、原理到实际应用进行深入剖析。
2. 虚拟化技术的基本概念和原理虚拟化技术是指将物理资源抽象化、隔离化,并在此基础上创建多个独立的虚拟环境的技术。
其核心思想是通过软件的方式将硬件资源虚拟化,并为用户提供一个虚拟的运行环境。
虚拟化技术主要有服务器虚拟化、存储虚拟化、网络虚拟化等。
其中,服务器虚拟化是最为常见和重要的一种虚拟化技术,其基本原理是通过将物理服务器划分为多个虚拟机来实现资源的合理利用。
3. 基于云计算的虚拟化技术的研究进展随着云计算的快速发展,基于云计算的虚拟化技术也得以广泛应用。
云计算提供了强大的计算和存储能力,使得虚拟化技术能够更加高效地运行。
同时,云计算还为虚拟化技术带来了新的发展机遇,例如弹性伸缩、按需付费等。
目前,在基于云计算的虚拟化技术研究中,涌现出了许多重要的成果,如容器技术、多租户虚拟化等,这些成果为虚拟化技术的应用带来了更多选择和可能性。
4. 基于云计算的虚拟化技术在企业中的应用基于云计算的虚拟化技术在企业中具有广泛的应用前景。
首先,虚拟化技术可以提高企业服务器的利用率,降低企业的IT成本。
通过将多个虚拟机运行在一台物理服务器上,可以实现资源的共享和动态分配,从而提高服务器的利用率。
其次,虚拟化技术可以提高企业的业务灵活性和可靠性。
通过虚拟化技术,可以实现快速部署、快速恢复和动态调整等功能,从而更好地适应企业的业务需求。
此外,虚拟化技术还可以提供统一的管理界面和资源调度策略,简化企业的IT运维工作。
5. 基于云计算的虚拟化技术的挑战和未来发展尽管基于云计算的虚拟化技术已经取得了显著的成就,但仍然面临着一些挑战。
首先,安全性问题是目前云计算和虚拟化技术的一个重要研究方向。
云计算架构下的虚拟化技术研究在云计算时代,虚拟化技术是云计算架构的重要支撑。
云服务提供商采用虚拟化技术,通过将物理资源转变成虚拟资源的方式来实现资源统一管理,提高资源利用率,为用户提供弹性、高效、可靠的云服务。
一、云计算架构下的虚拟化技术云计算架构下的虚拟化技术分为三类:硬件虚拟化技术、操作系统虚拟化技术和应用程序虚拟化技术。
其中,硬件虚拟化技术是最基本的虚拟化技术,它可以实现多个操作系统共享一组物理硬件,比如服务器CPU、内存、磁盘、网络等资源。
硬件虚拟化技术通过虚拟机监控器(VMM)实现,VMM是运行在物理硬件和虚拟机之间的一层软件,它负责协调虚拟机对硬件资源的访问,同时还可以提供一些额外的虚拟化功能,如虚拟机迁移、负载均衡等。
操作系统虚拟化技术是在操作系统层面上进行的虚拟化,它可以实现多个独立的虚拟操作系统共享一个物理操作系统。
这种虚拟化方式通常被称为容器技术,容器与虚拟机相比,它们的资源隔离性和安全性差一些,但是启动速度快,性能高,还可以实现更好的资源利用率。
应用程序虚拟化技术也是在操作系统层面上进行的虚拟化,它可以实现多个应用程序共享一个物理操作系统。
应用程序虚拟化技术通常被称为容器化,它不仅能够提高应用程序的管理和部署的效率,还可以提高应用程序的可移植性。
容器化技术已经成为云计算架构的重要组成部分,许多云服务商都提供了基于容器的 PaaS服务。
二、虚拟化技术带来的好处虚拟化技术可以带来许多好处,比如:1.提高资源利用率虚拟化技术可以将一台物理服务器虚拟化成多个虚拟服务器,从而提高资源利用率。
在传统的物理服务器环境中,由于每台服务器一般只有单一应用程序运行,资源利用率很低,而采用虚拟化技术之后,多个应用程序可以共享物理服务器的资源,资源利用率大大提高。
2.降低成本虚拟化技术可以节约成本。
采用虚拟化技术之后,企业可以减少购买服务器的数量,减少对硬件设备的维护成本和物理空间的需求。
同时,虚拟化技术还可以实现资源的弹性伸缩,根据实际需求随时增加或减少资源,使企业更加灵活。
虚拟化技术的实现方法与架构设计分析虚拟化技术是一种在计算机领域中应用广泛的技术,它通过逻辑上的隔离和资源的抽象,使得一个物理计算机可以同时运行多个虚拟的计算环境,或者是将一个计算环境分割成多个逻辑上独立的部分。
虚拟化技术不仅提高了计算资源的利用率,还简化了系统的管理和维护工作。
本文将介绍虚拟化技术的实现方法和架构设计,并分析其优势和适用场景。
一、虚拟化技术的实现方法1. 操作系统层虚拟化操作系统层虚拟化是一种基于宿主操作系统的虚拟化方法,通过在宿主操作系统上运行多个虚拟机实例来实现虚拟化。
常见的操作系统层虚拟化技术包括Docker和LXC(Linux Container)。
这种方法的优势在于高效和轻量级,可以将资源的管理和分配交给宿主操作系统来完成,减少了虚拟化软件的开销。
操作系统层虚拟化适用于需要高密度部署和快速启动的场景,如云计算和容器化应用。
2. 硬件层虚拟化硬件层虚拟化是一种在硬件层面上实现的虚拟化方法,通过在物理服务器上运行虚拟机监控器(VMM)来实现虚拟化。
常见的硬件层虚拟化技术包括VMware和Xen。
这种方法的优势在于可以直接访问底层硬件资源,提供了更高的隔离性和安全性。
硬件层虚拟化适用于需要完全隔离和较高性能的场景,如企业数据中心和虚拟桌面基础设施。
3. 网络虚拟化网络虚拟化是一种将网络资源进行虚拟化的技术,通过将物理网络划分为多个逻辑网络来实现虚拟化。
常见的网络虚拟化技术包括VLAN(Virtual LAN)和VXLAN(Virtual Extensible LAN)。
这种方法的优势在于提高了网络资源的利用率和灵活性,可以根据需求动态地创建和管理逻辑网络。
网络虚拟化适用于需要隔离和灵活配置网络环境的场景,如多租户云环境和虚拟专用网络。
二、虚拟化技术的架构设计1. 单一服务器架构在单一服务器架构中,虚拟机监控器(VMM)作为一个软件层运行在物理服务器上,负责管理和分配物理资源给虚拟机实例。
上海交通大学硕士学位论文基于微内核架构的实时虚拟化技术的研究姓名:张易知申请学位级别:硕士专业:电路与系统指导教师:周玲玲20090101上海交通大学工学硕士学位论文 摘 要
I基于微内核架构的实时虚拟化技术的研究
摘 要 虚拟化技术,根据不同的实现途径,可以分为软件虚拟化技术和硬件虚拟化技术。软件虚拟化技术经过一段时期的发展,形成了基于主机系统和虚拟机管理器的全虚拟化架构和基于虚拟管理层的半虚拟化架构等诸多不同的现代虚拟机环境。与此同时,硬件厂商,例如英特尔,则提出了硬件虚拟化技术,针对性地对虚拟化实现上的各个环节进行了硬件功能的优化,有效地降低了虚拟化的开销,提高了虚拟化的性能。 但是,基于主机系统和虚拟机管理器的全虚拟化架构过于依赖主机系统的系统服务,导致基础代码大量增加,大大降低了系统的可靠性,并且很大程度上受限于主机系统的系统架构。另一方面,基于虚拟管理层的半虚拟化架构则缺乏稳健的系统构成,仅对虚拟机提供了大粒度的抽象,无法构建短小而精悍的系统。 在此基础上,本文设想、提出并实现了一种新的虚拟机环境,将两者的优点有机的结合起来。整个虚拟机环境被分成两部分:为环境提供可靠性,安全性以及隔离度的内核态虚拟机抽象;和提供资源管理和功能实现的用户态虚拟机管理程序。而这样的架构恰好符合诸如L4的现代微内核操作系统的架构特点。 为了进一步验证该虚拟机系统架构的可行性,本文通过对L4微内核进行一定的修改和功能扩充,实现了基于微内核架构的虚拟机环境的基本框架,分别使用Intel Vt-x虚拟化指令加强技术以及“影子页表”技术实现了对处理器和内存的虚拟化。实验表明,本虚拟机环境的设计不仅能有效地解决了系统的可靠性问题,同时利用微内核多样的调度机制,可以为虚拟机运行环境提供了良好的实时性支持。
关键词:虚拟化,微内核,操作系统,L4微内核,可靠性上海交通大学工学硕士学位论文 Abstract II RESEARCH OF REAL-TIME VIRTUALIZATION TECHNOLOGY BASED ON MICRO-KERNEL ARCHITECTURE
Abstract Virtualization technologies and virtual machines (VMs) recently regained attention as they can provide solutions to problems not only for high-end computing, but also for embedded systems as well. For example, network-enabled embedded systems can use virtual machines to provide hardened subsystems for banking and digital rights protection. However, current virtualization implementations have to force significant compromises to the host system architecture. Hypervisor-based VMs only provide limited abstraction of a real machine, preventing efficiency while hosted VMs mainly reuse the host’s operating system services and thereby greatly increase the trusted computing base, preventing reliable and verifiable systems.
In this report, we propose a new architecture of microkernel-based virtualization that allows multiple isolated operating systems to run concurrently on a microkernel system with high efficiency and real-time features supported. In this architecture, the virtual machine are constructed in a hypervisor-based way with the help of Intel’s Virtualization Technologies while they are still hosted by a microkernel system so that the virtual machine can contain both fine grain abstraction and small trusted computing base. Furthermore, with the help of the advanced real-time scheduling system
provided by the modern microkernel system, the virtual machine can support a hybrid runtime environment of both real-time and non-real-time applications.
Keywords: Virtualization, Microkernel, Operating System, L4 Kernel, Reliability 上海交通大学工学硕士学位论文 缩略语表 VI 缩略语表 OS Operating System 操作系统 IPC Inter-Process Communication 进程间通信 MID VM Mobile Internet Device Virtual Machine 手持互联网设备 虚拟机 VMM Virtual Machine Monitor 虚拟机管理器 IA32 Intel 32-bit Architecture 32位英特尔架构 VCPU Virtual Central Process Unit 虚拟中央处理器单元 VMCS Virtual Machine Control Structure 虚拟机控制数据结构 TCB Thread Control Block 线程控制块 UTCB User-level Thread Control Block 用户态线程控制块 TLB Translation Lookaside Buffer 页表缓冲 MSR IDT Model Specific Register Interrupt Descriptor Table 特殊模型寄存器 中断描述符表 GDT Global Descriptor Table 全局描述符表 TSS Task State Segment 任务状态段 PDBR Page Directory Base Register 页目录基地址寄存器 CR Control Register 控制寄存器 上海交通大学工学硕士学位论文 插图索引
VII 插图索引 图 1-1全球嵌入式系统的市场利润预期(截止到2009年).......................................2 图 2-1 新的软件层——虚拟机管理器(VMM)........................................................9 图 2-2 Intel VT-x技术中对VMExit机制的实现原理图.............................................14 图 3-1单内核操作系统(左)和微内核操作系统(右)结构比较图.........................20 图 3-2操作系统中的错误在各模块中的分布(来源:文献[18])............................21 图 3-3 Linux和L4Linux性能比较(来源:文献[19]).............................................23 图 3-4 L4的系统架构示意图...................................................................................24 图 4-1虚拟机架构: 管理层架构与主机操作系统架构之间的比较...........................29 图 4-2系统架构设计框图........................................................................................36 图 5-1虚拟硬件资源的不同方法:(a)仿真(b)重新映射(c)映射(d)多路复用........................................................................................................................43 图 5-2 主机与客户虚拟机之间的软硬件状态切换....................................................44 图 5-3 内存的虚拟化以及“影子页表”..................................................................46 图 6-1 VT-x技术中根操作模式与非根操作模式切换的示意图..................................49 图 6-2 L4线程的组成结构.......................................................................................52 图 6-3 L4线程控制块的排列与查找.........................................................................53 图 6-4 L4的线程控制块结构...................................................................................54 图 6-5 L4线程间的切换..........................................................................................55 图 6-6 基于L4的任务与线程机制的软件运行架构..................................................56 图 6-7 VCPU线程对TCB数据结构的扩展..............................................................57 图 6-8用户态可访问的寄存器以位-区域的形式从内核态被导出...............................58 图 6-9 VT-x初始化流程图.......................................................................................61 图 6-10 VCPU线程的初始化流程............................................................................62 图 6-11 VCPU线程的调度执行过程.........................................................................63 图 6-12 VM-Exit事件处理流程图............................................................................64 图 6-13 虚拟机系统模块之间的通信.......................................................................66 图 6-14 请求消息的协议格式..................................................................................67 图 6-15 恢复消息的协议格式..................................................................................68 图 7-1地址空间授予和映射操作的示意图...............................................................70 图 7-2 fpage字各位含义示意图.............................................................................72 图 7-3 虚拟机物理地址在系统中的继承关系...........................................................72 图 7-4 spacetype系统调用的结构.............................................................................73 图 7-5 影子页表机制..............................................................................................75 图 7-6 影子页表在L4内核中的实现.......................................................................77