Yes! Windows Internals, Fifth Edition, by Mark Russinovich and David Solomon, with Alex Ionescu (Microsoft Press, 2009), shipped to the printer today. To thank the very large cast of characters who have supported the book over the years and who contributed to the book this time, we’d like to share the current edition’s “Acknowledgments.” Thank you, everyone!
We dedicate this edition to Jim Allchin, our executive sponsor and champion before he
retired from Microsoft. Jim supported our book work on this and earlier editions and was
instrumental in bringing Mark Russinovich to Microsoft. In addition to shepherding Windows
Vista out the door, Jim also oversaw the delivery of Windows 2000, Windows XP, and
Windows Server 2003.
Each edition of this book has to acknowledge Dave Cutler, Senior Technical Fellow
and the original architect of Windows NT. Dave originally approved David Solomon’s source
code access and has been supportive of his work to explain the internals of Windows through
his training business as well as during the writing of the editions of this book.
We also thank three developers at Microsoft for contributing content that was incorporated
into this edition:
■ Christian Allred, who wrote detailed descriptions on transactional NTFS (TxF) internals,
data structures, and behaviors
■ Stone Cong, who wrote content and created diagrams about the Common Log File
■ Adrian Marinescu, who updated his heap manager section in the memory management
This book wouldn’t contain the depth of technical detail or the level of accuracy it has without
the input, and support of key members of the Windows development team. We want to
thank the following people, who provided technical review and input to the book:
Dmitry Anipko, Kwan Hyun, Ravi Mumulla, Jon Schwartz,
Eugene Bak, Mehmet Iyigun, Adi Oltean, Valerie See,
Karlito Bonnevie, Philippe Joubert, Vince Orgovan, Matt Setzer,
Jon Cargille, Kwan Hyun Kim, Bernard Ourghanlian, Andrey Shedel,
Dean DeWhitt, Kinshuman Kinshumann, Alexey Pakhunov, Neeraj Singh,
Apurva Doshi, Alex Kirshenbaum, Milos Petrbok, Vikram Singh,
Joseph East, Norbert Kusters, Daniel Pravat, Paul Sliwowicz,
Tahsin Erdogan, Jeff Lambert, Ravi Pudipeddi, John Stephens,
Cenk Ergan, Paul Leach, Melur Raghuraman, Deepu Thomas,
Osman Ertugay, Scott Lee, Ramu Ramanathan, J. R. Tipton,
Tom Fout, Mark Lloyd, Vlad Sadovsky, Davis Walker,
Nar Ganapathy, Karan Mehra, Dragos Sambotin, Brad Waters,
Robin Giese, Derek Moore, Jamie Schwartz, Bruce Worthington
Thanks also to Daniel Pearson (who teaches Windows internals for Dave Solomon) for his
review and input.
Others might have contributed by answering questions in the hallway or cafeteria or by providing
technical material—if we missed you, please forgive us!
The authors would like to thank Ilfak Guilfanov of Hex-Rays (www.hex-rays.com) for the IDA
Pro Advanced and Hex-Rays licenses for Alex Ionescu for his use in speeding his reverse
engineering of the Windows kernel. Alex chose not to have Windows source code access (as
did Mark Russinovich before he joined Microsoft) to research the information for his work on
this book, and these tools greatly facilitated his work. IDA’s features turn reverse engineering
into a powerful tool for understanding Windows internals. Combined with the Hex-Rays
Decompiler, this analysis becomes even faster and more refined, as C code is directly presented
instead of assembler, including all the right types.
Thanks also to Matt Ginzton of VMware, who arranged for Alex and David to receive VMware
Workstation to use in their research for the book. VMware Workstation was used instead of
Microsoft Virtual PC because of its support for 64-bit guests and multiple snapshots with
nonpersisent disks. (These features are now supported by Hyper-V, Microsoft’s new server
virtualization offering, but at the time of writing, this support was not available).
Thanks to Mike Vance of AMD for providing Dave Solomon’s AMD64 laptop for use in his
book research and live classes.
Finally, we want to thank the team at Microsoft Press who helped turn this book from idea
■ Ben Ryan (acquisitions editor at Microsoft Press) for shepherding another edition of this
■ Kathleen Atkins (project editor) and Devon Musgrave (developmental editor) for
launching and overseeing the project
■ Andrea Fox (proofreader), Curtis Philips (project and production manager), and John
Pierce (project editor and copyeditor) for laboriously going through all our chapters to
tighten up text, find inconsistencies, and keep the manuscript to the high standards of
Alex Ionescu, Mark Russinovich, and David Solomon