Abstract
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.
- W. Christopher, S. Proctor, and T. Anderson. The Nachos Instructional Operating System. http://http.cs.berkeley.edu/~tea/nachos/nachos.ps.Google Scholar
- D. E. Comer. Operating Systems Design: The XINU Approach. Prentice-Hall, 1984. Google ScholarDigital Library
- R. P. Goldberg. Survey of Virtual Machine Research. IEEE Computer, 7(6):34--45, June 1974.Google ScholarDigital Library
- D. A. Holland, A. T. Lim, and M. I. Seltzer. A New Instructional Operating System. In Proceedings of the 33rd SIGCSE Technical Symposium on Computer Science Education, pages 111--115, Feb. 2002. Google ScholarDigital Library
- K. Lawton. Bochs. http://bochs.sourceforge.net/.Google Scholar
- J. Nieh and Özgür Can Leonard. Examining VMware. Dr. Dobb's Journal, Aug. 2000.Google Scholar
- T. Richardson, Q. Stafford-Fraser, K. R. Wood, and A. Hopper. Virtual Network Computing. IEEE Internet Computing, 2(1):33--38, 1998. Google ScholarDigital Library
- A. Tanenbaum. A UNIX Clone with Source Code for Operating Systems Courses. Operating Systems Review, 21(1):20--29, Jan. 1987. Google ScholarDigital Library
- VMware. http://www.vmware.com/.Google Scholar
Index Terms
- Experiences teaching operating systems using virtual platforms and Linux
Recommendations
Structured linux kernel projects for teaching operating systems concepts
SIGCSE '11: Proceedings of the 42nd ACM technical symposium on Computer science educationLinux has emerged as a widely-used platform for enabling hands-on kernel programming experience to learn about operating system concepts. However, developing pedagogically-effective programming projects in the context of a complex, production operating ...
Teaching operating systems using virtual appliances and distributed version control
SIGCSE '10: Proceedings of the 41st ACM technical symposium on Computer science educationStudents learn more through hands-on project experience for computer science courses such as operating systems, but providing the infrastructure support for a large class to learn by doing can be hard. To address this issue, we introduce a new approach ...
Experiences teaching operating systems using virtual platforms and linux
SIGCSE '05: Proceedings of the 36th SIGCSE technical symposium on Computer science educationOperating 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 ...
Comments