Real-Time Systems

, Volume 43, Issue 2, pp 177–210 | Cite as

Enhancing a dependable multiserver operating system with temporal protection via resource reservations

  • Antonio Mancina
  • Dario Faggioli
  • Giuseppe Lipari
  • Jorrit N. Herder
  • Ben Gras
  • Andrew S. Tanenbaum


Nowadays, microkernel-based systems are getting studied and adopted with a renewed interest in a wide number of IT scenarios. Their advantages over classical monolithic solutions mainly concern the dependability domain. By being capable of dynamically detect and solve non-expected behaviours within its core components, a microkernel-based OS would eventually run forever with no need to be restarted. Dependability in this context mainly aims at isolating components from a spatial point of view: a microkernel-based system may definitely not be adopted in the context of real-time environments, simply basing on this kind of protection only.

One of the most active real-time research areas concerns adding temporal protection mechanisms to general purpose operating systems. By making use of such mechanisms, these systems become suitable for being adopted in the context of time-sensitive domains. Microkernel-based systems have always been thought of as a kind of platform not suited to real-time contexts, due to the high latencies introduced by the message passing technique as the only inter-process communication (IPC) facility within the system. With computer performances growing at a fairly high rate, this overhead becomes negligible with respect to the typical real-time processing times.

In the last years, many algorithms belonging to the class of the so-called Resource Reservations (RRES) have been devised in order to provide the systems with the needed temporal isolation. By introducing a RRES-aware scheduler in the context of a microkernel-based system, we may enrich it with the temporal benefits it needs in order to be deployed within domains with real-time requirements.

In this paper we propose a generic way to implement these mechanisms, dependent for a very small part on the underlying OS mechanisms. In order to show the generality of our RRES framework we implemented it in the context of Minix 3, a highly dependable microkernel-based OS with an impressive users base.


Operating systems Real-time systems Resource reservations Micro-kernel Dependability 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abeni L, Buttazzo G (1998) Integrating multimedia applications in hard real-time systems. In: Proc IEEE real-time systems symposium, Madrid, Spain Google Scholar
  2. Abeni L, Lipari G (2002) Implementing resource reservations in Linux. In: Real-time Linux Workshop Google Scholar
  3. Abeni L, Cucinotta T, Lipari G, Marzario L, Palopoli L (2005) Qos management through adaptive reservations. Real-Time Syst J 29(2–3):131–155 MATHCrossRefGoogle Scholar
  4. Baker TP (1990) A stack-based allocation policy for realtime processes. In: Proc IEEE real time systems symposium Google Scholar
  5. Caccamo M, Buttazzo G, Sha L (2000) Capacity sharing for overrun control. In: Proc 21st IEEE real-time systems symposium, pp 295–304 Google Scholar
  6. Faggioli D, Lipari G, Cucinotta T (2008a) An efficient implementation of the bandwidth inheritance protocol for handling hard and soft real-time applications in the Linux kernel. In: Proceedings of the fourth international workshop on operating systems platforms for embedded real-time applications, pp 1–10, July 2008 Google Scholar
  7. Faggioli D, Mancina A, Checconi F, Lipari G (2008b) Design and implementation of a posix compliant sporadic server for the Linux kernel. In: 10th real-time Linux workshop, pp 65–80, Oct 2008 Google Scholar
  8. Lipari G, Baruah S (2000) Greedy reclamation of unused bandwidth in constant bandwidth servers. In: Proc 12th Euromicro conf on real-time systems Google Scholar
  9. Hamann C-J, Reuther L, Wolter J, Härtig H (2006) Quality-assuring scheduling. Technical report, TU Dresden Google Scholar
  10. Hamann C-J, Roitzsch M, Reuther L, Wolter J, Härtig H (2007) Probabilistic admission control to govern real-time systems under overload. In: Proc 19th Euromicro conf on real-time systems Google Scholar
  11. Herder JN, Bos H, Gras B, Homburg P, Tanenbaum AS (2006) Construction of a highly dependable operating system. In: Proc 6th European dependable computing conf Google Scholar
  12. Herder JN, Bos H, Gras B, Homburg P, Tanenbaum AS (2007) Failure resilience for Device Drivers. In: Proc 37th int’l conf on dependable systems and networks Google Scholar
  13. Kaneko H, Stankovic JA, Sen S, Ramamritham K (1996) Integrated scheduling of multimedia and hard real-time tasks. In: Proc IEEE real-time systems symposium Google Scholar
  14. Lamastra G, Lipari G, Abeni L (2001) A bandwidth inheritance algorithm for real-time task synchronization in open systems. In: Proc 22nd IEEE real-time systems symposium Google Scholar
  15. Liedtke J (1996) Toward real microkernels. CACM 39(9):70–77 Google Scholar
  16. Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J Assoc Comput Mach 20(1):46–61 MATHMathSciNetGoogle Scholar
  17. Marzario L, Lipari G, Balbastre P, Crespo A (2004) Iris: A new reclaiming algorithm for server-based real-time systems. In: Proc IEEE real-time and embedded techn and app symp Google Scholar
  18. Mercer CW, Savage S, Tokuda H (1993) Processor capacity reserves: an abstraction for managing processor usage. In: Proc 4th workshop on workstation operating systems Google Scholar
  19. Mercer CW, Rajkumar R, Zelenka J (1994) Temporal protection in real-time operating systems. In: Proc 11th IEEE workshop on real-time operating systems and software Google Scholar
  20. Meurs R (2006) Building performance measurement tools for the MINIX 3 OS. Master’s thesis, 2006. Vrije Universiteit, Amsterdam Google Scholar
  21. Pessolani PA (2006) MINIX4RT: A real-time operating system based on MINIX. Master’s thesis. Universidad Nacional de La Plata Google Scholar
  22. Rajkumar R, Juvva K, Molano A, Oikawa S (1998) Resource kernels: a resource-centric approach to real-time and multimedia systems. In: Proc conf on multimedia comp and netw Google Scholar
  23. Rogina P, Wainer G (2001) Extending rt-minix with fault tolerance capabilities. In: Proc Latin-American conf on informatics Google Scholar
  24. Rogina P, Wainer G (1999) New real-time extensions to the minix operating system. In: Proc of 5th int conf on information systems analysis and synthesis Google Scholar
  25. Sha L, Rajkumar R, Lehoczky JP (1990) Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185 CrossRefMathSciNetGoogle Scholar
  26. Spuri M, Buttazzo GC (1994) Efficient aperiodic service under the earliest deadline scheduling. In: Proc IEEE real-time systems symposium Google Scholar
  27. Tokuda H, Nakajima T, Rao P (1990) Real-time mach: towards predictable real-time systems. In: Proc USENIX mach workshop Google Scholar
  28. Torrey LA, Coleman J, Miller BP (2007) A comparison of interactivity in the Linux 2.6 scheduler and an mlfq scheduler. Softw Pract Exp 37(4):347–364 CrossRefGoogle Scholar
  29. Tsafrir D, Etsion Y, Feitelson DG (2007) Secretly monopolizing the CPU without superuser privileges. In: USENIX security Google Scholar

Copyright information

© Springer Science+Business Media, LLC 2009

Authors and Affiliations

  • Antonio Mancina
    • 1
  • Dario Faggioli
    • 1
  • Giuseppe Lipari
    • 1
  • Jorrit N. Herder
    • 2
  • Ben Gras
    • 2
  • Andrew S. Tanenbaum
    • 2
  1. 1.Scuola Superiore Sant’AnnaPisaItaly
  2. 2.Vrije UniversiteitAmsterdamThe Netherlands

Personalised recommendations