首页> 外文学位 >An Extensible Architecture for Building Certified Sequential and Concurrent OS Kernels.
【24h】

An Extensible Architecture for Building Certified Sequential and Concurrent OS Kernels.

机译:用于构建认证的顺序和并行OS内核的可扩展体系结构。

获取原文
获取原文并翻译 | 示例

摘要

Operating System (OS) kernels form the backbone of all system software. They have a significant impact on the resilience, extensibility, and security of today's computing hosts. However, modern OS kernels are complex and may consist of a multitude of sequential or concurrent abstraction layers; unfortunately, abstraction layers have almost never been formally specified or verified. This makes it difficult to establish strong correctness properties, and to scale program verification across multiple abstraction layers.;Recent efforts have demonstrated the feasibility of building large scale formal proofs of functional correctness for simple general-purpose kernels, but the cost of such verification is still prohibitive, and it is unclear how to use their verified kernels to reason about user-level programs and other kernel extensions. Furthermore, they have ignored the issues of concurrency, which include not just user- and I/O concurrency on a single core, but also multicore parallelism with fine-grained locking.;This thesis presents CertiKOS, an extensible architecture for building certified sequential and concurrent OS kernels. CertiKOS proposes a new compositional framework showing how to formally specify, program, verify, and compose concurrent abstraction layers. We present a novel language-based account of abstraction layers and show that they correspond to a strong form of abstraction over a particularly rich class of specifications that we call deep specifications . We show how to instantiate the formal layer-based framework in realistic programming languages such as C and assembly, and how to adapt the CompCert verified compiler to compile certified C layers such that they can be linked with assembly layers. We can then build and compose certified abstraction layers to construct various certified OS kernels, each of which guarantees a strong contextual refinement property for every kernel function, i.e., the implementation of each such function will behave like its specification under any kernel/user context with any valid interleaving.;To demonstrate the effectiveness of our new framework, we have successfully implemented and verified multiple practical sequential and concurrent OS kernels. The most realistic sequential hypervisor kernel is written in 6000 lines of C and x86 assembly, and can boot a version of Linux as a guest. The general-purpose concurrent OS kernel with fine-grained locking can boot on a quad-core machine. For all the certified kernels, their abstraction layers and (contextual) functional correctness properties are specified and verified in the Coq proof assistant.
机译:操作系统(OS)内核构成所有系统软件的骨干。它们对当今计算主机的弹性,可扩展性和安全性具有重大影响。但是,现代的OS内核很复杂,可能包含多个顺序的或并发的抽象层。不幸的是,抽象层几乎从未被正式指定或验证过。这使得建立强正确性属性以及跨多个抽象层扩展程序验证变得困难。;最近的工作证明了为简单通用内核构建大规模的功能正确性形式证明的可行性,但是这种验证的成本是仍然令人望而却步,目前还不清楚如何使用经过验证的内核来推断用户级程序和其他内核扩展。此外,他们还忽略了并发性问题,这些问题不仅包括单个内核上的用户和I / O并发性,还包括具有细粒度锁定的多核并行性。本文提出了CertiKOS,这是一种可扩展的体系结构,用于构建认证的顺序和并行操作。并发OS内核。 CertiKOS提出了一个新的组成框架,该框架展示了如何正式指定,编程,验证和组成并发抽象层。我们提出了一种基于语言的新颖抽象层说明,并表明它们对应于特别丰富的一类规范(称为深度规范)上的一种强大的抽象形式。我们将展示如何在逼真的编程语言(例如C和汇编语言)中实例化基于形式层的框架,以及如何使CompCert验证的编译器适用于编译经过认证的C层,以便它们可以与汇编层链接。然后,我们可以构建和组成经过认证的抽象层,以构建各种经过认证的OS内核,每个内核都保证为每个内核功能提供强大的上下文优化属性,即,在具有以下任何内核/用户上下文的情况下,每个此类功能的实现都将类似于其规范。任何有效的交错。为了证明我们新框架的有效性,我们已经成功实现并验证了多个实用的顺序和并发OS内核。最现实的顺序管理程序内核是用6000行C和x86汇编语言编写的,并且可以作为来宾启动Linux版本。具有细粒度锁定的通用并发OS内核可以在四核计算机上引导。对于所有已认证的内核,它们的抽象层和(上下文)功能正确性属性在Coq证明助手中指定和验证。

著录项

  • 作者

    Gu, Ronghui.;

  • 作者单位

    Yale University.;

  • 授予单位 Yale University.;
  • 学科 Computer science.
  • 学位 Ph.D.
  • 年度 2016
  • 页码 196 p.
  • 总页数 196
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号