Project Oberon, which illustrates that you can create a full interactive OS with rather small amont of code... if you ignore most of the things that we consider essential today, like structs and constants.
Sure, Oberon-the-language has structs and constants, but Oberon-the-OS does not not use them consistently. Take a look at this code from memory allocator (from link in my GP comments):
https://inf.ethz.ch/personal/wirth/ProjectOberon/Sources/Ker...