DragonFly BSD 1.6 review
DownloadDragonFly is an Linux operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series
|
|
DragonFly is an Linux operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series. These operating systems belong in the same class as Linux in that they are based on UNIX ideals and APIs. DragonFly is a fork in the path, so to speak, giving the BSD base an opportunity to grow in an entirely new direction from the one taken in the FreeBSD-5 series.
It is our belief that the correct choice of features and algorithms can yield the potential for excellent scalability, robustness, and debuggability in a number of broad system categories. Not just for SMP or NUMA, but for everything from a single-node UP system to a massively clustered system. It is our belief that a fairly simple but wide-ranging set of goals will lay the groundwork for future growth.
The existing BSD cores, including FreeBSD-5, are still primarily based on models which could at best be called 'strained' as they are applied to modern systems. The true innovation has given way to basically just laying on hacks to add features, such as encrypted disks and security layering that in a better environment could be developed at far less cost and with far greater flexibility.
We also believe that it is important to provide API solutions which allow reasonable backwards and forwards version compatibility, at least between userland and the kernel, in a mix-and-match environment. If one considers the situation from the ultimate in clustering... secure anonymous system clustering over the internet, the necessity of having properly specified APIs becomes apparent.
Finally, we believe that a fully integrated and feature-full upgrade mechanism should exist to allow end users and system operators of all walks of life to easily maintain their systems. Debian Linux has shown us the way, but it is possible to do better.
DragonFly is going to be a multi-year project at the very least. Achieving our goal set will require a great deal of groundwork just to reposition existing mechanisms to fit the new models. The goals link will take you to a more detailed description of what we hope to accomplish.
1.2.0 is our second major DragonFly release and the first one which we have created a separate CVS branch for. DragonFly's policy is to only commit bug fixes to release branches.
This release represents a significant milestone in our efforts to improve the kernel infrastructure. DragonFly is still running under the Big Giant Lock, but this will probably be the last release where that is the case.
The greatest progress has been made in the network subsystem. The TCP stack is now almost fully threaded (and will likely be the first subsystem we remove the BGL from in coming months). The TCP stack now fully supports the SACK protocol and a large number of bug and performance fixes have gone in, especially in regard to GigE performance over LANs.
The namecache has been completely rewritten and is now considered to be production-ready with this release. The rewrite will greatly simplify future filesystem work and is a necessary precursor for our ultimate goal of creating a clusterable OS.
This will be last release that uses GCC 2.95.x as the default compiler. Both GCC 3.4.x and GCC 2.95.x are supported in this release through the use of the CCVER environment variable ('gcc2' or 'gcc34'). GCC 2.95.x is to be retired soon due to its lack of TLS support. The current development branch will soon start depending heavily on TLS support and __thread both within the kernel and in libc and other libraries. This release fully supports TLS segments for programs compiled with gcc-3.4.x.
It goes without saying that this release is far more stable then our 1.0A release. A huge number of bug fixes, performance improvements, and design changes have been made since the 1.0A release.
What's New in This Release:
1.6 is our fourth major DragonFly release. DragonFly's policy is to only commit bug fixes to release branches. The biggest user-visible changes in this release are a new random number generator, a massive reorganization of the 802.11 (wireless) framework, and extensive bug fixes in the kernel. We also made significant progress in pushing the big giant lock inward and made extensive modifications to the kernel infrastructure with an eye towards DragonFly's main clustering and userland VFS goals. We consider 1.6 to be more stable then 1.4.
DragonFly BSD 1.6 keywords