Advanced Search
Start Your Free Trial

Overview

Other Readers Also Read...
Advanced Windows Debugging

Advanced Windows Debugging
by Mario Hewardt; Daniel Pravat

Windows® Internals, Fifth Edition

Windows® Internals, Fifth Edition
by Mark E. Russinovich; David A. Solomon; Alex Ionescu

Top Sellers in this Category

Windows® Presentation Foundation Unleashed

Windows® Presentation Foundation Unleashed
by Adam Nathan; Daniel Lehenbauer - Lead Developer Responsible for WPF 3D

Advanced Windows Debugging

Advanced Windows Debugging
by Mario Hewardt; Daniel Pravat

"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.

Beginning with an examination of the features required in a single-process application, the text gradually progresses to increasingly sophisticated functions relating to a multithreaded environment. Each chapter contains realistic examples to illustrate the topics. You will find extensive coverage of such critical Windows topics as:

  • File and directory management

  • Character I/O and Unicode

  • The registry

  • Structured exception handling

  • Security services

  • Memory management and DLLs

  • Threads, process management, and scheduling

  • Thread synchronization, including the condition variable model for event and mutex usage

  • Interprocess communication, featuring pipes and mailslots

  • Network programming with sockets

  • Developing Windows Services

  • Timers,Asynchronous I/O, and I/O completion ports

  • Guidelines and trade-offs to improve application performance and reliability

  • Win64, covering architecture, data types, and legacy code migration

Short, practical examples illustrate each topic and are included on the companion Web site (www.awprofessional/com/titles/0321256190). The appendixes provide performance measurements and compare Windows, UNIX, and the C library.

Amazon.com® Reader Reviews (Ranked by Helpfulness)

Average Amazon.com® Rating: 4.5 out of 5 rating Based on 14 Ratings

Excellant Windows system level programming - 2007-01-20
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
I'm an old system's programmer, and I loved this book. It provides the exact information you need if your an experienced system's coder, and just need the specifics of how to accomplish the operations on windows. Multithreading, memory mapped file i/o, process & thread management, networking, you name it, and it's in here.

I use this text hand and glove with "Windows Internals" by Russinovich. Winternals explains what needs to be done, and Hart's book describes how. This is really an excellant text.

I particularly liked Appendix "C". Sprinkled throughout the text are example programs. Then Appendix "C" compares the real world performance of running the programs. The author does an excellant job of explaining why one approach is suprior to the other, than backs it up with timing examples (on difference versions of windows, using different hardware, and even the differences between FAT & NTFS).

About the only imrpovement to the text I could suggest, is less reference to Unix/POSIX. Most systems programmers are familiar with Unix, and it helps to have previous understanding from another platform, but I think people who buy this text are looking to learn the "Windows Way". Also, the text would benefit from a deeper treatment of the Windows Security model. As it stands, a demonstration of Unix-Style permissions for NTFS is not terribly useful in the real world.

Fantastic book with excellent coverage of multithreaded programming - 2006-09-09
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
The best thing about this book, in my opinion, is numerous comparisons that Mr. Hart makes between UNIX and Windows. As a recent Computer Science graduate, all of my system programming experience was in a UNIX environment. (My university used that OS for programming assignment exclusively.) After graduating, however, I found myself in a job that uses Windows. From school, I was familiar with the things I needed to do - parallel programming, sockets, services, but I had no idea how to actually implement such things in Windows. Mr. Hart's direct comparisons to UNIX gave me a frame of reference that made it easier for me to learn the subject matter quicker.

Also, the book's four chapters on multithreaded programming have been extremely insightful and indispensable. Mr. Hart writes "when defects do occur [in a multithreaded application], as they will, code inspection ... often is the most effective in finding and fixing the defects' root causes" (pg. 309). If you don't have the necessary knowledge, staring at the code all day won't do you a bit of good. Mr. Hart's fantastic coverage of this subject has helped me understand the fundamentals of this difficult programming paradigm.

In addition, the information on Structured Exception Handling (SEH) and Unicode was very helpful and informative.

Lastly, I found this book to be very useful because it is very up-to-date.

I would highly recommend this book.

Good but could be better - 2007-08-06
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
What impressed me most about this book was the subject range. It doesn't cover GUI stuff, but does cover UNICODE, threading, file handling, sockets, writing services, structured exception handling etc, and is pretty much up to date at time of writing this review (it doesn't cover Vista but does touch on 64-bit issues). There are books that cover some of these subjects more deeply, but I cannot think of a book that currently attempts to cover all of these subjects to the level that this book does or with such a consistent usage of Windows techniques.

Although this book does cover bits of the C run-time library, it concentrates more on what the Windows API can do for you that the C run-time cannot. This particularly showed through in the section on file handling. For someone like me who started working with the C and the C run-time library 20+ years ago, has worked with Windows APIs since the very first version of MS Windows appeared, worked with C++ for more than 10 years and worked on numerous UNIX projects too (often with code portable between Windows and UNIX), this book provides numerous reminders of why I should consider Windows APIs instead of C run-time libraries on projects where I don't need my code to be portable to UNIX. That's the key thing though - for an experienced developer this book largely acts as a reminder or as a trigger to go investigate certain things further, for rarely did it feel like an authoritative guide to the topics included. It is good, but not authoritative enough to be worthy of 5 stars. For example, my speciality is high-performance, multi-threaded servers handling protocols such as TCP/IP. Although this book covers multi-threading fairly well (although not brilliantly), I was particularly disappointed by the Sockets coverage - I could be wrong but I got the impression that the author prefers other interfaces to the Sockets API. Similarly, structured exception handling was covered very well, and file handling and memory handling pretty well, but the section on services felt a bit lightweight.

Example code in the book appears to be pretty good, although I have spotted a few minor issues. I haven't checked the errata on the author's web-site, but would hope that corrections do appear there.

So to conclude - yes, I think any serious Windows developer (particularly if writing server apps) should have a copy of this alongside books such as Jeffrey Richter's Programming Applications for Microsoft Windows, but having said that, I suspect that most people will think of Jeffrey Richter as the more authoritative even if in need of an update (which is planned to be happening later this year under a new title).

Touches on in depth issues of win32 programming - 2006-02-25
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Nice book that touches on in depth issues of win32 programming such as file handling, registry, memory issues, etc.

Windows System Programming - 2008-09-30
Reviewer Rating: 1 star rating2 star rating3 star rating4 star rating5 star rating
Windows System Programming is a great resource for programming using the core Windows API. It is the only resource I found that gives practical and complete examples on real-world programming tasks, such as Named Pipes using IO Completion ports. It will be a permanent fixture on my work desk, as it should be on any C++ Window's developers desk.

Browse Similar Topics

Top Level Categories:
Programming

Sub-Categories:
Programming > Windows

Some information on this page was provided using data from Amazon.com®. View at Amazon >


About Safari Books Online • Terms of Service • Privacy Policy • Contact Us • Corporate Licenses • Help • Accessibility | See us on FacebookSee us on Linked InSee us on TwitterRSS

Copyright 2009 Safari Books Online. All rights reserved.