Structured Linux Kernel Projects for Teaching Operating Systems Concepts
Linux has emerged as a widely-used platform for enabling hands-on kernel programming experience to learn about operating system concepts. However, developing pedagogically effective programming projects in the context of a complex, production operating system can be a challenge. The authors present a structured series of five Linux kernel programming projects suitable for a one semester introductory operating systems course to address this issue. Each assignment introduces students to a core topic and major component of an operating system while implicitly teaching them about various aspects of a real-world operating system.