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 address this problem, we created a virtual kernel development environment in which operating systems can be developed, debugged, and rebooted in a shared computer facility without affecting other users. Using virtual machines and remote display technology, our virtual kernel development laboratory enables even distance learning students at remote locations 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 introductory operating system course at Columbia University.
[1]
Andrew S. Tanenbaum.
A UNIX clone with source code for operating systems courses
,
1987,
OPSR.
[2]
Robert P. Goldberg,et al.
Survey of virtual machine research
,
1974,
Computer.
[3]
Margo I. Seltzer,et al.
A new instructional operating system
,
2002,
SIGCSE '02.
[4]
Thomas E. Anderson,et al.
The Nachos Instructional Operating System
,
1993,
USENIX Winter.
[5]
Andy Hopper,et al.
Virtual Network Computing
,
1998,
IEEE Internet Comput..
[6]
Douglas Comer,et al.
Operating system design: the XINU approach
,
1984
.
[7]
Jason Nieh.
Examining VMware
,
2000
.