DDJ, November 1999 -- Operating Systems


[November cover]

FEATURES

A CONVERSATION WITH GLENN REEVES

by Jack J. Woehr

Pathfinder was a decade-long program of robotic exploration of the planet Mars. Glenn Reeves, the mission's "Flight Software Cognizant Engineer," chats with Jack Woehr about Pathfinder and what's involved in writing software for extraterrestrial exploration.

LINUX, REAL-TIME LINUX, & IPC

by Frederick M. Proctor

When dealing with real-time systems, IPC overhead becomes important. Fred examines two of the best IPC mechanisms available under Linux -- FIFO and shared memory.

INSIDE WINDOWS NT SYSTEM DATA

by Sven B. Schreiber

Sven untangles the mysterious Windows NT NtQuerySystemInformation function.

EXTENDING THE PALMOS

by Greg Winton

Packaging code into shared libraries can enhance code reuse and reduce in-memory footprints. Greg takes a look at the Palm shared library model and presents a shared library you can use.

THE POWERTV OPERATING SYSTEM

by Morgan Woodson

The PowerTV operating system is designed for set-top boxes and hybrid fiber/cable networks. Morgan provides an overview of the OS, then presents a weather/traffic camera viewer application.

THE BERAYS RAY TRACER

by Regan Russell

Regan presents BeRays, an object-oriented ray-tracer application that makes it easy to plug in new rendering ideas.

DESIGNING THE LEGOS MULTITASKING OPERATING SYSTEM

by Markus L. Noga

LegOS, the tiny, yet powerful operating system Markus built as an alternative to the RCX firmware, supports features such as preemptive multitasking, dynamic memory management, POSIX semaphores, infrared (IR) communication, and more.

EMBEDDED SYSTEMS

JBED: JAVA FOR REAL-TIME SYSTEMS

by Jörgen Tryggvesson, Torbjörn Mattsson, Hansruedi Heeb

Jbed, a small, fast Java Virtual Machine for embedded real-time systems, includes a complete real-time operating system.

INTERNET PROGRAMMING

MACHINE LEARNING & AGENT-BASED COMPUTING

by Zhimin Ding and Li Liu

Zhimin and Li examine the application of machine-learning technology to control software agents, and present MLEngine -- a general-purpose AI engine with real-time learning capability.

PROGRAMMER'S TOOLCHEST

XML AND CORBA

by Dirk Hamstra

The XML|IT toolkit from CareFlow lets you automatically tag results returned from calls to CORBA services, then format them using XML.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

According to Arthur C. Clarke, any sufficiently advanced technology looks like magic. Michael looks at some of the magical moments that are shaping the world.

C PROGRAMMING

by Al Stevens

Al has a thing or two to say about book publishers and programming books, then he turns his attention to this month's project -- TYFC, a framework to "Teach Yourself Framework Classes."

JAVA Q&A

by Krishnan Rangaraajan

Does Java support Design by Contract? Not directly, but as Krishnan shows here, support is still possible.

ALGORITHM ALLEY

by Tim Kientzle

Unsharp masking is a photographic technique that increases the sharpness of photographic images. Tim presents an algorithm that implements this concept.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

One man's Calabaza is another man's pocket watch, as Ecco and Liane discover this month.

PROGRAMMER'S BOOKSHELF

by Gregory V. Wilson

Greg examines Mr. Bunny's Big Cup o' Java, The Inmates are Running the Asylum, Ready-to-Run Java 3D, The Java 3D API Specification, Advanced CORBA Programming with C++, and Inside the JavaOS Operating System.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by Nick Baran

OF INTEREST

by Nick Baran and Amy Lincicum

SWAINE'S FLAMES

by Michael Swaine