DragonFly BSD facts for kids
![]() |
|
![]() DragonFly BSD 6.2.1 UEFI boot loader
|
|
Company / developer | Matthew Dillon |
---|---|
OS family | Unix-like (BSD) |
Working state | Current |
Source model | Open source |
Initial release | 1.0 / 12 July 2004 |
Latest stable release | 6.4.0 / 30 December 2022 |
Available language(s) | English |
Package manager | pkg |
Supported platforms | x86-64 |
Kernel type | Hybrid |
Userland | BSD |
Default user interface | Unix shell |
License | BSD |
DragonFly BSD is a special kind of operating system that is free to use and change. It's like a computer's main brain that controls everything. It was created from another operating system called FreeBSD 4.8.
A developer named Matthew Dillon started working on DragonFly BSD in June 2003. He announced it to the world in July 2003. Matthew had worked on computers like the Amiga in the past. He also worked on FreeBSD for many years.
Matthew started DragonFly because he thought some new ways of handling computer tasks in FreeBSD 5 would cause problems. These problems were about how the system handles many tasks at once (called threading) and uses multiple processors (called symmetric multiprocessing). He wanted to fix these issues. Even though he had disagreements with other FreeBSD developers, DragonFly BSD and FreeBSD still work together. They share fixes for bugs and updates for hardware.
DragonFly BSD was meant to be the next step after FreeBSD 4.x. But it has changed a lot since then. It uses its own special ways to handle tasks, like "lightweight kernel threads" (LWKT). It also has a unique way for parts of the system to talk to each other, called "message passing." Plus, it has its own file system called HAMMER. Many of its ideas came from the old AmigaOS system.
How DragonFly BSD Works
The Kernel
The kernel is the main part of the operating system. It manages everything on your computer. DragonFly's kernel has a special way for different parts to send messages to each other. This is similar to how some other advanced kernels work, but it's simpler. This messaging system helps the computer run as fast as possible.
According to Matthew Dillon, they are making progress in how devices and files talk to the kernel. This will allow many parts of the kernel to move outside of the main kernel area. When they are outside, they become smaller, separate programs. This makes them easier to fix if something goes wrong. It also makes the system stronger. If one of these separate programs crashes, the whole kernel won't crash.
The system is also changing how it handles requests from programs (called system calls). Some of these requests are being moved outside the kernel. This helps make the kernel smaller and simpler. It also helps new versions of DragonFly work with older programs.
How It Handles Tasks (Threading)
DragonFly BSD now only works on computers with x86-64 processors. It used to work on older x86 computers, but not anymore since version 4.0. Since version 1.10, DragonFly uses a simple way to handle tasks called "1:1 userland threading." This means each task a program wants to do gets its own kernel task.
In DragonFly, each CPU (processor) has its own way of scheduling tasks. Once a task is given to a processor, it usually stays there. Tasks only move to another processor if they send a special message. This helps each processor keep its own memory cache clear. This means each processor can store different information it's working on, which makes the computer run faster.
The "Light Weight Kernel Threads" (LWKT) system helps divide work among many kernel tasks. For example, in the networking part, there's one task for each network rule on each processor. This helps reduce competition for resources.
When many parts of the computer are working at the same time, they might try to change the same information. To stop this from happening, DragonFly uses special methods. These methods are called "critical sections" and "serializing tokens." They make sure that only one task can change a piece of information at a time.
Many core parts of DragonFly, like the LWKT system, work without needing special "locks." This means they can work very efficiently. Critical sections protect against interruptions on each CPU. This makes sure a task isn't stopped while it's working.
Serializing tokens are used to stop other CPUs from trying to access the same information at the same time. Many tasks can hold these tokens, but only one of them will be actively running at any moment. This helps prevent problems like "deadlocks," where tasks get stuck waiting for each other. DragonFly also uses a special memory manager that doesn't need locks, making memory tasks faster.
Virtual Kernel
Since version 1.8, DragonFly has a cool feature called a "virtual kernel" (vkernel). It's like running a mini-kernel inside the main system. This vkernel runs in its own isolated space. It has its own fake network and storage. This makes it much easier for developers to test new parts of the kernel without affecting the main system.
The vkernel is a bit different from the real kernel. It doesn't handle low-level hardware directly. It also uses standard programming functions whenever possible. This helps keep the code for the real kernel cleaner. The vkernel uses the main kernel to handle things like timers and connecting to the internet.
Managing Software (Package Management)
You can get extra software for DragonFly in two main ways. You can use "binary packages" through a tool called `pkgng`. Or you can use "DPorts," which is a system that helps you build software from its source code.
DragonFly used to use a system from FreeBSD for managing software. Then it tried a system from NetBSD called `pkgsrc`. But keeping `pkgsrc` working was too much effort. So, the project created DPorts, which is based on the FreeBSD system again.
CARP Support
DragonFly BSD also includes support for something called CARP. This helps make sure that if one computer fails, another can quickly take over its job. This is important for keeping services running smoothly.
HAMMER File Systems
DragonFly BSD supports its own special file systems called HAMMER and HAMMER2. A file system is how your computer organizes and stores files on a disk. HAMMER2 is the main one used now, since version 5.2.0.
HAMMER was made just for DragonFly BSD. It's designed to be powerful and easy to use. It lets you do things like keep a history of your files, take "snapshots" (copies of your files at a certain time), check for errors, and remove duplicate data.
HAMMER2 is the newer version of HAMMER. It's now considered stable and is the main focus for new improvements. It became the default file system in version 5.2.0.
devfs
In 2007, DragonFly BSD got a new "device file system" called devfs. This system automatically adds and removes device names as you plug in or unplug devices. It also lets you find devices by their unique serial numbers. This means you don't need a pre-made list of all possible devices.
Application Snapshots
DragonFly BSD has a feature that helps large programs start much faster. It's like taking a "snapshot" of a program's memory after it first loads. The next time you open that program, it can use this snapshot to start up more quickly. This is especially helpful for big programs that use many shared parts, like those found in KDE Software Compilation.
Development and How It's Given Out
DragonFly BSD developers are updating old programming code to newer standards. The system also has a security feature called "Stack-Smashing Protector." This helps protect against certain types of attacks on the computer. However, the main kernel doesn't use this protection by default anymore.
DragonFly has a built-in system that can rebuild the entire operating system from its source code with just a few commands. The developers use a system called Git to manage changes to the code. Because DragonFly has a smaller team of developers, it keeps both stable and testing versions of its code in one place.
Like other operating systems, DragonFly has a "kernel debugger." This helps developers find and fix problems in the kernel. A special "debug kernel" is installed by default. This helps create useful reports if the system crashes, making it easier to track down bugs.
How You Get It (Distribution Media)
You can get DragonFly BSD as a "Live CD" or "Live USB." This means you can start your computer from the CD or USB drive. It will run a full DragonFly system without needing to install it on your hard drive. This is great for trying it out, fixing a broken installation, or showing off the system. You can also download daily versions for the most recent updates.
DragonFly is free and open-source. This means anyone can use, change, and share it under the rules of the BSD license.
Release History

