Trustworthy Systems

The role of language technology in trustworthy operating systems

Authors

Gernot Heiser

    School of Computer Science and Engineering
    UNSW,
    Sydney 2052, Australia

Published:

Keynote at Workshop on Programming Languages and Operating Systems (PLOS)
Cascais
Portugal

Abstract

Recently, programming-language technology has generated strong interest among the designers of operating systems that are to be highly dependable. Several projects are using typesafe/managed languages for the implementation of OS kernels. The reader of the literature could be forgiven to think that a memory-safe implementation is a trustworthy implementation.

We argue that this is misleading, and trustworthiness requires much more, specifically functional correctness. The use of type-safe languages alone does not achieve this, and, given the complexity of the run-time system of such languages, may actually make it harder to achieve. We therefore argue that different levels of the software stack call for different PL technologies: simplicity (i.e., C + assembler) is king for building a trustworthy bottom layer, which can then be leveraged to provide a truly trustworthy runtime for managed languages, which in turn should be used to implement higher layers of system software.

BibTeX Entry

  @misc{Heiser_11:plos,
    author           = {Gernot Heiser},
    howpublished     = {Keynote at Workshop on Programming Languages and Operating Systems (PLOS), Cascais, Portugal},
    month            = oct,
    title            = {The Role of Language Technology in Trustworthy Operating Systems},
    year             = {2011}
  }

Download