Kernel Projects for Linux
Kernel korner: writing stackable filesystems
Linux Journal
Experiences teaching operating systems using virtual platforms and linux
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Understanding The Linux Kernel
Understanding The Linux Kernel
SOFTICE undergraduate operating systems laboratories
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Linux Device Drivers, 3rd Edition
Linux Device Drivers, 3rd Edition
A user-mode port of the linux kernel
ALS'00 Proceedings of the 4th annual Linux Showcase & Conference - Volume 4
Design of a distance, 2+2, IT curriculum in Linux system administration
Journal of Computing Sciences in Colleges
A UML and MLN based approach to implementing a networking laboratory on a scalable Linux cluster
Journal of Computing Sciences in Colleges
Remotely accessible sandboxed environment with application to a laboratory course in networking
Proceedings of the 8th ACM SIGITE conference on Information technology education
Journal of Computing Sciences in Colleges
Proceedings of the 10th ACM conference on SIG-information technology education
Journal of Computing Sciences in Colleges
Structured linux kernel projects for teaching operating systems concepts
Proceedings of the 42nd ACM technical symposium on Computer science education
A virtual graphics card for teaching device driver design
Proceedings of the 45th ACM technical symposium on Computer science education
Hi-index | 0.00 |
This paper discusses how Loadable Kernel Modules (LKM) can be used in Operating Systems (OS) Laboratories to pedagogically enhance an undergraduate student's hands-on experience. We draw inspiration from this technology as it has been applied in the computer security field as a means to compromise running kernels after successfully breaking into an unsecured host. We propose and discuss in detail a new pedagogical approach to introduce students to Linux kernel programming techniques which are relevant to the contents of classic undergraduate operating systems course concepts. This new approach breaks down the complexity and initial overwhelming feeling experienced by students when first confronted to the intimidating source code base of a modern OS. Students are led to develop loadable kernel modules meant to "hack" into a running kernel so that critical system calls and data structures can be unveiled progressively by the instructor. This approach allows for well-delimited forays into "kernel land" that can be tailored to fit any lecture style and students' capabilities specifics.