![](https://static.zsdocx.com/FlexPaper/FileRoot/2019-3/16/17/3f78bf77-3a67-483e-8aac-629f71d8b977/3f78bf77-3a67-483e-8aac-629f71d8b977pic.jpg)
![操作系統(tǒng)的動態(tài)更新.pdf_第1頁](https://static.zsdocx.com/FlexPaper/FileRoot/2019-3/16/17/3f78bf77-3a67-483e-8aac-629f71d8b977/3f78bf77-3a67-483e-8aac-629f71d8b9771.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、隨著IT架構不斷被部署到關系國計民生的支撐行業(yè)中,提供24×7的高可用性變得越發(fā)重要,對于運行著關鍵服務的系統(tǒng)任何形式的打斷都將造成巨大損失。操作系統(tǒng)作為整個軟件體系架構中的基礎層與關鍵層,其可用性將直接影響到上層所有軟件的可用性,因而如何提高操作系統(tǒng)的可用性成為提高軟件可用性的關鍵問題之一。另一方面由于操作系統(tǒng)本身的龐大和復雜,現(xiàn)有的實現(xiàn)遠遠不夠完善。為了修復安全隱患、糾正系統(tǒng)錯誤、提高軟件性能和增加新的功能,操作系統(tǒng)在其生命周期中需
2、要不斷的被更新和維護。但現(xiàn)有基于“更新一重啟”的靜態(tài)更新方法需要重啟操作系統(tǒng),導致整個可用性的喪失。HP實驗室在2001年的研究報告中同樣指出人為的系統(tǒng)維護是造成系統(tǒng)停機的最大原因。因此有效地降低系統(tǒng)維護引起的可用性喪失是提高操作系統(tǒng)可用性最直接有效的方法。 動態(tài)更新技術(Dynamic update,or Live update)能夠在保持系統(tǒng)持續(xù)正常運行的情況下完成更新維護操作,是解決上述問題的最佳方法。但是在操作系統(tǒng)上實現(xiàn)
3、動態(tài)更新技術面臨多方面的困難。本文的主要工作是總結(jié)和分析了這些困難,并提出了一種利用系統(tǒng)虛擬化技術在當前通用操作系統(tǒng)上實現(xiàn)動態(tài)更新功能的有效方法。 由于當前通用操作系統(tǒng)在設計上并沒有考慮到對動態(tài)更新的支持,以及本身極高的復雜性,導致實現(xiàn)動念更新功能存在諸多困難。首先,當前通用操作系統(tǒng)幾乎都是使用面向過程語言開發(fā)的,很難找到合適的粒度來進行動念更新,同時也不存在一種簡單直接的方法能將對舊版本數(shù)據(jù)和函數(shù)的訪問重定向到新版本數(shù)據(jù)和函數(shù)
4、上。 其次,當前通用操作系統(tǒng)采用多線程并發(fā)執(zhí)行,隨意的更新可能導致系統(tǒng)中同時出現(xiàn)使用不同版本數(shù)據(jù)和函數(shù)的線程,造成系統(tǒng)狀態(tài)不一致。而現(xiàn)有基于安全點(Safe Point)的解決方案又不適合像操作系統(tǒng)這樣復雜的大型軟件。 最后,直接運行在物理硬件上的操作系統(tǒng)位于整個軟件架構的底層,只能由自己來完成對自身的動態(tài)更新。這種既是更新對象又是更新主體的情況很可能導致更新操作無法完成,甚至造成系統(tǒng)死鎖或者崩潰。為了克服這些困難,我們
5、提出了一種利用系統(tǒng)虛擬化技術在現(xiàn)有通用操作系統(tǒng)上實現(xiàn)動態(tài)更新功能的方法。該方法依靠位于操作系統(tǒng)和物理硬件之問,完全控制著整個系統(tǒng)的虛擬機監(jiān)控器實現(xiàn)動態(tài)更新操作。首先在函數(shù)粒度上由虛擬機監(jiān)控器通過二進制代碼重寫(binary rewriting)實現(xiàn)訪問重定向,其次徹底摒棄對安全點的依賴,支持在任意時刻對操作系統(tǒng)進行動態(tài)更新,使用虛擬機監(jiān)控器保持多線程問不同版本數(shù)據(jù)的同步,維持系統(tǒng)狀態(tài)的一致性。最后使用位于更底層的虛擬機監(jiān)控器來完成對操作
6、系統(tǒng)的動態(tài)更新,避免可能的死鎖和系統(tǒng)崩潰。為了進一步完善動態(tài)更新系統(tǒng),實現(xiàn)對虛擬機監(jiān)控器的動態(tài)更新,我們在Lucos系統(tǒng)的基礎上引入白虛擬化技術。自虛擬化技術實現(xiàn)了對虛擬機監(jiān)控器的按需動態(tài)插入和移除,使得操作系統(tǒng)能夠在物理硬件和虛擬機監(jiān)控器兩種執(zhí)行環(huán)境間自由切換執(zhí)行。直接運行在物理硬件上的操作系統(tǒng)能夠完成對此時處于不工作狀態(tài)下的虛擬機監(jiān)控器的動態(tài)更新,而處于工作狀態(tài)下的虛擬機監(jiān)控器能夠?qū)崿F(xiàn)對上層操作系統(tǒng)的動態(tài)更新。 為了驗證上述
7、方案的可行性,我們以開源虛擬機監(jiān)控器Xen以及Linux操作系統(tǒng)為基礎實現(xiàn)了名為Lucos(Live Update of Contemporary Operating System)的動態(tài)更新系統(tǒng),和名為Mercury的自虛擬化系統(tǒng)。實驗結(jié)果表明,Lucos動態(tài)更新系統(tǒng)能夠正確迅速的使用來自官方發(fā)布的補丁文件實現(xiàn)對Linux操作系統(tǒng)的動態(tài)更新,并且在性能方面,相對于運行在Xen上的Linux操作系統(tǒng)僅僅存在不到1%的性能損失。而Merc
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四操作系統(tǒng)-動態(tài)分區(qū)分配算法
- 操作系統(tǒng)課程設計-- 操作系統(tǒng)
- 淺談操作系統(tǒng)(操作系統(tǒng)論文)
- 操作系統(tǒng)課程設計——操作系統(tǒng)課程設計模擬操作系統(tǒng)
- 基于Linux操作系統(tǒng)動態(tài)調(diào)頻技術研究.pdf
- 操作系統(tǒng)a
- 操作系統(tǒng)
- 操作系統(tǒng)
- 操作系統(tǒng)課程設計--模擬操作系統(tǒng)的實現(xiàn)
- 操作系統(tǒng)linux主存管理操作系統(tǒng)實驗 5
- 操作系統(tǒng)程序設計-操作系統(tǒng)模擬實現(xiàn)
- 內(nèi)存管理(操作系統(tǒng))操作系統(tǒng)課程設計
- 操作系統(tǒng)的分類
- 操作系統(tǒng)的種類
- 操作系統(tǒng)實驗
- 操作系統(tǒng)2
- 操作系統(tǒng)98919
- 操作系統(tǒng)3
- 操作系統(tǒng)1
- 操作系統(tǒng)96322
評論
0/150
提交評論