DragonFly BSD

DragonFly BSD

Ongoing DragonFly News

2.2.1 released - 27 April 2009

The new 2.2 release includes Hammer, a filesystem that includes instant crash recovery, multi-volume file systems, data integrity checking, fine grained history retention, and the ability to mirror data to other volumes. It has undergone extensive stress-testing and is considered production-ready!

Summer of Code participation

DragonFly has been accepted to Google's Summer of Code for 2009, after a successful 2008 session. If you're a student, start planning for entering your proposal on the 23rd. If you can mentor, please sign up at the Google site and request a mentoring slot. There is an initial page listing potential projects; please read and add to it if you are interested.

Check the DragonFly Digest for other current events.

What is DragonFly BSD?

DragonFly belongs to the same class of operating system as BSD and Linux and is based on the same UNIX ideals and APIs. DragonFly gives the BSD base an opportunity to grow in an entirely different direction from the one taken in the FreeBSD, NetBSD, and OpenBSD series.

From 2003 (when DragonFly first forked from FreeBSD), to early 2007, the DragonFly project focused on rewriting most of the major kernel subsystems to implement required abstractions and support mechanics for the second phase of the project. This involved a great deal of work in nearly every subsystem, particularly the filsystem APIs and kernel core. During all of this we have managed to keep the system updated with regards to the third party applications and base system utilities needed to make any system usable in production. We have also adopted the PkgSrc system for management of all non-base-system third-party applications in order to pool our resources with other BSD projects using the system.

In the 2007-2008 time-frame a new filesystem called HAMMER was developed for DragonFly. HAMMER sees its first light of day in the July 2008 2.0 release. This filesystem has been designed to solve numerous issues and to add many new capabilities to DragonFly, such as fine-grained snapshots, instant crash recovery, and near real-time mirroring. The filesytem is also intended to serve as a basis for the clustering work that makes up the second phase of the project.

The second phase of the project is now upon us. The DragonFly project's ultimate goal is to provide native clustering support in the kernel. This involves the creation of a sophisticated cache management framework for filesystem namespaces, file spaces, and VM spaces, which allows heavily interactive programs to run across multiple machines with cache coherency fully guaranteed in all respects. This also involves being able to chop up resources, including the cpu by way of a controlled VM context, for safe assignment to unsecured third-party clusters over the internet (though the security of such clusters itself might be in doubt, the first and most important thing is for systems donating resources to not be made vulnerable through their donation).