If you were like me in college, you first learned about the C programming language in an introductory computer science course. Then, perhaps you took a really hard course in operating systems. Then, you never thought deeply about those concepts ever again. Given that many software engineering generalists today work in higher level languages, I find that pattern of behavior to be common. Yet, I oft