Dr. Dobb's, May 1996
Operating Systems
Additional resources (listings and source code) for
the articles below can be found here.
Direct Port I/O and Windows NT
Dale Roberts
As powerful as it is, Windows NT isn't designed to let application programs directly access system hardware--and for good reason. Sometimes access can come in handy, however, and Dale gives you the tools for direct, user-mode port I/O.
Pipes for Macintosh
Kristiaan Coppieters
Kris presents a C program shell for creating Macintosh filters. And since the pipes are pure Mac applications, you don't need to extend the basic Macintosh operating system.
Examining VxD Service Hooking
Mark Russinovich
Bryce Cogswell
Intercepting VxD services lets you turn Windows into a fully extensible operating system. Mark and Bryce examine the different flavors of service hooking and unravel how hooking is implemented under both Windows 3.1 and Windows 95.
Building a DOS Serial Network
Kyle York
While MS-DOS 6's Interlnk program enables simple resource sharing--allowing you to connect two PCs via their serial or parallel ports--it doesn't provide full functionality. Kyle presents a program that picks up where Interlnk leaves off.
Conditional Compilation
David Epstein
David examines the proposed Fortran Conditional Compilation Facility (CCF), a line-based language that supports text substitution, macro expansion, and file inclusion. He also explains how CCF functionality can be easily adapted to other programming languages.
Benchmarking Real-Time Operating Systems
Eric McRae
The benchmarks Eric describes give you an intuitive feel for real-time operating-system performance and help you match an operating system to your design requirements.
Writing a Portable Transport-Independent Web Server
John Calcote
John examines the Transport Layer Interface (TLI) for building a Web server. TLI is portable, allowing you to write server code that is 98 percent transport independent.
Improving Usenet News Performance
Robert Krten
KNews, the program Robert presents, takes advantage of QNX features to more efficiently handle news articles. Under KNews, one program gets and stores articles, while another program implements a "virtual filesystem" to keep track of them.
Sharing Data Between Web Page Frames Using JavaScript
Tom Tessier
Frames are a powerful addition to HTML. When used in conjunction with JavaScript, you can create impressive pages that previously required knowledge of complex, server-based CGI.
Programming Paradigms
Michael Swaine
This month, Michael examines Gerry Wolff's premise that all of computing can be viewed as compression, Konrad Zuse's view that everything starts at the bit, and the Haskell programming language's assumption that just about everything fits into a pattern.
C Programming
Al Stevens
Before discussing the hows and whys of DDE and Quincy 96, Al looks at the real world of software design and takes Bill Gates' The Road Ahead on the road with him.
Algorithm Alley
Andreas Bender
Fast, accurate arithmetic sometimes requires good fractional approximations of important constants. Andreas evaluates both continued fractions and Farey series for finding these approximations.
Java Q&A
Clif Berg
Steve Alexander
In the first installment of this new column, Cliff and Steve explain how to display images from a local file, remote location, or from memory.
Undocumented Corner
Robert R. Collins
Four-MB paging lets the operating system access very large data structures. However, this feature doesn't appear to be available on x86 Intel processors--unless you know where to look. Robert shows you where 4-MB paging is documented, then presents a program that shows how the technique works.
Programmer's Bookshelf
Dean Clark
Graphics programming books are in the spotlight as Dean examines Ian Ashdown's Radiosity: A Programmer's Perspective and Tim Wittenburg's Photo-Based 3D Graphics in C++.
Editorial
Jonathan Erickson
Letters
Swaine's Flames
Michael Swaine
Of Interest
Monica E. Berg