In computing, the DragonFly BSD operating system is a fork of FreeBSD. DragonFlyBSD was announced on the FreeBSD mailing lists on 16 July 2003 by Matt Dillon, a long-time FreeBSD and Amiga developer.

Dillon started DragonFly in the belief that that the methods and techniques being adopted for threading and SMP in FreeBSD 5 would lead to a poorly performing system that would be very difficult to maintain. He sought to correct these problems within the FreeBSD project, but others in the project did not think highly of his ideas and his ability to directly change the FreeBSD code was revoked.

DragonFly is derived from FreeBSD 4.8-RELEASE and imports features and bug fixes from FreeBSD 4 and 5 where appropriate, such as ACPI and a new ATA driver framework from FreeBSD 4. PAE support may also soon be added.

Intended to be "the logical continuation of the FreeBSD 4.x series," DragonFly is being developed in an entirely different direction from FreeBSD 5, including a new Light Weight Kernel Threads implementation and the beginings of a light weight ports/messaging system. Many concepts planned for DragonFly were inspired by the AmigaOS.

Whereas both Linux and FreeBSD employ fine-grained mutex models to achieve higher performance on multiprocessor systems, DragonFly does not. In DragonFly, threads are locked to CPUs by design, and each processor has its own LWKT scheduler. Threads are never preemptively switched from one processor to another; they are only migrated by the passing of an "Interprocessor Interrupt" (IPI) message between the CPUs involved.

System calls are being split and encapsulated into messages, and there is progress being made to provide both device and Virtual File System (VFS) messaging capabilities that will allow the remainder of the project goals to be met. The new infrastructure will allow many parts of the kernel to be migrated out into userland, whereby they will be more easily debugged and the system more robust - if a userspace driver crashes, it will not take out the kernel.

Other features new to BSD in general include variant symlinks and application checkpointing support.

There is now a "Live CD" distribution that boots into a complete DragonFly system. In the future, this will be usable as a recovery CD, an installation CD and as a demo CD. It includes the base system and a complete set of manual pages and will include source code and useful packages in future versions.

Ultimately, Dillon wants DragonFly to enable "secure anonymous system clustering over the Internet," and the light weight ports/messaging system will help to provide this capability.

Like the other free, open source BSDs, DragonFly is distributed under the terms of the modern version of the BSD license.

External links