A Linux-based Lab for Operating Systems and Network Courses

Auburn University uses Linux as the OS for their computer labs dedicated to teaching students about operating systems and networking.
Lessons Learned

For many of our students, their experience with our lab turns out to be the first time they have academically dealt with the inside of a computer. Thus, we find ourselves teaching a way of thinking as much as the particular techniques related to the subject matter. The commonplace tasks of debugging a system, such as isolating a problem to hardware configuration, BIOS settings, OS kernel or application, are new territory for beginning students. This lab gives them the chance to gain confidence in a realistic setting.

One criticism that students have made of our approach is, “The real world mainly runs Microsoft Windows—why aren't you teaching us about that?” While their claim is indeed valid when one looks at market share and while any computer scientist who claims to be well-rounded must accommodate the demands of the market, there are significant obstacles to providing the kind of experience we provide using commercial software. The two largest obstacles with commercial operating systems are the lack of source code and the lack of easily available technical support from the software developers. A student who wants to explore the performance differences between several different page-replacement strategies in the file system can do so more easily with Linux and a PC than with any other OS and computer of which we are aware.

Another lesson we learned is that with today's large disk drives and with the use of removable cartridge hard drives, it is possible for a number of operating systems to (more or less) coexist on the same machine and for a wide variety of platforms to communicate over a local network. We think this has provided our students with a taste of the complexity of real-world systems administration (though they will not truly know what that is like unless we make them wear beepers and page them at all hours).


On balance, we find this Linux-based approach an improvement over our previous methods and plan to continue it. We've had very positive preliminary feedback from the students who have used the lab and are looking forward to hearing whether it helps our graduates in the “real world”.

Richard Chapman is a faculty member in the Department of Computer Science and Engineering at Auburn University. His other interests include hardware/software co-design, formal methods and the history of computing. He has been involved with Linux since the release of Red Hat v1.0. He used to restore early 1970's minicomputers in his spare time—now he wishes he had spare time. He receives e-mail at chapman@eng.auburn.edu.

W.H. Carlisle is an associate professor of computer science and engineering at Auburn University. He received his BS, MA and PhD degrees from Emory University. His research interests are in languages and environments for system software design and testing. He is a member of the ACM and the IEEE Computer Society.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

linux based lab

K M Nur's picture

Average article for a linux journal. Rather hope linux journal would ask for a supplimentary article on this. In this regard, hardware structure is known, rather open source software blend details would have been useful to me.

Anyway, thanks for the effort.