To preempt or not to preempt, that is the question

  • Authors:
  • Bernard Blackham;Vernon Tang;Gernot Heiser

  • Affiliations:
  • NICTA and University of New South Wales, Sydney, Australia;NICTA and University of New South Wales, Sydney, Australia;NICTA and University of New South Wales, Sydney, Australia

  • Venue:
  • Proceedings of the Asia-Pacific Workshop on Systems
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 pre-emption points within the kernel. While this potentially worsens interrupt response times, 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 Neutrino) 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.