
Operating Systems Design and Implementation is ideal for introductory courses on computer operating systems. Written by the creator of Minux, professional programmers will now have the most up-to-date tutorial and reference available today. Revised to address the latest version of MINIX (MINIX 3), this streamlined, simplified new edition remains the only operating systems text to first explain relevant principles, then demonstrate their applications using a Unix-like operating system as a detailed example. It has been especially designed for high reliability, for use in embedded systems, and for ease of teaching.
Algorithms books and material by Robert Sedgewick and Kevin Wayne is 40 year effort too.
Computer Networks, Operating Systems, Distributed Systems from Andrew Tanenbaum, same.
MINIX 2.0 is mostly published in the text of Operating Systems: Design and Implementation (1997) by Tanenbaum. It's a superior OS for teaching UNIX philosophy and OS concepts rather than starting with a contrived OS that has no relevance to anything. It runs on vintage x86 machines (QEMU/etc.) no problem. About the first hack I added to it was upping the keyboard repeat rate to maximum and delay to minimum.
Some schools have drifted away by using more complicated OSes like FreeBSD as their generic UNIX and OS teaching platform, but this throws out the simplicity of MINIX <3.0. The MINIX kernel and basic userland fit in very little code, it can almost all fit in your head, there's a book that goes into detail about most of the important concepts, and it can be rebuilt on modern machines in seconds.
Amazon link https://www.amazon.com/Operating-Systems-Design-Implementati...
People have been writing C code with ADTs and "Modules" from the very beginning.
Two excellent examples which come to mind are; Andrew Tanenbaum's Minix book Operating Systems Design and Implementation and David Hanson's C Interfaces and Implementations: Techniques for Creating Reusable Software.
And of course the Linux Kernel is full of great modular C techniques which one can study.