Affiliation:
1. University of Pennsylvania
Abstract
The importance of a comprehensive implementation component for undergraduate Operating Systems (OS) courses cannot be understated. Students not only develop deep insight and understanding of OS fundamentals, but they also learn key software engineering skills that only a large development project, such as implementing an OS, can teach. There are clear benefits to traditional OS projects where students program or alter real (Linux) kernel source or extend educational OS implementations; however, in our experience, bootstrapping such a project is a huge undertaking that may not be accessible in many classrooms. In this paper, we describe a different approach to the OS implementation assignment: A user-level Operating System simulation based on UNIX preemptive signaling and threading constructs called ucontext. We believe that this variation of the implementation assignment provides many of the same educational benefits as traditional low-level projects without many of the expensive start-up costs. This project has been taught for a number of years at the University of Pennsylvania and was recently overhauled for the Fall 2011 semester. This paper describes the current version of the project and our experiences teaching it to a class of 54 students.
Publisher
Association for Computing Machinery (ACM)
Reference9 articles.
1. CIS 380: Operating Systems. http://www.cis.upenn.edu/~cis380/. CIS 380: Operating Systems. http://www.cis.upenn.edu/~cis380/.
2. Simics. https://www.imics.net. Simics. https://www.imics.net.
3. A survey of contemporary instructional operating systems for use in undergraduate courses;Anderson Charles L.;J. Comput. Small Coll.,2005
4. PortOS
Cited by
5 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献