Trustworthy Systems

To preempt or not to preempt, that is the question


Bernard Blackham, Vernon Tang and Gernot Heiser




Real-time operating systems (RTOSes) are traditionally designed to be fully preemptible. This improves the average interrupt response time of the system but increases kernel complexity. An alternative design is to make the kernel mostly non-preemptible and only handle pending interrupts at specific preemption points within the kernel. It is often said that this design leads to poor interrupt response times. However, for hard real-time systems the key requirement is on worst-case interrupt latencies. We claim that for a protected-mode RTOS, as required for multi-criticality systems, non-preemptible kernels can achieve worst-case latencies comparable to those of fully-preemptible kernels.

In order to understand the latency limits achievable in both approaches, we analyse and compare the worst-case interrupt latencies of a fully-preemptible commercial RTOS (QNX) and a non-preemptible real-time kernel (seL4). Our results indicate that a non-preemptible kernel can achieve interrupt latencies which are within a factor of two from those exhibited by a fully-preemptible kernel.

BibTeX Entry

    address          = {Seoul, Korea},
    author           = {Blackham, Bernard and Tang, Vernon and Heiser, Gernot},
    booktitle        = {Asia-Pacific Workshop on Systems (APSys)},
    doi              = {10.1145/2349896.2349904},
    keywords         = {real-time systems, trustworthy systems, microkernels},
    month            = jul,
    pages            = {7},
    paperurl         = {},
    publisher        = {ACM},
    slides           = {},
    title            = {To Preempt or Not To Preempt, That Is the Question},
    year             = {2012}