操作系统的动态更新new

操作系统的动态更新new

ID:34626139

大小:2.49 MB

页数:70页

时间:2019-03-08

操作系统的动态更新new_第1页
操作系统的动态更新new_第2页
操作系统的动态更新new_第3页
操作系统的动态更新new_第4页
操作系统的动态更新new_第5页
资源描述:

《操作系统的动态更新new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、复旦大学硕士学位论文操作系统的动态更新姓名:陈榕申请学位级别:硕士专业:计算机软件与理论指导教师:臧斌宇20070508操作系统的动态坐新摘要随着盯架构不断被部署到关系国计民生的支撑行业中,提供24x7的高可用性变得越发重要,对于运行着关键服务的系统任何形式的打断都将造成巨大损失。操作系统作为整个软件体系架构中的基础层与关键层,其可用性将直接影响到上层所有软件的可用性,因而如何提高操作系统的可用性成为提高软件可用性的关键问题之一。另一方面由于操作系统本身的庞大和复杂,现有的实现远远不够完善。为了修复安全隐患、纠正系统错误、提高软件性能和增加新的功能,操作系统在其生命周期

2、中需要不断的被更新和维护。但现有基于“更新一重启”的静态更新方法需要重启操作系统,导致整个可用性的丧失。HP实验室在2001年的研究报告中同样指出人为的系统维护是造成系统停机的最大原因。因此有效地降低系统维护引起的可用性丧失是提高操作系统可用性最直接有效的方法。动态更新技术(Dynamicupdate,orLiveupdate)能够在保持系统持续正常运行的情况下完成更新维护操作,是解决上述问题的最佳方法。但是在操作系统上实现动态更新技术面临多方面的困难。本文的主要工作是总结和分析了这些困难,并提出了一种利用系统虚拟化技术在当前通用操作系统上实现动态更新功能的有效方法。由

3、于当6n通用操作系统在设计上并没有考虑到对动态更新的支持,以及本身极高的复杂性,导致实现动态更新功能存在诸多困难。首先,当前通用操作系统几乎都是使用面向过程语言开发的,很难找到合适的粒度来进行动态更新,同时也不存在一种简单直接的方法能将对旧版本数据和函数的访问重定向到新版本数据和函数上。其次,当前通用操作系统采用多线程并发执行,随意的更新可能导致系统中同时出现使用不同版本数据和函数的线程,造成系统状态不一致。而现有基于安全点(safcPoint)l构解决方案又不适合像操作系统这样复杂的大型软件。最后,直接运行在物理硬件上的操作系统位于整个软件架构的底层,只能由自己来完成

4、对自身的动态更新。这种既是更新对象又是更新主体的情况很可能导致更新操作无法完成,甚至造成系统死锁或者崩溃。为了克服这些困难,我们提出了一种利用系统虚拟化技术在现有通用操作系统上实现动态更新功能的方法。该方法依靠位于操作系统和物理硬件之间,完全控制着整个系统的虚拟机监控器实现动态更新操作。首先在函数粒度上由虚拟机监控器通过二进制代码重写(binaryrewriting)实现访问重定向,其次彻底摒弃对IV探作系统的动态更新捕要安全点的依赖,支持在任意时刻对操作系统进行动态更新,使用虚拟机监控器保持多线程闯不同版本数据的同步,维持系统状态的一致性。最后使用位于更底层的虚拟机监

5、控器来完成对操作系统的动态更新,避免可能的死锁和系统崩溃。为了进一步完善动态更新系统,实现对虚拟机监控器的动态更新,我们在Lucos系统的基础上弓l入自虚拟化技术。自虚拟化技术实现了对虚拟机监控器的按需动态插入和移除,使得操作系统能够在物理硬件和虚拟机监控器两种执行环境间自由切换执行。直接运行在物理硬件上的操作系统能够完成对此时处于不工作状态下的虚拟机监控器的动念更新,而处于工作状态下的虚拟机监控器能够实现对上层操作系统的动态更新。为了验证上述方案的可行性,我们以开源虚拟机监控器Xen以及Linux操作系统为基础实现了名为Lucos(LiveUpdateofContem

6、poraryOperatingSystem)的动态更新系统,和名为Mercury的自虚拟化系统。实验结果表明,Lucos动态更新系统能够正确迅速的使用来自官方发布的补丁文件实现对Linux操作系统的动态更新,并且在性能方面,相对于运行在Xen上的Linux操作系统仅仅存在不到l%的性能损失。而Mercury系统成功的实现了Linux操作系统在两种执行环境上自由切换,并且运行在物理硬件上的Linux操作系统能够实现对虚拟机监控器Xen的动态更新。在性能方面两种执行环境下的Mercury系统相对于各自环境中的普通Linux操作系统存在的性能差距都不到2%。关键词:动态更新,

7、操作系统,可用性,系统虚拟化,自虚拟化中图分类号:TP316V操作系统的动态更新Ab虬radAbstractWiththewidedeploymentoflTinfrastructureinmission—criticalservices.itisvitalimportanttoprovidehighavailabilitytotheseservicesina24X7manneLAnyformofdismptiontotheseserviceswillcausedireconsequence.Operatingsystems,whichs

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。