Decomposition of preemptive scheduling in the Go! component-based operating system

  • Authors:
  • Greg Law;Julie McCann

  • Affiliations:
  • City University, London, UK;City University, London, UK

  • Venue:
  • EW 9 Proceedings of the 9th workshop on ACM SIGOPS European workshop: beyond the PC: new challenges for the operating system
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

Embedded systems are required to exhibit ever increasing functionality while continuing to use minimal resources. The next generation of embedded operating systems must support protection with very low overheads, as well as being (dynamically) configurable. Go! is a prototype component-based system that runs natively on the Intel 386 based PC. Its novel protection mechanism means that components are (optionally) protected from one another, but exhibit very low overheads. Furthermore, components can perform system tasks previously considered bound to the kernel (such as interrupt handling and preemptive scheduling).Go! does not provide multithreading, but is constructed so that components comprising a 'library operating system' may provide (preemptive) multithreading with relative ease. This paper describes that support, and goes on to present the scheduling provided by GTE (a 'proof-of-concept' library operating system built on top of Go ). We show that decomposing multithreading into thread components, an interrupt-dispatcher and a scheduler is practical, useful, stable, and performs well.