
How has it all started as far as I can recall?
I was always intrigued by how operating systems worked under the hood. A couple of years ago I watched an interesting interview with David Cutler who was a chief architect of Windows NT. Microsoft started designing NT back in 1988 and released it in 1993 as Windows NT 3.1. David Cutler wrote most of the kernel himself and his code is still there in Windows 11.
Having watched the interview I searched for a book that would describe how Windows NT was designed and developed. What I found was a nonfiction book Showstopper! The Breakneck Race to Create Windows NT and the Next Generation at Microsoft by G. Pascal Zachary written in 1994. The book was interesting to read and it described what toll it took for developers to deliver Windows NT in a relatively short time period for OS development.
After that book I was intrigued by Windows NT, so I wanted to get more details about the actual implementation of NT. Unfortunately, as we know Windows is a closed source OS. But a couple of years ago it was possible to find the source code of NT 4.5 in GitHub. So, I looked at the kernel code and was indeed impressed with the code that Dave Cutler wrote. Particularly, he wrote very detailed comments to document his code.
At the same time I started to look at technical books on Windows that described design, architecture and hands-on details of the OS. There are only a few books that exist on the subject. Among the best known ones is Windows Internals series of books that had a number of editions since 1992 when Inside Windows NT book by Helen Custer was published. As of today, the latest edition of the two part Windows Internals series is 7th from 2016. These books are not cheap, but they are written by the experts in the field, such as Pavel Yosifovich, Alex Ionescu, Mark Russinovich, David Solomon and Andrea Alliev.
Since I wanted to start somewhere I chose to buy a used copy of Inside Windows NT. Even though the book is quite dated and is from 1992 it was still interesting to read and most parts of it are still relevant after 34 years. I think it’s because the book describes the design and architecture of Windows NT without going into specific technical details of OS implementation. Also, Helen Custer was a technical writer with Windows NT team and she did a very good job explaining how NT worked that is still enjoyable to read nowadays. Having said that there are parts of the book that are dated and no longer applicable, for example the Networking chapter. But, reading this book can provide a reader with the basic understanding of operating systems design that is a good foundation to next read books such as Windows Internals and other books on operating systems.
In parallel, I thought it’s good to get some hands on experience working with kernel related code. So, I searched for the books that authors of Windows Internals wrote and I found out that Pavel Yosifovich wrote a number of detailed technical books about Windows programming and among them Windows Kernel Programming book which I bought. This book provides hands-on lessons that can teach you how to write Windows software device drivers which are drivers that run in kernel mode. In general, in operating systems there are two modes of code execution. One is called a user mode where applications run with restricted privileges. When user applications need privileged access they call services that are executed in kernel mode to get the work done.
At this point I felt like I needed also to get a good understanding of operating systems design in general. So, I asked Gemini to give me a list of books which it did.
1. The “Gold Standard” for Theory
“Operating System Concepts” by Silberschatz, Galvin, and Gagne (Often called “The Dinosaur Book” because of its cover)
- Why itโs great: This is the most widely used textbook in the world. It explains the “why” behind OS designโhow CPU scheduling works, why we need virtual memory, and how file systems are structured.
- Best for: A high-level, comprehensive overview of all concepts.
- Note: It is very theoretical. You wonโt see much actual code, but you will understand the logic that applies to all operating systems.
2. The Practical “In the Trenches” Choice
“Operating Systems: Three Easy Pieces” (OSTEP) by Remzi and Andrea Arpaci-Dusseau
- Why itโs great: This book is legendary for being readable, witty, and free (available online). It breaks the OS down into three pillars: Virtualization, Concurrency, and Persistence.
- Best for: Someone who finds traditional textbooks dry. It includes homework assignments and coding projects that make the concepts “click.”
- Link to Electronics: It does a fantastic job explaining how software abstractions interact with physical hardware (RAM and Disk).
3. For the Hardcore Implementation
“Modern Operating Systems” by Andrew S. Tanenbaum
Best for: Understanding the “Microkernel vs. Monolithic” debate you’ve been looking into. It provides a very detailed look at the interface between hardware and software.
Why itโs great: Tanenbaum is the creator of MINIX, the OS that inspired Linux. This book is famous for its depth. It doesn’t just tell you how a kernel works; it shows you the trade-offs involved in building one.
So, here I am reading some of the books above and working with the Windows Kernel Programming book at the moment.
Below, I’ll provide links to all the books above and some YouTube videos on the subject.
Resources
Technical tutorials
- Windows hardware developer documentation
- What’s new in driver development for Windows 11, version 25H2
Open Source clone of Windows NT that you haven’t heard about
ReactOS is primarily a reโimplementation of the Windows NT 5.2 architecture โ the version used in Windows Server 2003.
Books
- Windows Internals 7th edition
- Windows Kernel Programming second edition
YouTube videos
A two part interview with David Cutler
An interview with David Cutler by Dave Plummer
Developing Kernel Drivers with Modern C++ – Pavel Yosifovich






















