OpenSolaris at the Source
By hjfoxwell on May 20, 2008
No, not the source code...but the source of learning about operating systems: university CS courses. Recently I presented Real World Observability Tools in Computer Science Education at the ACM's SIGCSE08 meeting in Portland, OR. Sun was one of the symposium's Platinum Sponsors; I attended both as a Sun system engineer who specializes in OpenSolaris and as a university CS educator who teaches a graduate course in operating systems based on OpenSolaris.
My course was in progress when I presented it at the symposium; it's completed now. I focused on two major topics: OS Observability, and Virtualization. For the observability topic we studied DTrace in OpenSolaris along with other OS tools such as Linux SystemTap. For virtualization, we studied Xen, OpenSolaris containers, and Linux features such as vServers. In general, such topics are not covered in depth in university CS curricula.
Most of the students were in the MS in CS program at GMU, although there were a few in the CS PhD program as well. The students' backgrounds were quite varied; some were already experienced and employed in highly technical IT work, some were only beginning their CS graduate studies and careers. I required the students to do two projects, one on observability and one on virtualization. Most of the projects, but not all, centered on OpenSolaris features and issues; I allowed students to choose the specific areas of investigation within the two broad topic areas.
I asked several students for permission to share their projects in order to illustrate the variety and utility of such assignments in learning about operating systems in general and about OpenSolaris in particular:
- D.Corner: Deadlock Detection Using DTrace
- K.Chuon: The Limit of DTrace - A Failed Attempt at Deadlock Detection
- K.Locher: Tracing ZFS on OS X
- M.Spainhower: Feasibility Analysis of DTrace for Rootkit Detection
- M.Revelle: TOPO: AN EXPLORATION IN BUILDING CUSTOMIZED UTILITIES FOR DATA COLLECTION AND VISUALIZATION OF OPERATING SYSTEM BEHAVIOR
- K.Locher: Storage Management and File System Differences Between Container-based Operating System Virtualization Implementations
- G.Southern: Analysis of SMP VM CPU Scheduling
As you can see, providing students with state-of-the-art open source tools inspires them to investigate real world problems and to create interesting solutions. And, since I insisted on inclusion and fair coverage of observability and virtualization technologies other than those found in OpenSolaris, students were encouraged to report on the good, bad, and ugly of these technologies.
Student feedback about this course has been very positive, although many students expresed a preference for focusing in greater detail on just one of the two topics. I'll propose such a change for the next offering of this course; for the DTrace topic, I would follow the excellent example being set by the OpenSolaris-based curriculum currently being taught in China, as was presented at SIGCSE08.