Skip to main content
Log in

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

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Abeni L, Buttazzo G (1998) Integrating multimedia applications in hard real-time systems. In: Proc IEEE real-time systems symposium, Madrid, Spain

  • Abeni L, Lipari G (2002) Implementing resource reservations in Linux. In: Real-time Linux Workshop

  • 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

    Article  MATH  Google Scholar 

  • Baker TP (1990) A stack-based allocation policy for realtime processes. In: Proc IEEE real time systems symposium

  • Caccamo M, Buttazzo G, Sha L (2000) Capacity sharing for overrun control. In: Proc 21st IEEE real-time systems symposium, pp 295–304

  • 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

  • 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

  • Lipari G, Baruah S (2000) Greedy reclamation of unused bandwidth in constant bandwidth servers. In: Proc 12th Euromicro conf on real-time systems

  • Hamann C-J, Reuther L, Wolter J, Härtig H (2006) Quality-assuring scheduling. Technical report, TU Dresden

  • 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

  • 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

  • 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

  • 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

  • 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

  • Liedtke J (1996) Toward real microkernels. CACM 39(9):70–77

    Google Scholar 

  • Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J Assoc Comput Mach 20(1):46–61

    MATH  MathSciNet  Google Scholar 

  • 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

  • Mercer CW, Savage S, Tokuda H (1993) Processor capacity reserves: an abstraction for managing processor usage. In: Proc 4th workshop on workstation operating systems

  • 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

  • Meurs R (2006) Building performance measurement tools for the MINIX 3 OS. Master’s thesis, 2006. Vrije Universiteit, Amsterdam

  • Pessolani PA (2006) MINIX4RT: A real-time operating system based on MINIX. Master’s thesis. Universidad Nacional de La Plata

  • 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

  • Rogina P, Wainer G (2001) Extending rt-minix with fault tolerance capabilities. In: Proc Latin-American conf on informatics

  • 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

  • Sha L, Rajkumar R, Lehoczky JP (1990) Priority inheritance protocols: An approach to real-time synchronization. IEEE Trans Comput 39(9):1175–1185

    Article  MathSciNet  Google Scholar 

  • Spuri M, Buttazzo GC (1994) Efficient aperiodic service under the earliest deadline scheduling. In: Proc IEEE real-time systems symposium

  • Tokuda H, Nakajima T, Rao P (1990) Real-time mach: towards predictable real-time systems. In: Proc USENIX mach workshop

  • 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

    Article  Google Scholar 

  • Tsafrir D, Etsion Y, Feitelson DG (2007) Secretly monopolizing the CPU without superuser privileges. In: USENIX security

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Antonio Mancina.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mancina, A., Faggioli, D., Lipari, G. et al. Enhancing a dependable multiserver operating system with temporal protection via resource reservations. Real-Time Syst 43, 177–210 (2009). https://doi.org/10.1007/s11241-009-9086-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-009-9086-5

Keywords

Navigation