DDJ, December 2000 -- Operating Systems


FEATURES

INSIDE DEBIAN HURD

by Jerry Epplin

Debian is a freely available operating system, currently built around on the Linux kernel, that achieves flexibility by adhering to standard POSIX interfaces. And because Debian is kernel independent, the Hurd -- a collection of servers that run on top of the microkernel -- can also be used with the Debian distribution.

PORTING ACROSS UNIX AND WIN32

by Abdul Sakib Mondal

Even though UNIX and Win32 are the most common desktop operating systems around, applications written for one platform usually do not work on the other. Abdul ports a load-balancing application first from Sun OS to Linux, then from Linux to Win32.

THE WINDOWS 2000 CONTENT INDEX

by Bartosz Milewski

The Microsoft Content Index is a search engine integrated into Windows 2000. Bartosz, who was on the Content Index design and implementation team, describes its requirement set, design principles, and technical details.

MINIRTL: A MINIMAL REAL-TIME LINUX

by Peter Wurmsdobler and Nicholas McGuire

MiniRTL, short for "Minimum Real-time Linux," is a real-time Linux implementation that fits on a single floppy disk.

VIRTUAL LISTS FOR WIN32

by Steve Sipe

Steve presents CVListCtrl, a class that works in conjunction with the Win32 listview control to provide a virtual list implementation. Unlike normal lists, a virtual list only contains a handful of visible items at any one time.

THE MACOS FIND-BY-CONTENT ENGINE

by Chilton Webb

The Find-By-Content engine that's part of the MacOS is a system-level search facility that you can embed in your applications.

AUTOMATIC DETECTION OF POTENTIAL DEADLOCK

by John Mount

Deadlock can occur when a number of consumers (typically threads) access a set of resources in an unacceptable pattern. To combat it, John presents a solution based on run-time lock analysis that analyzes all transactions.

FILE RECOVERY TECHNIQUES

by Wietse Venema

Wietse investigates the topic of file recovery by reconstructing past behavior and examining deleted file access time patterns and other attributes.

THE DIGITA OS: AN EXTENSIBLE IMAGING PLATFORM

by Carlos E. Vidales and Eugene M. Farrelly

The Digita operating system from Flashpoint is designed for digital cameras. It supports all the basic camera features (including a GUI), and lets you extend the functionality of devices through scripts and applications.

EMBEDDED SYSTEMS

BUILDING AN OS-AWARE DEBUGGER

by Stewart Christie

Debugging applications developed to run under real-time operating systems can be difficult, but making debuggers "operating-system aware" can ease the process.

INTERNET PROGRAMMING

POP3 FOR C++

by Laura Michaels

Laura presents a POP3 implementation written in C++ that you can use for your POP3 client or library to handle SMTP or FTP or some other well-known Internet protocol.

PROGRAMMER'S TOOLCHEST

INFERNO APPLICATION DEVELOPMENT WITH LIMBO

by Phillip Stanley-Marbell

Inferno is a distributed OS for networked devices and Internet appliances, and applications for it are written in a programming language called "Limbo."

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

In addition to taking a look at Apple's public beta of its MacOS X operating system, Michael shares some thoughts about Jef Raskin's The Humane Interface and James Burke's The Knowledge Web.

C PROGRAMMING

by Al Stevens

While customizing Quincy 2000's Print dialogs isn't necessarily a day at the beach, it is still a boat load of fun.

JAVA Q&A

by Alexandre Pereira Calsavara

String searching is a basic operation for just about any application. Alexandre presents a small class that uses regular expressions to add powerful string search capabilities to Java.

ALGORITHM ALLEY

by Timothy Rolfe

If you need fast searching capabilities, AVL trees might just be what you're looking for.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Genetics, protein networks, and a Russian physicist are among the challenges Ecco and Liane face this month.

PROGRAMMER'S BOOKSHELF

by Lou Grinzo and Jacques Surveyer

Lou takes a look at Tom Swan's GNU C++ for Linux, by (you guessed it) Tom Swan, while Jacques examines Scott Ambler's Process Patterns: Building Large Scale Systems Using Object Technology.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by Nicholas Baran

OF INTEREST

by Shannon Cochran

SWAINE'S FLAMES

by Michael Swaine