嵌入式实时Hypervisor: XtratuM
发布时间:2020-05-27 11:40
【摘要】: 本论文是作者对XtratuM Hypervisor进行学习和研究的工作总结,涵盖了作者为XtratuM Hypervisor所做的研究内容:中断管理、Hypercall、任务管理、虚拟内存管理等模块向不同Linux内核上的移植,域间通信工具、设备驱动模型的设计和实现,基于XtratuM Hypervisor的应用实例(冗余实时控制系统)开发,XtratuM Hypervisor系统的重要功能模块的评测和分析。 在XtratuM Hypervisor系统的研究过程中,文章实现了两种域间通信工具:命名管道(FIFO)和共享内存(SHM:Share Memory)。在命名管道和共享内存设计和实现中,文章采用了Hypercall,Lock-Free,内存映射等多种技术,从而保证任务之间可以进行可靠有效的实时通信。为了提高系统的可用性,使XtratuM能够支持外接设备,文章构建了一种适合XtratuM系统的设备驱动模型:XMDEV,基于该设备驱动模型,作者实现了实时串口设备驱动。另外,为了提高XtratuM对不同Linux内核的支持,文章对XtratuM系统相关中断管理、Hypervall、任务管理等重要模块进行了优化和功能扩展,目前为止,XtratuM运行的最高Linux版本是2.6.24.4。针对XtratuM Hypervisor的特点,作者设计和实现了冗余实时控制系统。该冗余实时控制系统采用软备份冗余技术,当主模块发生异常退出时,备份模块将会被调度并恢复主模块的运行环境。最后,为了直观的评估系统,文章对反映系统整体性能的中断延迟、调度延迟、Hypercall延迟、FIFO通信以及串口通信进行了测试和分析。
【图文】:
珊珊珊 珊 lll黝 黝 黝蘸 蘸莽 莽 莽 莽几‘字字字re~肥 addddddd段 段 段 段井 井井井井井井井井 井” ” ” ”一~认 1~~~~~~~要 要 要 要慈 慈 慈 慈芯 芯 芯 芯一冬二 二 二 二‘ ‘ ‘ ‘人二二 二 二 二 ;;;;;;;丫 ~~~~~~~RRRe簇 ddddddddd牡此rn少 ttttttttt亡 heCkkkkkkk图2一13.RR问题模型图2一13中,,低优先级任务读取数据时被高优先级任务中断,部分数据被高优先级任务读出,当具有低优先级的任务重新被唤醒时,低优先级任务检查出BOTTOM数值己经发生改变,从而判断有高优先级任务被抢占自己并读取数据并导致数据发生变化,根据判断结果,低优先级任务重新从FIFO中读取数据。从而可以避免阻塞高优先级任务并且保持数据的一致性。 2.6.1.4FIFO/XMV3.0在 FIFO/XMV3.O中,丢弃了V].0和VZ.O中的读写卜IyperCallS,据内存和控制内存被映射到上层域内核空间,另外,F工FO/XMV3F工FO操作功能。并且FIFO的数0支持更多的前面的章节中己经介绍了内存映射
作为数据源。如果所有的FIFo都没有数据,则Transmitte,· HOldingRegister空值中断将会被屏蔽。当客户域有数据向F工For},写入数据时,该客户域将会启动相关TransmitterH。 ldingRegiste,、的空值中断。图2一17给出了串口驱动架构以及图2一18给出了设备驱动的流程图。ClielxtZSerVer〔’lielltl鑫盖鬓笼三鬓,贫甲几几飞汤心犷甲尸毕甲二二二之,三比允二二扁二XXXt1’an承111 SerialPort图2一17.串日驱动系统架构
【学位授予单位】:兰州大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP368.1
本文编号:2683480
【图文】:
珊珊珊 珊 lll黝 黝 黝蘸 蘸莽 莽 莽 莽几‘字字字re~肥 addddddd段 段 段 段井 井井井井井井井井 井” ” ” ”一~认 1~~~~~~~要 要 要 要慈 慈 慈 慈芯 芯 芯 芯一冬二 二 二 二‘ ‘ ‘ ‘人二二 二 二 二 ;;;;;;;丫 ~~~~~~~RRRe簇 ddddddddd牡此rn少 ttttttttt亡 heCkkkkkkk图2一13.RR问题模型图2一13中,,低优先级任务读取数据时被高优先级任务中断,部分数据被高优先级任务读出,当具有低优先级的任务重新被唤醒时,低优先级任务检查出BOTTOM数值己经发生改变,从而判断有高优先级任务被抢占自己并读取数据并导致数据发生变化,根据判断结果,低优先级任务重新从FIFO中读取数据。从而可以避免阻塞高优先级任务并且保持数据的一致性。 2.6.1.4FIFO/XMV3.0在 FIFO/XMV3.O中,丢弃了V].0和VZ.O中的读写卜IyperCallS,据内存和控制内存被映射到上层域内核空间,另外,F工FO/XMV3F工FO操作功能。并且FIFO的数0支持更多的前面的章节中己经介绍了内存映射
作为数据源。如果所有的FIFo都没有数据,则Transmitte,· HOldingRegister空值中断将会被屏蔽。当客户域有数据向F工For},写入数据时,该客户域将会启动相关TransmitterH。 ldingRegiste,、的空值中断。图2一17给出了串口驱动架构以及图2一18给出了设备驱动的流程图。ClielxtZSerVer〔’lielltl鑫盖鬓笼三鬓,贫甲几几飞汤心犷甲尸毕甲二二二之,三比允二二扁二XXXt1’an承111 SerialPort图2一17.串日驱动系统架构
【学位授予单位】:兰州大学
【学位级别】:硕士
【学位授予年份】:2009
【分类号】:TP368.1
【引证文献】
相关博士学位论文 前1条
1 周睿;面向安全关键的虚拟化与分区操作系统研究与实现[D];兰州大学;2010年
本文编号:2683480
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2683480.html