It is a pleasure to be able to write a few words about such a significant work as this book, and I thank the authors for providing me the opportunity to do so.
I first met David Solomon when I was working at Digital Equipment Corporation on the VMS operating system for VAX and he was only 16. Since that time he has been involved with operating system development and teaching operating system internals. I met Mark Russinovich relatively recently but have been aware of his expertise in the area of operating systems for some time. He has done some amazing work, such as his NTFS file system running on Microsoft Windows 98 and his "live" Microsoft Windows 2000 kernel debugger that can be used to peer into the Windows 2000 system while it is running.
The beginnings of Windows NT started in October 1988 with a set of goals to produce a portable system that addressed OS/2 compatibility, security, POSIX, multiprocessing, integrated networking, and reliability. With the advent and huge success of Windows 3.0, the system goals were soon changed to natively address Windows compatibility directly and move OS/2 compatibility to a subsystem.
We originally thought we could produce the first Windows NT system in a little over two years. It actually ended up taking us four and a half years to the first release in the summer of 1993, and that release supported the Intel i386, the Intel i486, and the MIPS R4000 processors. Six weeks later we also introduced support for the Digital Alpha processors.
The first release of Windows NT was larger and slower than expected, so the next major push was a project called Daytona, after the speedway in Florida. The main goals for this release were reducing the size of the system, increasing the speed of the system, and of course trying to make it more reliable. Six months after the release of Windows NT 3.5 in the fall of 1994, we released Windows NT 3.51, which was an updated version containing support for the IBM PowerPC processor.
The push for the next version of Windows NT was to update the user interface to be compatible with Windows 95 and to incorporate the Cairo technologies that had been under development at Microsoft for a couple of years. This system took two more years to develop and was introduced in the summer of 1996 as Windows NT 4.0.
That brings us to the Windows 2000 system and what this book is about. Windows 2000 is built on the same Windows NT technology as the previous versions and introduces significant new features such as Active Directory. Windows 2000 took three and a half years to produce and is the most tested and tuned version of Windows NT technology produced to date. Windows 2000 is the culmination of over eleven years of development spanning implementations on four architectures. The Windows 2000 code base is currently being ported to the new Intel IA-64 architecture. Windows 2000 is by far the best version of Windows NT technology we have produced to date, but there's more to come and we are busy working on the next release.
This book is the only definitive work on the internal structure and workings of Windows 2000. The authors have done a remarkable job of assimilating the details of the Windows NT code base and producing examples and tools that help the reader understand how things work. Every serious operating system developer should have a copy of this book on his or her desk.
David N. Cutler
Senior Distinguished Engineer