嵌入式實(shí)時(shí)Hypervisor: XtratuM
發(fā)布時(shí)間:2020-05-27 11:40
【摘要】: 本論文是作者對(duì)XtratuM Hypervisor進(jìn)行學(xué)習(xí)和研究的工作總結(jié),涵蓋了作者為XtratuM Hypervisor所做的研究?jī)?nèi)容:中斷管理、Hypercall、任務(wù)管理、虛擬內(nèi)存管理等模塊向不同Linux內(nèi)核上的移植,域間通信工具、設(shè)備驅(qū)動(dòng)模型的設(shè)計(jì)和實(shí)現(xiàn),基于XtratuM Hypervisor的應(yīng)用實(shí)例(冗余實(shí)時(shí)控制系統(tǒng))開發(fā),XtratuM Hypervisor系統(tǒng)的重要功能模塊的評(píng)測(cè)和分析。 在XtratuM Hypervisor系統(tǒng)的研究過程中,文章實(shí)現(xiàn)了兩種域間通信工具:命名管道(FIFO)和共享內(nèi)存(SHM:Share Memory)。在命名管道和共享內(nèi)存設(shè)計(jì)和實(shí)現(xiàn)中,文章采用了Hypercall,Lock-Free,內(nèi)存映射等多種技術(shù),從而保證任務(wù)之間可以進(jìn)行可靠有效的實(shí)時(shí)通信。為了提高系統(tǒng)的可用性,使XtratuM能夠支持外接設(shè)備,文章構(gòu)建了一種適合XtratuM系統(tǒng)的設(shè)備驅(qū)動(dòng)模型:XMDEV,基于該設(shè)備驅(qū)動(dòng)模型,作者實(shí)現(xiàn)了實(shí)時(shí)串口設(shè)備驅(qū)動(dòng)。另外,為了提高XtratuM對(duì)不同Linux內(nèi)核的支持,文章對(duì)XtratuM系統(tǒng)相關(guān)中斷管理、Hypervall、任務(wù)管理等重要模塊進(jìn)行了優(yōu)化和功能擴(kuò)展,目前為止,XtratuM運(yùn)行的最高Linux版本是2.6.24.4。針對(duì)XtratuM Hypervisor的特點(diǎn),作者設(shè)計(jì)和實(shí)現(xiàn)了冗余實(shí)時(shí)控制系統(tǒng)。該冗余實(shí)時(shí)控制系統(tǒng)采用軟備份冗余技術(shù),當(dāng)主模塊發(fā)生異常退出時(shí),備份模塊將會(huì)被調(diào)度并恢復(fù)主模塊的運(yùn)行環(huán)境。最后,為了直觀的評(píng)估系統(tǒng),文章對(duì)反映系統(tǒng)整體性能的中斷延遲、調(diào)度延遲、Hypercall延遲、FIFO通信以及串口通信進(jìn)行了測(cè)試和分析。
【圖文】:
珊珊珊 珊 lll黝 黝 黝蘸 蘸莽 莽 莽 莽幾‘字字字re~肥 addddddd段 段 段 段井 井井井井井井井井 井” ” ” ”一~認(rèn) 1~~~~~~~要 要 要 要慈 慈 慈 慈芯 芯 芯 芯一冬二 二 二 二‘ ‘ ‘ ‘人二二 二 二 二 ;;;;;;;丫 ~~~~~~~RRRe簇 ddddddddd牡此rn少 ttttttttt亡 heCkkkkkkk圖2一13.RR問題模型圖2一13中,,低優(yōu)先級(jí)任務(wù)讀取數(shù)據(jù)時(shí)被高優(yōu)先級(jí)任務(wù)中斷,部分?jǐn)?shù)據(jù)被高優(yōu)先級(jí)任務(wù)讀出,當(dāng)具有低優(yōu)先級(jí)的任務(wù)重新被喚醒時(shí),低優(yōu)先級(jí)任務(wù)檢查出BOTTOM數(shù)值己經(jīng)發(fā)生改變,從而判斷有高優(yōu)先級(jí)任務(wù)被搶占自己并讀取數(shù)據(jù)并導(dǎo)致數(shù)據(jù)發(fā)生變化,根據(jù)判斷結(jié)果,低優(yōu)先級(jí)任務(wù)重新從FIFO中讀取數(shù)據(jù)。從而可以避免阻塞高優(yōu)先級(jí)任務(wù)并且保持?jǐn)?shù)據(jù)的一致性。 2.6.1.4FIFO/XMV3.0在 FIFO/XMV3.O中,丟棄了V].0和VZ.O中的讀寫卜IyperCallS,據(jù)內(nèi)存和控制內(nèi)存被映射到上層域內(nèi)核空間,另外,F(xiàn)工FO/XMV3F工FO操作功能。并且FIFO的數(shù)0支持更多的前面的章節(jié)中己經(jīng)介紹了內(nèi)存映射
作為數(shù)據(jù)源。如果所有的FIFo都沒有數(shù)據(jù),則Transmitte,· HOldingRegister空值中斷將會(huì)被屏蔽。當(dāng)客戶域有數(shù)據(jù)向F工For},寫入數(shù)據(jù)時(shí),該客戶域?qū)?huì)啟動(dòng)相關(guān)TransmitterH。 ldingRegiste,、的空值中斷。圖2一17給出了串口驅(qū)動(dòng)架構(gòu)以及圖2一18給出了設(shè)備驅(qū)動(dòng)的流程圖。ClielxtZSerVer〔’lielltl鑫蓋鬢籠三鬢,貧甲幾幾飛湯心獷甲尸畢甲二二二之,三比允二二扁二XXXt1’an承111 SerialPort圖2一17.串日驅(qū)動(dòng)系統(tǒng)架構(gòu)
【學(xué)位授予單位】:蘭州大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2009
【分類號(hào)】:TP368.1
本文編號(hào):2683480
【圖文】:
珊珊珊 珊 lll黝 黝 黝蘸 蘸莽 莽 莽 莽幾‘字字字re~肥 addddddd段 段 段 段井 井井井井井井井井 井” ” ” ”一~認(rèn) 1~~~~~~~要 要 要 要慈 慈 慈 慈芯 芯 芯 芯一冬二 二 二 二‘ ‘ ‘ ‘人二二 二 二 二 ;;;;;;;丫 ~~~~~~~RRRe簇 ddddddddd牡此rn少 ttttttttt亡 heCkkkkkkk圖2一13.RR問題模型圖2一13中,,低優(yōu)先級(jí)任務(wù)讀取數(shù)據(jù)時(shí)被高優(yōu)先級(jí)任務(wù)中斷,部分?jǐn)?shù)據(jù)被高優(yōu)先級(jí)任務(wù)讀出,當(dāng)具有低優(yōu)先級(jí)的任務(wù)重新被喚醒時(shí),低優(yōu)先級(jí)任務(wù)檢查出BOTTOM數(shù)值己經(jīng)發(fā)生改變,從而判斷有高優(yōu)先級(jí)任務(wù)被搶占自己并讀取數(shù)據(jù)并導(dǎo)致數(shù)據(jù)發(fā)生變化,根據(jù)判斷結(jié)果,低優(yōu)先級(jí)任務(wù)重新從FIFO中讀取數(shù)據(jù)。從而可以避免阻塞高優(yōu)先級(jí)任務(wù)并且保持?jǐn)?shù)據(jù)的一致性。 2.6.1.4FIFO/XMV3.0在 FIFO/XMV3.O中,丟棄了V].0和VZ.O中的讀寫卜IyperCallS,據(jù)內(nèi)存和控制內(nèi)存被映射到上層域內(nèi)核空間,另外,F(xiàn)工FO/XMV3F工FO操作功能。并且FIFO的數(shù)0支持更多的前面的章節(jié)中己經(jīng)介紹了內(nèi)存映射
作為數(shù)據(jù)源。如果所有的FIFo都沒有數(shù)據(jù),則Transmitte,· HOldingRegister空值中斷將會(huì)被屏蔽。當(dāng)客戶域有數(shù)據(jù)向F工For},寫入數(shù)據(jù)時(shí),該客戶域?qū)?huì)啟動(dòng)相關(guān)TransmitterH。 ldingRegiste,、的空值中斷。圖2一17給出了串口驅(qū)動(dòng)架構(gòu)以及圖2一18給出了設(shè)備驅(qū)動(dòng)的流程圖。ClielxtZSerVer〔’lielltl鑫蓋鬢籠三鬢,貧甲幾幾飛湯心獷甲尸畢甲二二二之,三比允二二扁二XXXt1’an承111 SerialPort圖2一17.串日驅(qū)動(dòng)系統(tǒng)架構(gòu)
【學(xué)位授予單位】:蘭州大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2009
【分類號(hào)】:TP368.1
【引證文獻(xiàn)】
相關(guān)博士學(xué)位論文 前1條
1 周睿;面向安全關(guān)鍵的虛擬化與分區(qū)操作系統(tǒng)研究與實(shí)現(xiàn)[D];蘭州大學(xué);2010年
本文編號(hào):2683480
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/2683480.html
最近更新
教材專著