Three years after flying away from its FreeBSD roots, DragonFly BSD
continues to evolve. Version 1.6, out this week, fixes bugs, improves
wireless and expands package compatibility.
DragonFly BSD project leader Matthew Dillon created the project in 2003 as a
fork of FreeBSD 4.x-based code, because he and other DragonFly BSD developers
disagreed with the FreeBSD 5.x path.
With its 6.x branch having been released, FreeBSD has moved on. But so has DragonFly BSD.
DragonFly BSD’s last major release, version 1.4 moved the OS away from the FreeBSD PORTS package management system to
the PKGSRC system that is used by the NetBSD OS.
The new DragonFly BSD 1.6
boasts improved PKGSRC integration than the last release with more than 93
percent of the more than 6,000 packages in the repository able to build on
DragonFly BSD.
Wireless support is also improved with what the release notes term a ”
massive reorganization and rewrite of the 802_11 subsystem.”
While the
wireless improvements are notable, Dillon told internetnews.com that the most surprising aspect about them
is the fact that someone else did the work.
“The 802_11 work was primarily done by Sepherosa Ziehau, who is a top-notch
programmer,” Dillon said.
There are at least two other notable aspects of the 1.6 release, according
to Dillon.
“First, the sheer number of bugs that have been fixed, in particular a
number of old filesystem-related bugs that we inherited from FreeBSD,”
Dillon said. “That isn’t to say that all FS bugs have been fixed, but
there can’t be more then two or three left to find now.
“Second, I was able to accomplish a considerable amount of under-the-hood
infrastructure work,” Dillon continued.
The infrastructure work includes
work on pluggable scheduler framework, and what Dillon referred to as some
“major surgery” on the buffer cache and device I/O subsystem.
“I changed the buffer cache and device I/O over from using block numbers to
using 64 bit byte-granular offsets,” Dillon explained. “It might not sound
like a big thing, but it’s huge insofar as being able to integrate a
range-based cache coherency mechanism into the system.”
The next major release of DragonFly BSD is set for December and will focus on userland VFS (virtual file system) support .
“The requirements for making a robust userland VFS interface are a subset of
the requirements for general clustering, so it moves us along towards our
clustering goals,” Dillon said.
The improved userland VFS could also enable DragonFly BSD to potentially
port Sun’s ZFS (Zettabyte file system) and integrate directly in the DragonFly BSD
kernel.
ZFS is Sun’s next-generation 128-bit file system, which includes storage virtualization capability, as well as enhanced error detection and
correction capabilities.
Sun ZFS
is available under an open source license.
“I can’t promise ZFS in December because I do not yet know how large a job
it is going to be,” Dillon admitted. “We will just have to see how far I get
in the work over the next few months.”