"If you're a systems-level 32-bit or 64-bit Windows developer, whether using the Windows API directly or via .NET interop, you'll definitely want to take a look at this update to Johnson Hart's well-respected and well-loved book. Johnson starts with Windows history and cultural issues and moves through basic and advanced system services in a thoughtful, thorough manner. If Mr. Rogers wrote a book with David Cutler, this is what they'd come up with." –Chris Sells, Longhorn Content Strategist, Microsoft Corporation "While focusing on UNIX developers that are looking to augment their skills or simply jump ship, Windows System Programming, Third Edition is a book that even some seasoned systems-level Windows developers will undoubtedly find useful. This is not your average bland GUI treatise; Hart takes you down to the metal, explains all the relevant concepts clearly and in-depth, and gives you an extensive library of high-quality code examples that can be easily adapted for your own larger applications. Even if you've created server applications before, Windows System Programming will teach you new tricks, shed new light on concepts you thought you'd mastered, and offer new strategies for creating robust and secure solutions." –Klaus H. Probst, Senior Architect, Spherion Technology Services; Microsoft MVP "This book is quite easy to follow; there are clear explanations of everything. Even the explanation of the standards is readable! For a developer not familiar with developing with Windows, Hart's book also provides basic information on where Windows was and where it is today, plus a great explanation of how it is different from Posix and Unix." –Eric Landes, Microsoft MVP, www.aspalliance.com/corporatecoder "Even advanced developers will always need to have a book like this one on hand when the abstractions of a platform like .NET are inadequate or when they need to know more about how .NET is implemented. And the focus on low-level programming (specifically memory management and IO) and other non-GUI topics makes it stand out as superior among other Windows programming books. In keeping the GUI focus to a minimum, Hart's book is able to be comprehensive on the topics contained within." –Michael Davidson, IT Analyst
Windows System Programming, Third Edition gives a solid grounding on using the core Windows APIs, includingWin64; is updated for Windows Server 2003, Windows XP, and the Microsoft Visual Studio .NET Framework, and has extensive examples illustrate all topics and show performance impact and tradeoffs A practical guide to the central features and functions of the Windows API, Windows System Programming, Third Edition, will get you up and running with Windows XP and 2003, as well as other Windows systems. Unlike most Windows programming resources, this book focuses exclusively on the core system services–file system, memory, processes and threads, synchronization, communication, and security–rather than on the more commonly featured graphical user interface functions. Especially geared for those already familiar with UNIX or other high-end operating systems, Windows System Programming, Third Edition, helps you to build on your knowledge base to learn the most important features quickly and easily. This new edition has been updated and enhanced with coverage of new API functions, network programming, Windows Services, process and thread management, synchronization, and application performance on single and multiprocessor systems. It also describes techniques for porting applications to Win64, the new Windows 64-bit API. B
Solid, up-to-date (through kernel 6.0 build 6001 AKA Windows Server 2008) coverage of the Windows Base Systems API, clearly designed for the programmer who has been rocking UNIX coast-to-coast for a decade, and now finds himself required to deliver product to a Windows audience.
One might not think this a major demographic, but the path seems thus: (1) Promising computer scientists are attracted to UNIX in their youth due to its power, sanity, and elitism. (2) Said programmers get into systems programming, because it's (a) the natural domain of badasses and (b) the dominant genre of UNIX code jobs. (3) Enabled by the power of open source and the UNIX programming environment, they become the dominant programmers of their generations. (4) PROFIT (in what other industries, save finance, can you easily make six figures at twenty?) (5) They develop social consciences, and leave the server room to code for public consumption, Vanguard accounts fattened like Arctic seals. (6) Public consumption means dealing with Redmond.
Thus, there's likely plenty of space for a serious, focused book guiding the experienced UNIX systems programmer through Windows, explaining things in idioms familiar to UNIX hackers. Frequent reference is made to Stevens+Rago's essential Second Edition of Advanced Programming in the UNIX Environment, and indeed this book might be largely unintelligible without having read that tome. One comes away with rather deep respect, I must admit, for the Win64 API and where it's come. In several areas (the fibre formalism of user-scheduled threads/coroutines, the standardized approach to arena allocators (most unfortunately named "heaps"), the promotion of PIDs within the API from numerics to capabilities, etc), it's well ahead of what's available on a standard Linux/FreeBSD deployment (Solaris hackers may feel justified in cackling at this point). For first-timers, I'd recomment APIUEe2, followed only then by this book. --- ...and a chill filled the room...
A good reference covering Windows systems programming constructs and mechanisms, including those newly introduced in Windows 7 and Windows Server 2008 (e.g. slim readers/writers locks, condition variables).
This book was mistitled, it should have been called How to speed up your programs and improve their communication. Those were the primary things that the author talked about and while this is suppose to be a book about Windows Programing the author mentioned UNIX and Linux so often the I wondered what system he was referring to. Also, none of the example program listing pertained to the real world and he breezed over his topics so lightly it leaves the reader scratching his/her head.
The second biggest problem with the book is that the author makes references to things in the beginning of the book that he will be covering at the middle or end. Leaving the reader confused, this also cause the reader to be flipping back and forth through the book like a chicken with its head cut off.