Embedded Systems Design - August 2008 - (Page 24) 0808esd.p16to24 7/18/08 11:53 AM Page 24 cover feature virtualization tool, with the advantage of not requiring source code to a guest operating system in order to implement para-virtualized device drivers. If the embedded developer is to PARTITIONING—DETERMINISM create para-virtual devices for the hyAND PERFORMANCE pervisor then development tools are Granting exclusive access to I/O is esneeded to write and debug those desential to attaining real-time responvices. Without proper tools, both in siveness, because it means the virtual the form of a development platform machine can have direct physical acand a debugging environment, it will cess to its dedicated hardware. Withbe difficult to create the virtual hardout exclusive physical assignment of ware needed to support the migration pertinent I/O, you run the risk of waitof legacy applications to an embedded ing indeterminately for access to deVMM. vices. If another virtual machine has Of course, it’s important to never access to an I/O device, because it’s lose sight of the fact that direct access multiplexed, the wait can be signifito real hardware is cant. Even if only one virtufundamental to ensural machine ever accesses a With the help of an embedded VMM, ing deterministic respecific I/O device, when a legacy code can be migrated from sponse in any virtual request is made to access obsolete hardware to modern machine. If all the that hardware a VMM that hardware is emulated virtualizes I/O must transembedded platforms. Because I/O you’re no better off late the request from the can be virtualized, it’s possible to than using a server virtual machine into real simulate old hardware devices. VMM that emulates I/O accesses to the physical all the devices in a hardware, an unnecessary generic “white-box” and time consuming machine. ■ KERNEL-BASED HYPERVISOR process. Migrating legacy systems from a dediExclusivity of I/O doesn’t apply cated hardware platform onto a dedionly to a real-time virtual machine. cated CPU in a multicore processor re- Paul Fischer is a senior technical marketGraphics-intensive applications need ing engineer at TenAsys Corporation in quires more than just a real-time access to real hardware for maximum Beaverton, Oregon. He has over 25 aware hypervisor. In the case where an performance. A virtual frame buffer years of experience building and writing about real-time and embedded systems I/O device must be redirected and may be too slow and inadequate in in a variety of engineering and marketfeatures for an application that renders simulated, in order to adapt legacy ing roles. Paul has an MSE from UC code to a new platform, code that runs Berkeley and a BSME from the University moving 3D images. In that case, the in the context of the hypervisor must virtual machine containing the GPOS of Minnesota. You may reach him at Paul.Fischer@TenAsys.com. be developed and debugged. Embedneeds direct access to the physical ded systems are, by definition, unique, frame buffer and its control I/O. and there’s no way a VMM vendor can provide all the combinations of “old to ENDNOTES: MIGRATING LEGACY SOFTWARE new” I/O possibilities in a single offMany systems exist today that depend 1. Venture Development Corporation rethe-shelf product. on code written years ago. These legaport, “Operating System Virtualization in the Embedded Systems Market,” March, To get around this problem, the cy embedded applications continue to 2008, available for a fee at www.vdchypervisor needs to provide a strucbe used because they work; they’re corp.com. ture that enables developers to simuproven, they’re reliable, and they may 2. Uhlig, Rich, et.al. “Intel Virtualization late hardware, either to make new I/O even be certified for an application Technology,” Computer Magazine, IEEE devices appear to be old devices or to (such as medical, defense, and aeroComputer Society, vol. 38, issue 5, May create virtual devices for sharing bespace). Unfortunately, these legacy ap2005, pp. 48–56, http://doi.ieeecomputer tween multiple guest operating sysplications may also be running on exsociety.org/10.1109/MC.2005.163 . tems. In this role the hypervisor can pensive obsolete hardware or be in also be thought of as a sort of paraneed of an update, such as a graphical sive) pieces of computational hardware is condensed onto a single platform. user interface or access to an enterprise network. Rewriting proven or certified embedded code is rarely desirable or economical. With the help of an embedded VMM, legacy code can be migrated from obsolete hardware to modern embedded platforms. Because I/O can be virtualized, it’s possible to simulate old hardware devices, minimizing rewrite of proven legacy code. For example, an obsolete ISA device could be simulated within the hypervisor by intercepting I/O requests and redirecting them to equivalent on-board PCI I/O devices. 24 AUGUST 2008 | embedded systems design | www.embedded.com http://www.vdccorp.com http://www.vdccorp.com http://doi.ieeecomputersociety.org/10.1109/MC.2005.163 http://doi.ieeecomputersociety.org/10.1109/MC.2005.163 http://www.embedded.com
Table of Contents Feed for the Digital Edition of Embedded Systems Design - August 2008 Embedded Systems Design - August 2008 Contents Number Include Parity Bit Programmer's Toolbox Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors Achieving Cache Coherence in a MIPS32 Multicore Design Memory Allocation in C Advertising Index Break Points Marketplace Embedded Systems Design - August 2008 Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page Cover1) Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page Cover2) Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page 1) Embedded Systems Design - August 2008 - Embedded Systems Design - August 2008 (Page 2) Embedded Systems Design - August 2008 - Contents (Page 3) Embedded Systems Design - August 2008 - Contents (Page 4) Embedded Systems Design - August 2008 - Number Include (Page 5) Embedded Systems Design - August 2008 - Number Include (Page 6) Embedded Systems Design - August 2008 - Number Include (Page 7) Embedded Systems Design - August 2008 - Number Include (Page 8) Embedded Systems Design - August 2008 - Parity Bit (Page 9) Embedded Systems Design - August 2008 - Parity Bit (Page 10) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 11) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 12) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 13) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 14) Embedded Systems Design - August 2008 - Programmer's Toolbox (Page 15) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 16) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 17) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 18) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 19) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 20) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 21) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 22) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 23) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 24) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 25) Embedded Systems Design - August 2008 - Cover Feature: Virtualization for Embedded X86 Multiprocessor Applications (Page 26) Embedded Systems Design - August 2008 - Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors (Page 27) Embedded Systems Design - August 2008 - Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors (Page 28) Embedded Systems Design - August 2008 - Wanted: Industry Standards for Benchmarking Embedded VMM Hypervisors (Page 29) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 30) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 31) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 32) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 33) Embedded Systems Design - August 2008 - Achieving Cache Coherence in a MIPS32 Multicore Design (Page 34) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 35) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 36) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 37) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 38) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 39) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 40) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 41) Embedded Systems Design - August 2008 - Memory Allocation in C (Page 42) Embedded Systems Design - August 2008 - Advertising Index (Page 43) Embedded Systems Design - August 2008 - Advertising Index (Page 44) Embedded Systems Design - August 2008 - Break Points (Page 45) Embedded Systems Design - August 2008 - Break Points (Page 46) Embedded Systems Design - August 2008 - Marketplace (Page 47) Embedded Systems Design - August 2008 - Marketplace (Page 48) Embedded Systems Design - August 2008 - Marketplace (Page Cover3) Embedded Systems Design - August 2008 - Marketplace (Page Cover4)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.