General Development Archive

Fair Queuing Disk Schedulers

Following the recent release of an anticipatory IO scheduler, Andrea Arcangeli started a lengthy thread in which he proposed an SFQ (Stochastic Fair Queuing) disk scheduler. The idea was picked up by Jens Axboe who had evidently worked on a similar idea earlier. Jens quickly posted two different disk schedulers utilizing "fair queuing" algorithms, more commonly used in handling network traffic. Read the full story at KernelTrap.

The New BFS (Brendan File System)

File systems need to change. Current file systems are horribly out-of-touch with the realities of what users need to effectively find, organize, and modify their vast quantities of files. Unfortunately, no major consumer OS vendor (Microsoft, Apple, various Linux distos, etc.) has had the foresight, the will, and most of all, the cajones to implement anything more elaborate than a small departure from the standard hierarchical name-space which we all grew up on and should rightfully deplore. Worst of all, the best suggestions for changing the current entrenched standard are incredibly toothless, incredibly feeble.

Introduction to PyObjC

Some programmers see the advantage of combining Python and Objective-C in the same environment, believing that a bridge between the two languages provides tremendous power and advantages to either language. For the Objective-C developer, access to Python provides a rapid application-development solution that's far more efficient than one requiring a compiler. For the Python developer, transparent access to Objective-C would allow the developer's scripts to leverage the full power and elegance of the MacOSX environment. In this article, Bill Bumgarner shows you how to bring these worlds together.

Rebol to be Released for MacOSX

REBOL Technologies today announced its plan to expand development and support for the Apple Macintosh OS X operating system. Beginning with OS X Jaguar (version 10.2), REBOL will port its entire line of products, including View and Pro products as well as Command, SDK (Software Developers Toolkit) and IOS (X Internet Operating System).

Software Strategies for Emerging Developers

"Software is big business. Every year, consumers spend over a hundred billion dollars purchasing shrink-wrap software. For you as a developer, shareware is a cheap, effective means of marketing and distributing your software. Shareware lets the public redistribute your software for free, then pay a registration fee if they like it. Today, nearly all software companies provide some form of free trial version of their software." Read the article at MacDevCenter.

Cross-Platform Packaging Facility OpenPKG 1.2 Released

The OpenPKG project released version 1.2 of their unique RPM-based cross-platform Unix software packaging facility. OpenPKG 1.2 provides 361 selected packages which include proven versions of popular Unix software -- all carefully packaged for easy deployment on the six officially supported Unix platforms FreeBSD 4.7 and 5.0, Debian GNU/Linux 2.2 and 3.0, and Sun Solaris 8 and 9.

Excuse Me While I Reboot My Dishwasher

An article in Baseline covers the increasing reliance that everyday appliances have on complex software, and the potentially disastrous results when that software fails. One prominent example of this is the BMW 745i, which has a sort of uber-control joystick that controls a WindowsCE-based system. This system was so buggy that BMW has done two recalls. The software was too ambitious and too poorly tested, so things like the brake lights not working and the units suddenly changing to metric are the result.

Why Automatic Information Management is Doomed to Fail

There has been a growing movement in the computer industry as of late towards exploration of more database-like filesystem paradigms - the reason being that today's filesystems are primitive, scattered, and cannot efficiently manage the immense amount of information that computer users have to work with on a regular basis every day.

Programming Languages Will Become OSes (But Are Not Quite Yet)

A couple of months ago, at the Lightweight Languages Workshop 2002, Matthew Flat made a premise in his talk: Operating system and programming language are the same thing (at least "mathematically speaking"). I find this interesting and has a lot of truth in it. Both OS and PL are platforms on which other programs run. Both are virtualizing machines. Both make it easier for people to write applications (by providing API, abtractions, frameworks, etc.)

Advanced Linux file Systems are Bigger, Faster, and More Reliable

"The file system is one of the most important parts of an operating system. The file system stores and manages user data on disk drives, and ensures that what's read from storage is identical to what was originally written. In addition to storing user data in files, the file system also creates and manages information about files and about itself." Read the long article by JFS' own Steve Best.

Context Switching, Part 2

This article looks at two behaviors of the scheduler. The first behavior is the reaction to adding more choices to the scheduler's switching decision. The second demonstrates fairness by performing a uniform workload in multiple threads. Source code is provided so you can experiment. Last month's column looked at bare context switch times by using the best primitives on both Windows and Linux. According to those results, context switch time under Windows takes only half as long as under Linux.