Experiences Teaching Operating Systems Using Virtual Platforms and Linux

Jason Nieh, Chris Vaill

Proceedings of the 36th ACM Technical Symposium on Computer Science Education (SIGCSE 2005), St. Louis, MO, February 23-27, 2005, pp. 520-524


Operating system courses teach students much more when they provide hands-on kernel-level project experience with a real operating system. However, enabling a large class of students to do kernel development can be difficult. To ad- dress this problem, we created a virtual kernel development environment in which operating systems can be developed, debugged, and rebooted in a shared computer facility with- out affecting other users. Using virtual machines and remote display technology, our virtual kernel development labora- tory enables even distance learning students at remote loca- tions to participate in kernel development projects with on- campus students. We have successfully deployed and used our virtual kernel development environment together with the open-source Linux kernel to provide kernel-level project experiences for over nine hundred students in the introduc- tory operating system course at Columbia University.



Columbia University Department of Computer Science