Version | Date | Changes |
---|---|---|
6.4 | 30 December 2022 | |
6.2.1 | 9 January 2022 |
|
6.0 | 10 May 2021 |
|
5.8 | 3 March 2020 | |
5.6 | 17 June 2019 |
|
5.4 | 3 December 2018 |
|
5.2 | 10 April 2018 |
|
5.0 | 16 October 2017 |
|
4.8 | 27 March 2017 | |
4.6 | 2 August 2016 |
|
4.4 | 7 December 2015 |
|
4.2 | 29 June 2015 |
|
4.0 | 25 November 2014 |
|
3.8 | 4 June 2014 |
|
3.6 | 25 November 2013 |
|
3.4 | 29 April 2013 |
|
3.2 | 2 November 2012 |
|
3.0 | 22 February 2012 |
|
2.10 | 26 April 2011 |
|
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 |
|
1.12 | 26 February 2008 |
|
1.10 | 6 August 2007 |
|
1.8 | 30 January 2007 |
|
1.6 | 24 July 2006 |
|
1.4 | 7 January 2006 | |
1.2 | 8 April 2005 |
|
1.0 | 12 July 2004 |
|
See also
In Spanish: DragonFly BSD para niños
- Comparison of BSD operating systems
- Comparison of open-source operating systems
- Comparison of operating system kernels
- Lumina (desktop environment)