操作系统的动态更新

操作系统的动态更新

ID:5372514

大小:479.79 KB

页数:9页

时间:2017-12-08

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

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

1、万方数据小型微登计算机系统2007年12月第12期】oumalofChineseComputerSyster璐V01.28No.122007操作系统的动态更新陈榕,陈海波,张逢嚣,臧斌字(复旦大学并行处理研究所,上海200433)E—mail:chcnrong@fudan.edu,c“摘要:提出一种利用系统虚拟化技术在现有操作系统上添加动态更新功能的方法.远种方法在克服动态更新操作束统固有困难的同时摒卉了对安全点的像榴,支持在任意时剡进行动态更新.开发的Luc∞原型系统能在极短时间内使用官方发布的内核补丁对l』nux操作系统进行动态更新,并且性能测试表明Lucos对性

2、能仅仅造成可承忽略的影响:相比同运行环境下的Xen—Li叫x只有不到1“的性能损失,关键词:动态更新;系统虚拟化;操作系统,可用性中国分类号:TP311文献标识码:A文章编号;looo一1220(2007)12—2180—07DyⅡamicUpdateof0peratingSystemsCHENRong,CHENHai-bo,ZHANGFe“g—zhe,2ANGBin—yu(尸d劬fPm渊嘶ghn“m,F“删U”h吖“£y·S^4”g如f200433·西伽)AbstractiThi8Paperproposesusing7inuali距tioⅡtoprovidedyna

3、micupdatecapabilityforcommodityoperatingsy3tem-TheProposedapproachallow5patche8andupgradestobeappliedat8nytImewithouttherequirementof8qIIie$ceⅡcestate·Aworkingproto‘ype,Lucos,isdeveI。pedtodemonstratetheapplicabilicyoftheappr08ch.somereal—Iifekerr博Ipatche5fromLinuxareappliedontheflyinmIⅡ

4、lmltime.Performancemeasurem£ncsshowthatLucosincursnegligjbleperforman。eoVer.head;1e55than1“performancedegradationcomParedtoaXen_Linux.Keywords:dynamicupdat。fvirtu8lization;operati“gsystem;availab】lityl引言许多运行关键任务的系统都需要持续不断的运行,任何形式的打断都将造成巨大的损失.随着lT架构不断在关系国计民生的支撑行业中使用,服务中断所造成的损失也越来越大啪.操作系统

5、作为整个软件体系结构中的基础层与关键层,其可用性直接影响了执行于其上的所有软件的可甩性,因而如何提高操作系统的可用性成为提高软件可用性的基础与美键问题之一.然而,由于操作系统的复杂性和特殊性.现有的操作系统远远不够完美而无懈可击.因此,为了修复安全隐患.纠正系统错浸,提高软件的性能或是增加新的功能,操作系统不可避免地在其生命周期中需要教不断更新.不幸的是,现有的基于“更新一重启”方法将不可避免造成整十系统服务的丧失,这对于那些需要24×7小时高可用性的关键应用和服务而言将是不能承受的.从而。基于保证系统安垒性和提高系统可用性m这两方面出发.操作系统急需使用一种两全的方

6、祛即动态更新技术翻,在更新和维护系统的同时保证系统的正常运行.由于操作系统本身极高的复杂性造成在操作系统上实现动态更新面临来自多方面的困难.首先是来自编写操作系统所使用的开发语言.当前的通用操作系统几乎都是使用面向过程语言开发,导致根难找到一种通用的方法对系统中的效据和函数依据相关性进行精确的划分.同时采用“直接地址跳转”来完成对函数的调用造成很难实现对函数调用的重定向.然而动态更新技术要求能在系统中明确指出可以独立更新的最小单位一更新单元,以及能快捷实现函数调用的重定向.一种可能的解决方法是使用面向对象语言来编写操作系统,利用语言本身韵特性直接选择封装了数据和面数的

7、“对象”作为更新单元,同时应用函数跳转表实现调用重定向.由IBM实验室使用c++语言开发的开源操作系统K42[1“”“”就是一个利用面向对象技术实现动态更新的例子.但是这种方法显然无法应用到现有的操作系统上.其次是来自操作系统的多线程.由于操作系统必须同时执行多个任务,因此在整个生命局期中始终存在着大量线程同时运行,并且这些线程使用的数据和代码也交织在一起.随意对操作系统进行动态更新很可能导致更新后同时存在多个使用著新旧不同版本函致的线程一起操作全局数据,引发系统状态的不一致.因此进行动态更新前需要等待系统达到安全点(safepoint)啪,即所有线

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

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

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