VirtualPC Operating System Projects

Connectix has donated virtualization software, VirtualPC, to Frank Mueller with a market value of $20,000. The software is used for teaching advanced Operating Systems Principles by exposing students to the internals of full-fledged operating systems, such as Linux. Students can experiment with their own kernel modifications in a safe environment without the risk of damaging existing OS installations or hardware.

Sample Assignment: Extend the Linux kernel with a file snapshot facility using copy-on-write using VirtualPC. Instead of a commercial snapshot facility, where user files are automatically copied on a fixed schedule (say hourly), we want to use a copy-on-write semantics to keep an automatic backup of recently modified files (more details here).

Our experience in using VirtualPC for teaching operating systems received high marks by the students (see below). Our objective to expose students to production-style, full-fledged operating systems kernels requires a good amount of work. Nonetheless, students were highly motivated and excited. They realized that this unique education gave them a considerable advantage on the job market. At the same time, this experience is invaluable as a preparation for advanced research in operating systems. We believe in not only simulating operating system behavior but in actually implementing new features and evaluating them in a realistic setting. Thanks to VirtualPC, we can now meet these objectives. We intend to continue our investment in cutting-edge education and preparation for research using VirtualPC.

Our technical experience with VirtualPC was very positive: It allows students to work with Linux without risking a machine to become inoperable since students work in a safe guest operating system made. We highly recommend the use of VirtualPC in the classroom. We suggest that a first assignment is set up to use an initial guest image (e.g., 2.5GB for a full RedHat Linux guest), which is copied into student accounts. Notice that sufficient disk space and network bandwidth is required to perform these steps. We favor storing student images of the guest OS on a local hard disk for better speed.

Sample student feedback:

More references: