Software Systems

Towards trustworthy computing systems: Taking microkernels to the next level


Gernot Heiser, Kevin Elphinstone, Ihor Kuz, Gerwin Klein and Stefan Petters



Open Kernel Labs


As computer systems become increasingly mission-critical, used in life-critical situations, and relied upon to protect intellectual property, operating-system reliability is becoming an ever growing concern. In the past, mission- and life-critical embedded systems consisted of simple microcontrollers running a small amount of software that could be validated using traditional and informal techniques. However, with the growth of software complexity, traditional techniques for ensuring software reliability have not been able to keep up, leading to an overall degradation of reliability. This paper argues that microkernels are the best approach for delivering truly trustworthy computer systems in the foreseeable future. It presents the NICTA operating-systems research vision, centred around the L4 microkernel and based on four core projects. The seL4 project is designing an improved API for a secure microkernel, L4.verified will produce a full formal verification of the microkernel, Potoroo combines execution-time measurements with static analysis to determine the worst case execution profiles of the kernel, and CAmkES provides a component architecture for building systems that use the microkernel. Through close collaboration with Open Kernel Labs (a NICTA spinoff) the research output of these projects will make its way into products over the next few years.

BibTeX Entry

    author           = {Heiser, Gernot and Elphinstone, Kevin and Kuz, Ihor and Klein, Gerwin and Petters, Stefan},
    journal          = {ACM Operating Systems Review},
    issn             = {0163-5980},
    number           = {4},
    month            = {dec},
    volume           = {41},
    year             = {2007},
    keywords         = {security safety dependability real-time},
    title            = {Towards Trustworthy Computing Systems: Taking Microkernels to the Next Level},
    pages            = {3-11}