抢占式操作系统内核验证框架的设计和实现

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:my163mail12
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
计算机系统被广泛应用于国防、通讯、金融等关键领域,构建高可信的计算机系统已成为世界范围的重要课题。操作系统内核作为计算机系统中的底层核心软件,其安全可靠性是构建高可信计算机系统的关键。防崩溃代码(crash proof code),即用形式化验证技术严格保证底层操作系统的正确性,被2011年MIT出版的《技术评论》评选为十大新兴技术之一,成为了一个新的研究热点。而操作系统本身的一些特征使得形式化验证变得困难,譬如很多操作系统通常由C语言和内嵌汇编实现、代码规模较大、支持多任务并发、中断和抢占等,在这些特征中由于抢占和中断导致内核代码的高度并发使得操作系统的验证变得尤其困难。操作系统的正确性通常使用应用程序编程接口(API)的具体实现与其高层抽象之间的精化关系来刻画,这使得操作系统正确性验证需要基于程序精化验证技术,而并发系统内核的验证需要同时结合并发验证和精化验证,这使得并发内核的验证变得十分困难。一方面,由于抢占和中断请求导致任务执行的不确定性使得并发内核的验证需要可组合的并发精化验证,而相关理论问题直到最近几年才被解决,因此之前的操作系统内核验证项目都通过避免抢占和中断来简化操作系统内核验证,它们验证的内核代码是串行的。另一方面,现有的可组合的并发精化验证技术和中断验证方法都是基于简化的理论模型,不能直接将其应用于商业化的抢占式操作系统内核验证工作中,需要进行调整和扩展。本文探索如何将可组合的并发精化验证技术和中断验证方法应用于验证商业化的抢占式内核,并做出了如下贡献:·本文设计并实现了第一个实用的抢占式操作系统内核验证框架。验证框架以验证操作系统内核功能正确性为目标,这里操作系统内核的功能正确性被定义为应用程序编程接口(API)的实现及其抽象规约之间的上下文精化关系。整个验证框架由三个部分构成:(1)操作系统内核的形式化建模;(2)一个支持多级中断的并发精化程序逻辑CSL-R用于验证内核代码的正确性;(3)以及一些自动证明策略来提高验证效率。·本文首次完成了一个商业抢占式实时操作系统内核μC/OS-Ⅱ的关键功能模块的正确性验证,包括任务调度程序,时钟中断程序,时钟管理,以及四种同步通信机制:消息队列、互斥锁、消息邮箱和信号量,总计约3450行C代码,覆盖了68%左右的常用API。同时在高层模型上证明了互斥锁满足无优先级反转的性质(priority-inversion-freedom, PIF)。值得一提的是,本文验证的是第三方开发的商用内核,而不是为了验证自己开发的内核。·本文所描述的操作系统内核验证框架和μC/OS-II的验证都已在定理证明工具Coq中实现,生成了机器可检查的证明。证明脚本的代码量总计约225000行,这是第一个商业化实时操作系统内核的核心功能模块的机器可检查证明。
其他文献
目的:探讨联用颈椎操和中医康复疗法治疗颈椎病的效果。方法:选取2016年1月至12月期间在重庆市黔江中心医院进行治疗的204例颈椎病患者作为研究对象。将这些患者分为参照组和
<正> 《文物》1990年第9期《江西德安南宋周氏墓清理简报》报道周氏墓内发现了纸钱。从图版和简略的文字介绍可以知道,纸钱装在一个展开后呈蝴蝶形的荷包内,由黄纸剪成,圆形
乾元元年(758)六月,大唐帝国朝堂发生了变动:陈涛斜之败的罪魁祸首、已经被罢免了一年多的宰相房琯被彻底赶出京城,贬到邠州(今陕西彬州一带)当刺史,顺带被处理的还有前国子
ZB45包装机盒片纵向输送第一接纸轮传动齿轮存在更换工序繁琐、维修工时长、影响在线生产作业的问题。改进第一接纸轮传动轴上键槽,将键槽铣出至轴端面,方便将齿轮和键取出,简化
目的:为改进我国药品安全治理相关支撑体系提供借鉴。方法:通过分析澳大利亚药品安全治理的主要方式、特点及成效,初步提出建设我国药品安全治理制度的建议。结果与结论:澳大
李光耀曾经说过:“空调对于我们来说是最重要的发明。也许是历史上最了不起的发明。空调的出现让热带的发展成为可能,改变了文明的本质。”诚如此言,托工业文明的福,空调、电
企业文化(Corporate Cuhure或Organizational Culture),是由企业价值观、信念、仪式、符号等组成的其特有的文化形象。简单而言,就是企业在日常运行中所表现出来的各方各面。在企
幼儿园开展民间童谣传承活动既是传承民族传统文化的需要,也是《幼儿园教育指导纲要》的精神要求。本文从运用优化语言艺术课程、融入音乐美术教育、结合表演游戏活动和开展