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.
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
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
Liu CL, Layland JW (1973) Scheduling algorithms for multiprogramming in a hard real-time environment. J Assoc Comput Mach 20(1):46–61
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
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
Tsafrir D, Etsion Y, Feitelson DG (2007) Secretly monopolizing the CPU without superuser privileges. In: USENIX security
Author information
Authors and Affiliations
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11241-009-9086-5