Abstract
The increasing complexity of embedded system software in combination with the frequent requirement for safety and/or security calls for a new approach towards embedded system software architecture. Similar to server systems, which went through the problems of escalating software complexity years ago, virtualization could also prove useful in the context of embedded systems since it allows to divide complex systems into sets of smaller and thus manageable subsystems. In this article, various approaches to virtualization are examined with respect to their applicability to embedded systems and the more suitable among them are identified. However, even these approaches suffer from shortcomings with respect to their real-time capabilities, so methods are proposed which could remedy these shortcomings.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Integrated Modular Avionics.
- 2.
Where the definition of “timely” as well as the degree to which it has to be ensured may vary largely.
- 3.
Bochs is primarily intended as a tool for test and debug purposes, but not for productive systems.
- 4.
So-called hypercalls.
- 5.
In principle, any of the processes hosted by a guest operating system could recursively host multiple processes, so the hierarchy could in fact have any number of levels.
- 6.
Note that the quantum axis in Fig. 15.1 is scaled logarithmically.
- 7.
Xen, however, does feature a pluggable scheduler architecture.
References
Greene R, Lownes G (1994) Embedded CPU target migration, doing more with less. In: TRI Ada ‘94: Proceedings of the conference on TRI-Ada ‘94. ACM Press, New York, pp 429–436
Stepner D, Rajan N, Hui D (1999) Embedded application design using a real-time os. In: DAC ‘99: Proceedings of the 36th ACM/IEEE conference on design automation. ACM Press, New York, pp 151–156
Broy M (2006) Challenges in automotive software engineering. In: ICSE ‘06: Proceeding of the 28th international conference on software engineering. ACM Press, New York, pp 33–42
Sanchez-Puebla MA, Carretero J (2003) A new approach for distributed computing in avionics systems. In: ISICT ‘03: Proceedings symposium on Information and communication technologies. Trinity College Dublin, pp 579–584
Bate I, Kelly T (2003) Architectural considerations in the certification of modular systems. Reliab Eng Syst Saf 81:303–324
Lindholm T, Yellin F (1999) Java virtual machine specification. Addison-Wesley Longman Publishing Co., Inc, Boston
Lawton KP (1996) Bochs: a portable PC emulator for Unix/X,” LINUX J, vol 1996, no 29es, p 7, sep 1996
Popek GJ, Goldberg RP (1974) Formal requirements for virtualizable third generation architectures. Commun ACM 7(7):412–421
Creasy RJ (1981) The origin of the VM/370 time-sharing system. IBM J Res Dev 25(5):483–490
Robin J, Irvine C (2000) Analysis of the Intel Pentium’s ability to support a secure virtual machine monitor [Online]. http://citeseer.ist.psu.edu/robin00analysis.html
Whitaker A, Shaw M, Gribble S (2002) Denali: lightweight virtual machines for distributed and networked applications. University of Washington technical report 02-02-01
LeVasseur J, Uhlig V, Chapman M, Chubb P, Leslie B, Heiser G (2005) Pre-virtualization: slashing the cost of virtualization. Technical report PA005520, NICTA, October
Barham P, Dragovic B, Fraser K, Hand S, Harris T, Ho A, Neugebauer R, Pratt I, Warfield A (2003) Xen and the art of virtualization. In: ACM symposium on operating systems principles, Bolton Landing, NY, USA
Muller A, Wilson S, Happe D, Humphrey GJ (2005) Virtualization with VMware ESX server. Syngress Publishing, Inc, Rockland
Liedtke J (1995) On-kernel construction. In: ACM symposium on operating systems principles, Copper Mountain Resort, CO, USA, pp 237–250
Liedtke J (1996) L4 reference manual—486, Pentium, Pentium Pro. http://os.inf.tu-dresden.de/L4/l4refx86.ps.gz
Hartig H, Hohmuth M, Liedtke J, Schnberg S, Wolter J (1997) The performance of μ-kernel-based systems. In: 16th ACM symposium on operating system principles (SOSP), pp 66–77
Hartig H, Baumgartl R, Borriss M, Hamann C-J, Hohmuth M, Mehnert F, Reuther L, Schönberg S, Wolter J (1998) DROPS: OS support for distributed multimedia applications. In: Proceedings of the eighth ACM SIGOPS
Hand S, Warfield A, Fraser K, Kotsovinos E, Magenheimer D (2005) Are virtual machine monitors microkernels done right? In: HOTOS’05: Proceedings of the 10th conference on hot topics in operating systems. USENIX Association, Berkeley, p 1
Heiser G, Uhlig V, LeVasseur J (2006) Are virtual-machine monitors microkernels done right? SIGOPS Oper Syst Rev 40(1):95–99
Accetta M, Baron R, Bolosky W, Golub D, Rashid R, Tavanian A, Young M (1986) Mach: a new kernel foundation for UNIX development. USENIX Summer 93–112
OSGi “Open Service Gateway Initiative Alliance” (2009) [Online]. www.osgi.org
Ibanez M, Martinez Madrid N, Seepold R (2007) Virtualization of residential gateways. In: International workshop on intelligent solutions in embedded systems (WISES07), June
Royon Y, Frenot S, Mouel FL (2006) Virtualization of service gateways in multi-provider environments. In: University, Vasteras, Sweden, pp 385–392
Hoffmann A (2005) Portierung und Validierung der Java 2 Micro Edition fur das Mikrokern-Betriebssystem PikeOS. Diploma Thesis, Wiesbaden University of Applied Sciences, Dept. DCSM, September
Kaiser R (2008) Empirische Ermittlung Cache-bedingter Umschaltverluste. GI/ITG Fachgruppentreffen, Wiesbaden, March
Kaiser R (2008) Alternatives for scheduling virtual machines in real-time embedded systems. In: IIES ‘08: Proceedings of the 1st workshop on isolation and integration in embedded systems. ACM, New York, April, pp 5–10
Kaiser R, Wagner S (2007) Evolution of the PikeOS Microkernel. MIKES 2007, Sydney, Australia, National ICT Australia, Sydney NSW 2052, Australia, Tech Rep, January
Kaiser R (2009) Complex embedded systems—a case for virtualization. WISES 2009, Ancona, Italy, June
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer Science+Business Media B.V.
About this chapter
Cite this chapter
Kaiser, R. (2011). Applicability of Virtualization to Embedded Systems. In: Conti, M., Orcioni, S., Martínez Madrid, N., Seepold, R. (eds) Solutions on Embedded Systems. Lecture Notes in Electrical Engineering, vol 81. Springer, Dordrecht. https://doi.org/10.1007/978-94-007-0638-5_15
Download citation
DOI: https://doi.org/10.1007/978-94-007-0638-5_15
Published:
Publisher Name: Springer, Dordrecht
Print ISBN: 978-94-007-0637-8
Online ISBN: 978-94-007-0638-5
eBook Packages: EngineeringEngineering (R0)