Xen and the art of virtualization
SOSP '03 Proceedings of the nineteenth ACM symposium on Operating systems principles
Root-kits & loadable kernel modules: exploiting the Linux kernel for fun and (educational) profit
Journal of Computing Sciences in Colleges
QEMU, a fast and portable dynamic translator
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Virtualizing high-performance graphics cards for driver design and development
CASCON '09 Proceedings of the 2009 Conference of the Center for Advanced Studies on Collaborative Research
Linux kernel projects for an undergraduate operating systems course
Proceedings of the 41st ACM technical symposium on Computer science education
Structured linux kernel projects for teaching operating systems concepts
Proceedings of the 42nd ACM technical symposium on Computer science education
Hi-index | 0.00 |
Open source Linux has become increasingly popular as a vehicle for incorporating hands-on experience with a real system into both undergraduate and graduate operating systems courses. System virtualization tools, such as VMWare, Xen, VirtualBox, and KVM, allow students to freely experiment with kernel modifications without requiring dedicated hardware and without generating significant concern for the ill-effects of system crashes. Nevertheless, certain kernel projects that are highly desirable from an educational standpoint remain unavailable under standard approaches to virtualization. One such project that is known to carry substantial instructional value is the design and implementation of an SMP-safe driver for a high-performance graphics card. Standard virtualization tools export only a minimally-capable, SVGA graphics adapter, which is an inadequate architecture for such a project. This paper describes an extremely simple, kernel-independent, software tool for use by instructors of operating systems courses. The tool provides a virtual, high-performance graphics card that is suitable for Linux device driver design and implementation. The code for the virtual card, which is relatively short, is easily modified by instructors to present different interfaces each semester. The code for both the virtual card and a sample Linux 3.2.36 driver for it may be freely downloaded from http://people.cs.clemson.edu/~ccorsi/kyouko/.