EARTH WEEK
Now through April 22, save up to 70% on digital learning resources. Learn more.
Register your product to gain access to bonus material or receive a coupon.
This book addresses the specific problems you will encounter while considering, planning, and executing a port of your application from Unix to Windows NT. Avoid troubling delays, anticipate problems, and plan ahead. Find the answer to that pivotal question: how can I preserve the substantial investment I made in my program's source code? This book provides expert insight on the intricacies of Windows NT and allows you to gain a deeper understanding of the way the hardware, executive components, kernel device drivers, and user-level software all work together to provide a working solution. A detailed analysis of the NT hardware, executive components, kernel device drivers, and user-level software shows you how each element of NT works together and how you can exploit this synergy within your ported applications.
Introduction.
1. The Problem.
Application Categories. Win16, Win32, and Unix. The PC World: An Elephant in a Phone Booth. The BIOS. Interrupts. Virtual DOS Machines and Windows on Windows. Win32. The Unix World: A Mutt in the Back Yard. Avoiding Common Pitfalls.
2. The Unix NT Porting Process.
Estimating the Project. The Grap Model. Development Methodologies. The Top Down Myth Working Code Wins. The Bottom Up Myth Shoot First Ask Questions Later. Ad Hoc: The Non Methodology. The Modified Spiral Model. Program Decomposition and Rewriting. Design Recovery and Reverse Engineering. Setup. Software Maintenance.
3. The Architect's Dilemma.
How Not to Port. Alternative Strategies. The Dilemma.
4. How Do I Get There From Here?
How Much Do You Know? Standards. Unix to Unix Porting. Unix Programming Environments. Unix Commands and Utilities. What Do You Have to Learn? Windows NT Programming Environments. Process Primitives. Process Environment. Files and Directories. Windows NT Commands and Utilities. Files and Directories. Windows NT Commands and Utilities. Strategies for Learning. Advantages and Disadvantages of Each Approach.
5. Windows NT Architecture.
Protected Subsystems. Services. Service Control Manager. The Registry. Application Structure. The GUI Problem. Bits, Bytes, and Defines. Process Structure and Threads in Win32. Threads. Why Are Threads Important? Fibers. Interprocess Communication. Signals. Signals in a Multithreaded Environment. Timers. Communication Mechanisms. Shared Files and Shared Memory. Security.
6. The I/O Subsystem.
Stoppable and Unloadable Drivers. The Trivial Driver. Common Driver Models.
7. Network Programming.
Streams. Windsock. Winsock and Windows.
8. User Interface and Graphical Applications.
Message Handling. Basic Handling. Basic GDI. "Brief Motif". The Motif User Interface Model. Windows User Interface Components. Windows Management. Resource Management. The Microsoft Foundation Classes and Borland's ObjectWindows. User Interface Components. Controls. Drag and Drop. Selections and the Clipboard. Internationalization and Unicode. Advanced User Interface Programming. Maintainability.
9. Native Windows NT Development Tools.
Unix Hosted Integrated Development Environments. DLL Programming.
10. DLL Programming and Low Level Debugging.
Shared Libraries and Exceptions in GCC. Spartanic Debugging. Crash. Why is This Important?
11. Unix Like Programming Environments.
A Comparison of Emulation Environments. Compatibility Package Difference Sets. Atypical X/Open Functions. Win32/Emulation Package Interaction. Strategies for Learning.
12. Unix Like User Environments.
The MKS Toolkit. GNU Bash, File, and Shell Utilities. OpenNT. A Comparison of Command Line Tools. X Stuff. Sharing Files Over a Heterogeneous Network.
13. The Win32 API from a Posix Perspective.
Process Primitives. Win32 Threads. The Wait Function Cluster. Signals. Sigset Manipulation. Real time Signal Extensions. Files and Directories. Directory Operations. I/O Primitives. Asynchronous I/O. File Control Operations. Special File Operations. File Inquiry Operations. File Security. File Time. Configurable Pathname Variables. Process Groups and Sessions. System Identification. Time. Terminal Handling. Terminal Control. System Databases. Security in Windows NT. More Security. Synchronization. Memory Management. Execution Scheduling. Clocks and Timers. Message Passing. Working Around the Standard.
14. Other APIs.
COM, OLE, and DDE. C++ Object Sets. The Template Problem. Open GL. Porting System Configuration and Administration Programs. Performance Monitoring. Be Conservative.
15. The Unix to Windows NT Dictionary.
16. Solutions and Recipes.
Solution to the _stdcall Problem. Solution to the cf/lf Problem.
17. Evaluation.
Bibliography.
Index.