From today’s perspective, one of the most important courses during my computer science education in college was the one that taught me about how operating systems work. And while many things that I learned at college are no longer relevant, the material of that course is still as relevant today as it was then. Sure, everything has become much more sophisticated, and operating systems now manage resources that are orders of magnitudes beyond what was available at that time. However, the fundamentals of how an operating system works when it comes to multitasking, memory management, file system handling, etc. are still the same. I find this knowledge absolutely essential in my everyday work and every couple of years, I have to compile a Linux kernel on my own, just for the fun of it. These days, it was time again, and after having expanded my knowledge a lot around Docker, Kubernetes, ‘the cloud’, CI/CD and other related things over the past year, I now went into the opposite direction for a while and had a look at the software that makes all of this work: The Linux kernel. To my surprise, quite a number of books on Linux kernel and driver development have recently been published, and I chose ‘Linux Kernel Programming’ by Kaiwan N Billimoria as my guide.
Continue reading Book Review: Linux Kernel Programming – Kaiwan N Billimoria