DragonFly BSD
Adapted from Wikipedia · Discoverer experience
DragonFly BSD is a free and open-source Unix-like operating system that began in June 2003. It was created by Matthew Dillon, who was an Amiga developer in the late 1980s and early 1990s and later worked on FreeBSD from 1994 to 2003. Matthew started DragonFly BSD because he believed some new ways of handling tasks in FreeBSD 5 would cause problems. Although he couldn't change FreeBSD directly, his ideas led to the start of this new project.
DragonFly BSD was meant to continue the ideas of the FreeBSD 4.x series but has become very different. It uses special ways to handle tasks, a system for passing messages inside the computer, and a special way to organize files called HAMMER. Many of its ideas come from AmigaOS, the operating system that Matthew worked with when he developed for the Amiga computer. Even though the DragonFly BSD and FreeBSD projects are separate, they still share helpful updates and fixes.
System design
Kernel
DragonFly BSD is being built with a special messaging system in its kernel, similar to systems in some advanced computers. This messaging system can work in different ways to keep things running smoothly.
The creator, Matthew Dillon, is working on adding better ways for the computer to handle devices and file systems. This will make it easier to fix problems because parts of the kernel can be moved out and tested separately without affecting the whole system. If a part crashes, it won’t stop the whole system from working.
System calls, which are how programs talk to the kernel, are being split into two parts. This makes the kernel smaller and simpler and helps keep different versions of DragonFly working together.
Threading
DragonFly BSD focuses on running on modern 64-bit processors. It supports multiple threads of processing, which means it can handle many tasks at once. Each processor has its own scheduler to manage these threads, helping the system run more efficiently by using each processor’s cache effectively.
Shared resources protection
To keep things running safely on computers with multiple processors, DragonFly uses special methods to make sure threads don’t try to change the same thing at the same time. It uses critical sections and serializing tokens instead of more complex methods, which helps prevent problems and makes the system easier to manage.
Virtual kernel
Since version 1.8, DragonFly BSD can run a special version of itself inside the main system. This virtual kernel helps test new features safely without affecting the real system.
Package management
DragonFly BSD offers third-party software through binary packages or a special collection of software sources called DPorts.
CARP support
DragonFly BSD includes support for CARP, a protocol that allows multiple computers to share the same network address, which was added in 2011.
HAMMER file systems
DragonFly BSD supports special file systems called HAMMER and HAMMER2. HAMMER2 became the default file system in version 5.2.0. These file systems offer features like keeping past versions of files and checking for errors.
devfs
In 2007, DragonFly BSD added a new way to handle device files that changes based on what devices are connected, making it easier to manage devices.
Application snapshots
DragonFly BSD can take snapshots of programs when they start, which helps them load faster in the future. This is especially useful for large programs with many shared parts.
Development and distribution
DragonFly BSD, like FreeBSD and OpenBSD, is being updated by its developers to use newer programming standards. It includes special safety features to protect against certain types of attacks. DragonFly uses a system that helps developers track and fix problems in the core part of the operating system.
The operating system can be used right away from a CD or USB drive, letting users try it out or fix problems on their computers without needing to install it permanently. It is shared freely under open terms, allowing anyone to use, change, or share it.
| Version | Date | Changes |
|---|---|---|
| 6.4.2 | 9 May 2025 | Bug fixes |
| 6.4.1 | 30 April 2025 | Bug fixes |
| 6.4 | 30 December 2022 | |
| 6.2.1 | 9 January 2022 | |
| 6.0 | 10 May 2021 | Improved work of 'dsynth' - tool that allow to maintain local DPort repository Removed support of MAP_VPAGETABLE mmap(), as result no 'vkernel' in this release able to work |
| 5.8 | 3 March 2020 | |
| 5.6 | 17 June 2019 | Improved virtual memory system Updates to radeon and ttm Performance improvements for HAMMER2 |
| 5.4 | 3 December 2018 | Updated drivers for network, virtual machines & display GCC 8.0 with the previous GCC releases Hammer with more issue fixes |
| 5.2 | 10 April 2018 | |
| 5.0 | 16 October 2017 | New HAMMER2 filesystem Can now support over 900,000 processes on a single machine Improved i915 support IPFW better performance |
| 4.8 | 27 March 2017 | |
| 4.6 | 2 August 2016 | Improved i915 and Radeon support NVM Express support Improved SMP performance Improved network performance Preliminary support for UEFI booting autofs imported from FreeBSD, amd removed |
| 4.4 | 7 December 2015 | |
| 4.2 | 29 June 2015 | GCC 5.1.1 Improved i915 and Radeon support Improved sound support Improved support for memory controller and temperature sensors Path MTU Discovery enabled by default SCTP support removed Sendmail replaced by DMA GNU Info pages removed |
| 4.0 | 25 November 2014 | Non-locking, multi-threading PF Related networking better-threaded for improved throughput Procctl security feature in kernel Support for up to 256 CPUs Improved wireless networking support Rust and Free Pascal now supported i915 support greatly improved GCC 4.7.4 |
| 3.8 | 4 June 2014 | Dynamic root and PAM support USB4BSD now default Native C-State support for Intel CPUs TCP port token split for better TCP connect(2) performance GCC 4.7.3 HAMMER2 in system ( not ready for production use ) Final 32-bit release |
| 3.6 | 25 November 2013 | SMP contention reduction Kernel modesetting for Intel and AMD GPUs Hardware acceleration for Intel GPUs up to Ivy Bridge |
| 3.4 | 29 April 2013 | New package manager, DPorts, introduced GCC 4.7 Improved CPU usage and tmpfs performance under extreme load |
| 3.2 | 2 November 2012 | Multiprocessor-capable kernel became mandatory. Performance improvements in the scheduler. USB4BSD imported from FreeBSD. PUFFS imported from NetBSD. |
| 3.0 | 22 February 2012 | Multiprocessor-capable kernel became the default HAMMER performance improvements TrueCrypt-compatible encryption support dm-crypt replaced with a compatible BSD-licensed library Enhanced POSIX compatibility Device driver for ECC memory Major network protocol stack and SMP improvements ACPI-related improvements |
| 2.10 | 26 April 2011 | Giant lock removed from every area except the virtual memory subsystem HAMMER deduplication GCC 4.4 Bridging system rewritten Major performance improvements |
| 2.8 | 30 October 2010 | |
| 2.6 | 6 April 2010 | |
| 2.4 | 16 September 2009 | |
| 2.2 | 17 February 2009 | |
| 2.0 | 20 July 2008 | Major HAMMER improvements |
| 1.12 | 26 February 2008 | |
| 1.10 | 6 August 2007 | |
| 1.8 | 30 January 2007 | Virtual kernel implementation |
| 1.6 | 24 July 2006 | New random number generator IEEE 802.11 framework refactored Major giant lock, clustering, and userland VFS improvements Major stability improvements |
| 1.4 | 7 January 2006 | |
| 1.2 | 8 April 2005 | |
| 1.0 | 12 July 2004 | Technology showcase New BSD Installer LWKT subsystem and lightweight ports/messaging system Mostly MP-safe networking stack Lockless memory allocator Application checkpointing support. |
Related articles
This article is a child-friendly adaptation of the Wikipedia article on DragonFly BSD, available under CC BY-SA 4.0.
Images from Wikimedia Commons. Tap any image to view credits and license.
Safekipedia