首页> 外文OA文献 >A Functional Approach to Memory-Safe Operating Systems
【2h】

A Functional Approach to Memory-Safe Operating Systems

机译:内存安全操作系统的功能方法

代理获取
本网站仅为用户提供外文OA文献查询和代理获取服务,本网站没有原文。下单后我们将采用程序或人工为您竭诚获取高质量的原文,但由于OA文献来源多样且变更频繁,仍可能出现获取不到、文献不完整或与标题不符等情况,如果获取不到我们将提供退款服务。请知悉。

摘要

Purely functional languages--with static type systems and dynamic memory management using garbage collection--are a known tool for helping programmers to reduce the number of memory errors in programs. By using such languages, we can establish correctness properties relating to memory-safety through our choice of implementation language alone. Unfortunately, the language characteristics that make purely functional languages safe also make them more difficult to apply in a low-level domain like operating systems construction. The low-level features that support the kinds of hardware manipulations required by operating systems are not typically available in memory-safe languages with garbage collection. Those that are provided may have the ability to violate memory- and type-safety, destroying the guarantees that motivate using such languages in the first place. This work demonstrates that it is possible to bridge the gap between the requirements of operating system implementations and the features of purely functional languages without sacrificing type- and memory-safety. In particular, we show that this can be achieved by isolating the potentially unsafe memory operations required by operating systems in an abstraction layer that is well integrated with a purely functional language. The salient features of this abstraction layer are that the operations it exposes are memory-safe and yet sufficiently expressive to support the implementation of realistic operating systems. The abstraction layer enables systems programmers to perform all of the low-level tasks necessary in an OS implementation, such as manipulating an MMU and executing user-level programs, without compromising the static memory-safety guarantees of programming in a purely functional language. A specific contribution of this work is an analysis of memory-safety for the abstraction layer by formalizing a meaning for memory-safety in the presence of virtual-memory using a novel application of noninterference security policies. In addition, we evaluate the expressiveness of the abstraction layer by implementing the L4 microkernel API, which has a flexible set of virtual memory management operations.
机译:纯函数语言-具有静态类型系统和使用垃圾回收的动态内存管理-是一种已知的工具,可帮助程序员减少程序中的内存错误数。通过使用这样的语言,我们可以仅通过选择实现语言来建立与内存安全性相关的正确性属性。不幸的是,使纯功能性语言安全的语言特性也使它们更难应用于操作系统构建等低级领域。支持操作系统所需的各种硬件操作的低级功能通常在具有垃圾回收功能的内存安全语言中不可用。所提供的语言可能具有违反内存和类型安全性的能力,从而破坏了最初使用此类语言的动机。这项工作表明,可以在不牺牲类型和内存安全性的情况下弥合操作系统实现的要求与纯功能语言的功能之间的鸿沟。特别是,我们表明可以通过在与纯功能语言很好集成的抽象层中隔离操作系统所需的潜在不安全内存操作来实现。该抽象层的显着特征是它公开的操作是内存安全的,但又具有足够的表达力以支持实际操作系统的实现。抽象层使系统程序员能够执行OS实现中必需的所有低级任务,例如操纵MMU和执行用户级程序,而不会损害使用纯功能语言进行编程的静态内存安全性保证。这项工作的特定贡献是,通过使用一种新型的无干扰安全策略应用程序,在存在虚拟内存的情况下通过形式化内存安全性的含义,对抽象层的内存安全性进行了分析。此外,我们通过实现L4微内核API来评估抽象层的表现力,该API具有一组灵活的虚拟内存管理操作。

著录项

  • 作者

    Leslie Rebekah;

  • 作者单位
  • 年度 2011
  • 总页数
  • 原文格式 PDF
  • 正文语种
  • 中图分类

相似文献

  • 外文文献
  • 中文文献
  • 专利

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号