Objectives : Faculty new to teaching operating systems or those looking to refresh their course need to understand the state of the art in operating system education. Toward this goal, we conducted a survey of operating system instructors to understand how they approach teaching the course and what textbook and software platforms they use in their classrooms. We also conducted a literature review examining two decades of papers focused on teaching operating systems to undergraduates. Survey : We surveyed people who teach operating systems at the undergraduate level to determine which textbook they use, on which software they base projects, and how they approach teaching the course. Literature Review : We searched the ACM Digital Library for publications focused on undergraduate education about operating systems. We selected a total of 51 papers. For each selected paper, we identified which approach (i.e., concrete vs. abstract) and perspective (i.e., internal or external) on teaching operating systems the authors used, which Curriculum 2023 topics they covered, and on what type of system (e.g., educational, production, research) their projects were based. We also looked at the evaluation of the methods and the impact these papers have had on the field. Findings: Instructors teaching operating systems tend to balance both their approach and their perspective, with a slight leaning toward an internal perspective, whereas authors supporting operating system education overwhelmingly support an internal, concrete approach to the course. In addition, authors also tend to focus on a few key topics, including System Calls and Processes, Concurrency, Scheduling, Virtual Memory, File Systems API and Implementation, and Performance Evaluation. Conclusions : This work will help faculty teaching operating systems to consider which approach and perspective they wish to take in their course and to find the resources most relevant to their preferred approach and perspective. It can also help focus future research in the area of operating system education, to align it better with current practices.
Read full abstract