Trustworthy Systems

The role of language technology in trustworthy operating systems


Gernot Heiser

    School of Computer Science and Engineering
    Sydney 2052, Australia


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


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

    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}