DragonFly BSD is a free Unix derivative. The operating system is based on the source code of FreeBSD 4.8 -STABLE dated 16 June 2003 and thus belongs to the family of the BSD operating systems. It runs on PCs with i386 -based processor as well as on the x86 -64 architecture.
The DragonFly project was the former FreeBSD developer Matt Dillon, with the design decisions for the architecture of the FreeBSD 5.x kernel, particularly with respect to kernel threading and SMP, was not satisfied and recently with the other developers in the project had fallen initiated. It sees itself as a continuation of the FreeBSD 4.x - STABLE branch. Matt Dillon, who developed full-time on the project, is supported by more than fifty other developers.
Since as a new operating system to begin DragonFly BSD had no user base, the code base had not be backwards compatible, so that a set of APIs modernized and some experimental changes could be made.
Another feature of the development of DragonFly BSD is that new security concepts and innovations in this field, for example, which - compared to classical approaches regarded as safer - malloc implementation of the OpenBSD project, are taken very quickly in the development branch.
As Port Manager initially were FreeBSD ports from version 1.4 the derived from NetBSD pkgsrc used. Due to the high maintenance costs of pkgsrc ports comes from DragonFly BSD 3.4 DPorts addition, a work based on the FreeBSD Ports Ports system for use. The installation and administration of binary packages occurs at DPorts as in FreeBSD and PC -BSD by pkgng. The release cycle is about six months, but is also dependent on functional enhancements of the system.
One focus of the DragonFly BSD developers were from the outset to a better support of modern multiprocessor systems. Various scalability improvements like a new slab allocator, which does not require mutexes, have been made in particular in the kernel.
Lightweight kernel threads
In the Lightweight kernel threads ( LKWT ) is a kernel subsystem which should help to reduce the competition between processors. Here, each processor receives its own process scheduler processes are bound to a specific processor and can be broken only by IPI processes.
DragonFly BSD uses a messaging system similar to that of AmigaOS and other micro- kernels. This is used for communication between the individual LKWT. Each individual Lightweight kernel thread supports three types of message ports, can take in receiving the news:
- Thread ports
- Spin ports
Messages that are received on thread ports may be received only by the owner of the respective ports. Messages to spin and Serializerports can be simultaneously accessed and edited by multiple threads. Both synchronous and asynchronous responses to these messages is possible.
With DragonFly BSD 2.0, the now mature HAMMER was presented as a 64 -bit cluster file system in DragonFly BSD. HAMMER unlimited support, among other many dynamic snapshots of individual file systems, mirroring and partition sizes of up to 1 Exbibyte. The directory structure is formed by means of B- trees.
On 8 February 2012, the development of the successor filesystem Hammer2 was announced. Among the planned new features include incremental directory mirroring, multiple root directories as well as support for multiple compression algorithms, including LZ4 and zlib.
A first version of Hammer2 was released with DragonFly BSD 3.6.