The goal of this project was to build a superior environment for a real time system laboratory that would allow users to run Windows and Linux embedded application development tools concurrently on a single computer. These requirements were dictated by real-time system applications which are increasingly being implemented on asymmetric dual-core processors running different operating systems. A real time systems laboratory curriculum based on dualcore architectures has been presented in this forum in the past. 2 It was designed for a senior elective course in real time systems at the University of Texas at Tyler that combines lectures along with an integrated lab. The students are required to have at least one course in structured programming, and a course or prior experience with the operation of microprocessors, but Linux experience is not required. The lab procedures that were implemented include running audio processing applications, building a Linux kernel, building an audio player application using cross compiler tools, testing a finite impulse response (FIR) filter and running a web hosting application. Instruction and application development on such architectures can be a major challenge involving one set of tools and hardware for each operating system. The common solutions are to use a dual-boot computer running Linux and Windows or use two separate computers running Windows and Linux respectively, neither of which is ideal. Virtual Machine environments are becoming increasingly popular due to the various advantages they offer, especially in settings that involve development on multiple operating systems. Desktop virtualization software can be used to run multiple operating systems simultaneously on a single personal computer. A virtual machine is nothing but a single file or image embedded with the entire hardware configuration, operating systems and tools of a computing machine. The software allows Windows, Linux or Solaris to be run on networked virtual machines without the requirement of rebooting the system or partitioning the hard drive. 1 This paper presents the results of implementing real-time systems laboratory experiments in a virtual environment. The VMware Workstation Edition package was used with Windows host operating system and Linux as the guest. The virtual machine implementation offered a wide range of benefits when compared to individually operating machines. The virtualization greatly improved the hardware utilization in the laboratory resulting in cost benefits. The major advantages offered by virtualization software are: simultaneous access to a multiple operating systems, automation of test sequences without multiple system reboots, migration of control between operating systems without user disruption, ability to create a preconfigured library of virtual machines thereby reducing setup time, and the ability to preserve the host machine content by isolating each virtual machine. 3
[1]
Jason Nieh.
Examining VMware
,
2000
.
[2]
Brian D. Noble,et al.
When virtual is better than real [operating system relocation to virtual machines]
,
2001,
Proceedings Eighth Workshop on Hot Topics in Operating Systems.
[3]
Beng-Hong Lim,et al.
Virtualizing I/O Devices on VMware Workstation's Hosted Virtual Machine Monitor
,
2001,
USENIX Annual Technical Conference, General Track.
[4]
Tal Garfinkel,et al.
A Virtual Machine Introspection Based Architecture for Intrusion Detection
,
2003,
NDSS.
[5]
HarrisTim,et al.
Xen and the art of virtualization
,
2003
.
[6]
Samuel T. King,et al.
Operating System Support for Virtual Machines
,
2003,
USENIX Annual Technical Conference, General Track.
[7]
Ravi Nair,et al.
An Overview of Virtual Machine Architectures
,
2004
.
[8]
Ricky Watson,et al.
A Virtual Solution to a Real Problem : VMware in the Classroom
,
2004
.
[9]
James E. Smith,et al.
The architecture of virtual machines
,
2005,
Computer.
[10]
Tal Garfinkel,et al.
Virtual machine monitors: current technology and future trends
,
2005,
Computer.
[11]
Ole Agesen,et al.
A comparison of software and hardware techniques for x86 virtualization
,
2006,
ASPLOS XII.
[12]
Mukul Shirvaikar,et al.
Real time systems laboratory development: Experiments focusing on a dual core processor
,
2006
.