Enhancing a dependable multiserver operating system with temporal protection via resource reservations
- First Online:
- 108 Downloads
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.
KeywordsOperating systems Real-time systems Resource reservations Micro-kernel Dependability
Unable to display preview. Download preview PDF.
- Abeni L, Buttazzo G (1998) Integrating multimedia applications in hard real-time systems. In: Proc IEEE real-time systems symposium, Madrid, Spain Google Scholar
- Abeni L, Lipari G (2002) Implementing resource reservations in Linux. In: Real-time Linux Workshop Google Scholar
- Baker TP (1990) A stack-based allocation policy for realtime processes. In: Proc IEEE real time systems symposium Google Scholar
- 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
- 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
- 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
- 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
- Hamann C-J, Reuther L, Wolter J, Härtig H (2006) Quality-assuring scheduling. Technical report, TU Dresden Google Scholar
- 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
- 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
- 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
- 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
- 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
- Liedtke J (1996) Toward real microkernels. CACM 39(9):70–77 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 Google Scholar
- 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
- 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
- Meurs R (2006) Building performance measurement tools for the MINIX 3 OS. Master’s thesis, 2006. Vrije Universiteit, Amsterdam Google Scholar
- Pessolani PA (2006) MINIX4RT: A real-time operating system based on MINIX. Master’s thesis. Universidad Nacional de La Plata Google Scholar
- 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
- Rogina P, Wainer G (2001) Extending rt-minix with fault tolerance capabilities. In: Proc Latin-American conf on informatics Google Scholar
- 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
- Spuri M, Buttazzo GC (1994) Efficient aperiodic service under the earliest deadline scheduling. In: Proc IEEE real-time systems symposium Google Scholar
- Tokuda H, Nakajima T, Rao P (1990) Real-time mach: towards predictable real-time systems. In: Proc USENIX mach workshop Google Scholar
- Tsafrir D, Etsion Y, Feitelson DG (2007) Secretly monopolizing the CPU without superuser privileges. In: USENIX security Google Scholar