The role of language technology in trustworthy operating systems
Authors
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} }