Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
DragonFly BSD
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Free and open-source Unix-like operating system}} {{Use dmy dates|date=June 2014}} {{good article}} {{Infobox OS | name = DragonFly BSD | logo = [[File:DragonFly BSD Logo.svg|200px]] | screenshot = [[File:DragonFly BSD 6.2.1 boot loader screenshot.png|300px]] | caption = DragonFly BSD 6.2.1 [[UEFI]] boot loader | developer = [[Matthew Dillon]] | family = [[Unix-like]] ([[Berkeley Software Distribution|BSD]]) | working state = Current | source model = [[Open-source software|Open source]] | released = 1.0 / {{Release date and age|2004|07|12|df=yes}} | latest release version = 6.4.2 | latest release date = {{Release date and age|2025|05|09|df=yes}}<ref>{{cite web|url=https://www.dragonflybsd.org/release64/|title=DragonFly BSD 6.4|website=Dragonfly BSD|access-date=2025-05-14}}</ref> | language = English | prog_language = | updatemodel = | package_manager = DPorts, pkg | supported platforms = [[x86-64]] | kernel type = [[Hybrid kernel|Hybrid]]<ref name="not-microkernel" /> | userland = [[BSD]] | ui = [[Unix shell]] | license = [[BSD licenses#3-clause|BSD]]<ref name="dfly-license" /> | preceded_by = | succeeded_by = | website = {{URL|//www.dragonflybsd.org/}} }} '''DragonFly BSD''' is a [[Free and open-source software|free and open-source]] [[Unix-like]] [[operating system]] [[fork (software development)|forked]] from [[FreeBSD]] 4.8. [[Matthew Dillon]], an [[Amiga]] developer in the late 1980s and early 1990s and FreeBSD developer between 1994 and 2003, began working on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on 16 July 2003.<ref name="announcing-dfbsd" /> Dillon started DragonFly in the belief that the techniques adopted for [[Thread (computing)|threading]] and [[symmetric multiprocessing]] in FreeBSD 5<ref name="fbsd-smp" /> would lead to poor performance and maintenance problems. He sought to correct these anticipated problems within the FreeBSD project.<ref name="df-released-for-users" /> Due to conflicts with other FreeBSD developers over the implementation of his ideas,<ref name="behind-dfbsd" /> his ability to directly change the [[codebase]] was eventually revoked. Despite this, the DragonFly BSD and FreeBSD projects still work together, sharing bug fixes, driver updates, and other improvements. Dillon named the project after photographing a dragonfly in his yard, while he was still working on FreeBSD.{{Citation needed|date=November 2024}} Intended as the logical continuation of the FreeBSD 4.x series, DragonFly has diverged significantly from FreeBSD, implementing [[Light Weight Kernel Threads|lightweight kernel threads]] (LWKT), an in-kernel [[message passing]] system, and the [[HAMMER (file system)|HAMMER]] [[file system]].<ref name="osnews-interview-2004" /> Many design concepts were influenced by [[AmigaOS]].<ref name="unix-for-clusters" /> == System design == === Kernel === The [[kernel (operating system)|kernel]] messaging subsystem being developed is similar to those found in microkernels such as [[Mach (kernel)|Mach]], though it is less complex by design. DragonFly's messaging subsystem has the ability to act in either a synchronous or asynchronous fashion, and attempts to use this capability to achieve the best performance possible in any given situation.<ref name="dfbsd-os-wp" /> According to developer [[Matthew Dillon]], progress is being made to provide both device [[input/output]] (I/O) and [[virtual file system]] (VFS) messaging capabilities that will enable the remainder of the project goals to be met. The new infrastructure will allow many parts of the kernel to be migrated out into userspace; here they will be more easily debugged as they will be smaller, isolated programs, instead of being small parts entwined in a larger chunk of code. Additionally, the migration of select kernel code into userspace has the benefit of making the system more robust; if a userspace driver crashes, it will not crash the kernel.<ref name="kt-interview" /> [[System call]]s are being split into userland and kernel versions and being encapsulated into messages. This will help reduce the size and complexity of the kernel by moving variants of standard system calls into a userland [[compatibility layer]], and help maintain forwards and backwards compatibility between DragonFly versions. [[Linux]] and other [[Unix-like]] OS compatibility code is being migrated out similarly.<ref name="unix-for-clusters" /> ==== Threading ==== As support for multiple [[instruction set architecture]]s complicates [[symmetric multiprocessing]] (SMP) support,<ref name="behind-dfbsd" /> DragonFly BSD now limits its support to the [[x86-64]] platform.<ref name="osnews-mp-improved" /> DragonFly originally ran on the [[x86]] architecture, however as of version 4.0 it is no longer supported. Since version 1.10, DragonFly supports 1:1 userland threading (one kernel thread per userland thread),<ref name="luciani_dcbsdcon2009" /> which is regarded as a relatively simple solution that is also easy to maintain.<ref name="unix-for-clusters" /> Inherited from FreeBSD, DragonFly also supports multi-threading.<ref name="paying-off-already" /> In DragonFly, each [[Central processing unit|CPU]] has its own thread scheduler. Upon creation, threads are assigned to processors and are never preemptively switched from one processor to another; they are only migrated by the passing of an [[inter-processor interrupt]] (IPI) message between the CPUs involved. Inter-processor thread scheduling is also accomplished by sending asynchronous IPI messages. One advantage to this clean compartmentalization of the threading subsystem is that the processors' on-board [[CPU cache|caches]] in [[symmetric multiprocessor system]]s do not contain duplicated data, allowing for higher performance by giving each processor in the system the ability to use its own cache to store different things to work on.<ref name="unix-for-clusters" /> The [[Light Weight Kernel Threads|''LWKT'']] subsystem is being employed to partition work among multiple kernel threads (for example in the networking code there is one thread per protocol per processor), reducing competition by removing the need to share certain resources among various kernel tasks.<ref name="behind-dfbsd" /> ==== Shared resources protection ==== In order to run safely on multiprocessor machines, access to shared resources (like files, data structures) must be [[serialization|serialized]] so that threads or processes do not attempt to modify the same resource at the same time. In order to prevent multiple threads from accessing or modifying a shared resource simultaneously, DragonFly employs [[critical section]]s, and serializing tokens to prevent concurrent access. While both Linux and FreeBSD 5 employ fine-grained [[Lock (computer science)|mutex]] models to achieve higher performance on [[multiprocessor]] systems, DragonFly does not.<ref name="behind-dfbsd" /> Until recently, DragonFly also employed [[spl (Unix)|spl]]s, but these were replaced with critical sections. Much of the system's core, including the ''LWKT'' subsystem, the IPI messaging subsystem and the new kernel memory allocator, are lockless, meaning that they work without using mutexes, with each process operating on a single CPU. Critical sections are used to protect against local interrupts, individually for each CPU, guaranteeing that a thread currently being executed will not be preempted.<ref name="luciani_dcbsdcon2009" /> [[Serializing tokens]] are used to prevent concurrent accesses from other CPUs and may be held simultaneously by multiple threads, ensuring that only one of those threads is running at any given time. Blocked or sleeping threads therefore do not prevent other threads from accessing the shared resource unlike a thread that is holding a mutex. Among other things, the use of serializing tokens prevents many of the situations that could result in [[deadlock (computer science)|deadlock]]s and [[priority inversion]]s when using mutexes, as well as greatly simplifying the design and implementation of a many-step procedure that would require a resource to be shared among multiple threads. The serializing token code is evolving into something quite similar to the "[[Read-copy-update]]" feature now available in Linux. Unlike Linux's current RCU implementation, DragonFly's is being implemented such that only processors competing for the same token are affected rather than all processors in the computer.<ref name="serializing token" /> DragonFly switched to multiprocessor safe [[slab allocator]], which requires neither mutexes nor blocking operations for memory assignment tasks.<ref name="slab-allocator-fbsd" /> It was eventually ported into standard C library in the userland, where it replaced FreeBSD's malloc implementation.<ref name="new-libc-malloc" /> ==== Virtual kernel ==== {{Main article|Virtual Kernel}} Since release 1.8 DragonFly has a virtualization mechanism similar to [[User-mode Linux]],<ref name="towards-free-clustering" /> allowing a user to run another kernel in the userland. The virtual kernel (''vkernel'') is run in completely isolated environment with emulated network and storage interfaces, thus simplifying testing kernel subsystems and clustering features.<ref name="unix-for-clusters" /><ref name="kt-interview" /> The vkernel has two important differences from the real kernel: it lacks many routines for dealing with the low-level hardware management and it uses [[C standard library]] (libc) functions in place of in-kernel implementations wherever possible. As both real and virtual kernel are compiled from the same code base, this effectively means that platform-dependent routines and re-implementations of libc functions are clearly separated in a source tree.<ref name="peek-vkernel-1" /> The vkernel runs on top of hardware abstractions provided by the real kernel. These include the [[kqueue]]-based timer, the console (mapped to the [[virtual terminal]] where vkernel is executed), the disk image and virtual kernel Ethernet device (''VKE''), tunneling all packets to the host's [[TUN/TAP|tap]] interface.<ref name="peek-vkernel-2" /> === Package management === Third-party software is available on DragonFly as binary packages via <code>pkgng</code> or from a native [[ports collection]] β [[FreeBSD Ports#DPorts|DPorts]].<ref name="howto-dports" /> DragonFly originally used the [[FreeBSD Ports]] collection as its official [[package management system]], but starting with the 1.4 release switched to [[NetBSD]]'s [[pkgsrc]] system, which was perceived as a way of lessening the amount of work needed for third-party software availability.<ref name="df-released-for-users" /><ref name="10-years-of-pkgsrc" /> Eventually, maintaining compatibility with <code>pkgsrc</code> proved to require more effort than was initially anticipated, so the project created DPorts, an overlay on top of the [[FreeBSD Ports]] collection.<ref name="why-dports" /><ref name="any-new-packages" /> === CARP support === The initial implementation of [[Common Address Redundancy Protocol]] (commonly referred to as ''CARP'') was finished in March 2007.<ref name="carp-first-patch" /> As of 2011, CARP support is integrated into DragonFly BSD.<ref name="man-carp" /> === HAMMER file systems === {{Main article|HAMMER (file system)|HAMMER2}} Alongside the [[Unix File System]], which is typically the default [[file system]] on BSDs, DragonFly BSD supports the [[HAMMER (file system)|HAMMER]] and [[HAMMER2]] file systems. HAMMER2 is the default file system as of version 5.2.0. HAMMER was developed specifically for DragonFly BSD to provide a feature-rich yet better designed analogue of the increasingly popular [[ZFS]].<ref name="unix-for-clusters" /><ref name="kt-interview" /><ref name="hammer-design-document" /> HAMMER supports configurable file system history, [[snapshot (computer storage)|snapshot]]s, [[checksum]]ming, [[data deduplication]] and other features typical for file systems of its kind.<ref name="towards-free-clustering" /><ref name="can-hammer-compete" /> HAMMER2, the successor of the HAMMER file system, is now considered stable, used by default, and the focus of further development. Plans for its development were initially shared in 2012.<ref name="hammer2-design" /> In 2017, Dillon announced that the next DragonFly BSD version (5.0.0) would include a usable, though still experimental, version of HAMMER2, and described features of the design.<ref name="hammer2-release" /> With the release after 5.0.0, version 5.2.0, HAMMER2 became the new default file system. === devfs === In 2007 DragonFly BSD received a new [[device file system]] (devfs), which dynamically adds and removes device nodes, allows accessing devices by connection paths, recognises drives by [[serial number]]s and removes the need for pre-populated <code>/dev</code> file system hierarchy. It was implemented as a [[Google Summer of Code]] 2009 project.<ref name="bsdtalk184" /> === Application snapshots === DragonFly BSD supports [[Amiga]]-style ''resident applications'' feature: it takes a snapshot of a large, dynamically linked program's [[virtual memory]] space after loading, allowing future instances of the program to start much more quickly than it otherwise would have. This replaces the [[prelink]]ing capability that was being worked on earlier in the project's history, as the resident support is much more efficient. Large programs like those found in [[KDE Software Compilation]] with many [[Library (computer science)|shared libraries]] will benefit the most from this support.<ref name="dfbsd-diary" /> == Development and distribution == [[File:DragonFly BSD 6.2.1 Lumina desktop screenshot.png|thumb|DragonFly BSD 6.2.1 with [[Lumina (desktop environment)|Lumina]] desktop environment]] As with [[FreeBSD]] and [[OpenBSD]], the developers of DragonFly BSD are slowly replacing pre-[[function prototype]]-style [[C (programming language)|C]] code with more modern, [[ANSI C|ANSI]] equivalents. Similar to other operating systems, DragonFly's version of the [[GNU Compiler Collection]] has an enhancement called the [[Buffer overflow protection#GCC Stack-Smashing Protector (ProPolice)|Stack-Smashing Protector (ProPolice)]] enabled by default, providing some additional protection against [[buffer overflow]] based attacks. {{asof|2005|7|23}}, the kernel is no longer built with this protection by default.<ref name="dfbsd-diary" /> Being a derivative of FreeBSD, DragonFly has inherited an easy-to-use integrated build system that can rebuild the entire base system from source with only a few commands. The DragonFly developers use the [[Git]] version control system to manage changes to the DragonFly [[source code]]. Unlike its parent FreeBSD, DragonFly has both stable and unstable releases in a single source tree, due to a smaller developer base.<ref name="behind-dfbsd" /> Like the other BSD kernels (and those of most modern operating systems), DragonFly employs a built-in [[kernel debugger]] to help the developers find kernel bugs. Furthermore, {{as of|2004|10|lc=1}}, a debug kernel, which makes bug reports more useful for tracking down kernel-related problems, is installed by default, at the expense of a relatively small quantity of disk space. When a new kernel is installed, the backup copy of the previous kernel and its modules are stripped of their debugging symbols to further minimize disk space usage. === Distribution media === The operating system is distributed as a [[Live CD]] and [[Live USB]] that boots into a complete DragonFly system.<ref name="towards-free-clustering" /><ref name="bsdtalk184" /> It includes the base system and a complete set of manual pages, and may include source code and useful packages in future versions. The advantage of this is that with a single CD users can install the software onto a computer, use a full set of tools to repair a damaged installation, or demonstrate the capabilities of the system without installing it. Daily snapshots are available from the master site for those who want to install the most recent versions of DragonFly without building from source. Like the other free and open-source BSDs, DragonFly is distributed under the terms of the modern version of the [[BSD license]]. === Release history === Reverse chronological: {{Timeline DragonFly BSD}} {| class="wikitable sortable" |- ! Version ! Date<ref name="dfly-releases" /> ! Changes |- ! 6.4.1{{anchor|6.4.1}} | {{dts|format=dmy|2025|04|30}} | * Bug fixes |- ! 6.4{{anchor|6.4}} | {{dts|format=dmy|2022|12|30}} | |- |- ! 6.2.1{{anchor|6.2}} | {{dts|format=dmy|2022|01|09}} | * NVMM ported to DragonFly * Added support for growfs to changing the size of an existing [[HAMMER2]] volume. * Added xdisk. Remote HAMMER2 disks can be mounted (experimental feature) * Imported [[AMDgpu (Linux kernel module)|amdgpu]] driver, matches Linux 4.19 support. * Updated [[Direct Rendering Manager|DRM]] |- |- ! 6.0{{anchor|6.0}} | {{dts|format=dmy|2021|05|10}} | * 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{{anchor|5.8}} | {{dts|format=dmy|2020|03|03}} | |- |- ! 5.6{{anchor|5.6}} | {{dts|format=dmy|2019|06|17}} | * Improved virtual memory system * Updates to radeon and ttm * Performance improvements for HAMMER2 |- |- ! 5.4{{anchor|5.4}}<!-- pbpaste | sed -E 's#^! ([[:digit:]][.][[:digit:]]+)$#! \1{{anchor|\1}}#g' | pbcopy --> | {{dts|format=dmy|2018|12|03}} | * Updated drivers for network, virtual machines & display * GCC 8.0 with the previous GCC releases * Hammer with more issue fixes |- |- ! 5.2{{anchor|5.2}} | {{dts|format=dmy|2018|04|10}} | * [[HAMMER2]] filesystem is now considered stable * [[Meltdown (security vulnerability)|Meltdown]] and [[Spectre (security vulnerability)|Spectre]] mitigation support * [[ipfirewall|ipfw]] Updates * Improved graphics support |- ! 5.0{{anchor|5.0}} | {{dts|format=dmy|2017|10|16}} | * New [[HAMMER2]] filesystem * Can now support over 900,000 processes on a single machine * Improved i915 support * IPFW better performance |- ! 4.8{{anchor|4.8}} | {{dts|format=dmy|2017|03|27}} | * Initial [[AMD]] [[Ryzen]] support * Improved i915 support * Improved kernel performance * [[MultiMediaCard#eMMC|eMMC]] boot support * [[LibreSSL]] replaced [[OpenSSL]] in base * GCC 5.4.1 * [[Interprocedural optimization|LTO]] support * Initial [[Clang]] framework * [[Unified Extensible Firmware Interface|UEFI]] install support |- ! 4.6{{anchor|4.6}} | {{dts|format=dmy|2016|08|02}} | * Improved i915 and Radeon support * [[NVM Express]] support * Improved SMP performance * Improved network performance * Preliminary support for [[Unified Extensible Firmware Interface|UEFI]] booting * [[Automounter|autofs]] imported from FreeBSD, <code>amd</code> removed |- ! 4.4{{anchor|4.4}} | {{dts|format=dmy|2015|12|07}} | * GCC 5.2 * <code>[[Gold (linker)|gold]]</code> now the default linker * Improved i915 and Radeon support * Complete overhaul of the locale system * Collation support for named locales * Regex library replaced with [[TRE (computing)|TRE]] * Symbol versioning support in [[C standard library|libc]] * Numerous HAMMER cleanups and fixes |- ! 4.2{{anchor|4.2}} | {{dts|format=dmy|2015|06|29}} | * 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 * [[Stream Control Transmission Protocol|SCTP]] support removed * [[Sendmail]] replaced by DMA * [[Texinfo|GNU Info]] pages removed |- ! 4.0{{anchor|4.0}} | {{dts|format=dmy|2014|11|25}} | * Non-locking, multi-threading [[PF (firewall)|PF]] * Related networking better-threaded for improved throughput * Procctl security feature in kernel * Support for up to 256 CPUs * Improved wireless networking support * [[Rust (programming language)|Rust]] and [[Free Pascal]] now supported * i915 support greatly improved * GCC 4.7.4 |- ! 3.8{{anchor|3.8}} | {{dts|format=dmy|2014|06|04}} | * 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{{anchor|3.6}} | {{dts|format=dmy|2013|11|25}} | * SMP contention reduction * Kernel modesetting for Intel and AMD [[Graphics processing unit|GPUs]] * Hardware acceleration for Intel GPUs up to [[Ivy Bridge (microarchitecture)|Ivy Bridge]]<ref name="KMSi915support" /> |- ! 3.4{{anchor|3.4}} | {{dts|format=dmy|2013|4|29}} | * New package manager, DPorts, introduced * GCC 4.7 * Improved CPU usage and [[tmpfs]] performance under extreme load |- ! 3.2{{anchor|3.2}} | {{dts|format=dmy|2012|11|2}} | * Multiprocessor-capable kernel became mandatory. * Performance improvements in the scheduler. * USB4BSD imported from FreeBSD. * [[PUFFS (NetBSD)|PUFFS]] imported from NetBSD. |- ! 3.0{{anchor|3.0}} | {{dts|format=dmy|2012|2|22}} | *Multiprocessor-capable kernel became the default *HAMMER performance improvements *[[TrueCrypt]]-compatible encryption support *[[dm-crypt]] replaced with a compatible [[BSD licenses#2-clause|BSD-licensed]] library *Enhanced [[POSIX]] compatibility *Device driver for [[ECC memory]] *Major network protocol stack and SMP improvements *[[Advanced Configuration and Power Interface|ACPI]]-related improvements |- ! 2.10{{anchor|2.10}} | {{dts|format=dmy|2011|4|26}} | *Giant lock removed from every area except the [[virtual memory]] subsystem *HAMMER deduplication *GCC 4.4 *[[Bridging (networking)|Bridging]] system rewritten *Major performance improvements |- ! 2.8{{anchor|2.8}} | {{dts|format=dmy|2010|10|30}} | *Wi-Fi stack imported from FreeBSD *[[Logical volume management]] *[[dm-crypt]] *New disk scheduler *Reduced [[giant lock]] usage |- ! 2.6{{anchor|2.6}} | {{dts|format=dmy|2010|4|6}} | *Swapcache *[[tmpfs]] imported from NetBSD *HAMMER and general I/O improvements |- ! 2.4{{anchor|2.4}} | {{dts|format=dmy|2009|9|16}} | *[[Device file#devfs|devfs]] *New [[Advanced Host Controller Interface|AHCI]] driver, including full [[Native Command Queuing|NCQ]] support<ref>{{cite web |author= [[Matthew Dillon]] |date= 2009-06-04 |url= http://www.dragonflybsd.org/mailarchive/kernel/2009-06/msg00004.html |title= "Re: DragonFly-2.3.1.165.g25822 master sys/dev/disk/ahci Makefile TODO ahci.c ahci.h ahci_attach.c ahci_cam.c ahci_dragonfly.c ahci_dragonfly.h atascsi.h" }}</ref> *[[Network File System|NFS]] improvements *Full x86-64 support |- ! 2.2{{anchor|2.2}} | {{dts|format=dmy|2009|2|17}} | *[[HAMMER (file system)|HAMMER]] officially production-ready<ref name="towards-free-clustering" /> *Major stability improvements *New release media: [[Live CD|LiveCD]] and [[Live USB|LiveUSB]] |- ! 2.0{{anchor|2.0}} | {{dts|format=dmy|2008|7|20}} | *Major [[HAMMER (file system)|HAMMER]] improvements |- ! 1.12{{anchor|1.12}} | {{dts|format=dmy|2008|2|26}} | *[[hw.sensors|Sensor framework]] imported from [[FreeBSD]] *[[Bluetooth]] stack *GCC 4.1 *DragonFly Mail Agent (DMA), a stub [[Message transfer agent|MTA]] *Support for the [[Intel 80386|386]] CPU dropped *Preliminary [[x86-64]] support (not functional) *Experimental [[HAMMER (file system)|HAMMER]] support |- ! 1.10{{anchor|1.10}} | {{dts|format=dmy|2007|8|6}} | *Userland threading system *[[Advanced Host Controller Interface]] support *[[GUID Partition Table]] support |- ! 1.8{{anchor|1.8}} | {{dts|format=dmy|2007|1|30}} | *[[Virtual kernel]] implementation |- ! 1.6{{anchor|1.6}} | {{dts|format=dmy|2006|7|24}} | *New random number generator *[[IEEE 802.11]] framework refactored *Major giant lock, clustering, and userland VFS improvements *Major stability improvements<ref name="cuts-the-cord" /> |- ! 1.4{{anchor|1.4}} | {{dts|format=dmy|2006|1|7}} | *[[GNU Compiler Collection|GCC]] 3.4 *[[pkgsrc]] used by default<ref name="cuts-the-cord" /> *Citrus imported from [[NetBSD]]<ref name="quick-review-dfbsd-14" /> |- ! 1.2{{anchor|1.2}} | {{dts|format=dmy|2005|4|8}} | *TCP [[selective acknowledgement|SACK]] *TCP Performance tuning *[[ALTQ]] and [[PF (firewall)|PF]] *[[Thread-local storage]] *Console over [[IEEE 1394]] *Namecache infrastructure rewritten *[[X Window System|X11]] support *[[pkgsrc]] support |- ! 1.0{{anchor|1.0}} | {{dts|format=dmy|2004|7|12}} | *''Technology showcase'' *New BSD Installer *LWKT subsystem and lightweight ports/messaging system *Mostly MP-safe networking stack *Lockless memory allocator *[[Variant symlinks]] *[[Application checkpointing]] support.<ref name="behind-dfbsd" /> |} == See also == {{Portal|Free and open-source software}} * [[Comparison of BSD operating systems]] * [[Comparison of open-source operating systems]] * [[Comparison of operating system kernels]] * [[Lumina (desktop environment)]] == References == {{Reflist|40em|refs= <ref name="10-years-of-pkgsrc">{{cite web|url=https://netbsd.org/gallery/10years.html#sonnenberger|title=10 years of pkgsrc|at=Joerg Sonnenberger about pkgsrc on DragonFly BSD and his pkgsrc development projects|first=Mark|last=Weinem|work=[[NetBSD]]|year=2007|access-date=22 November 2011}}</ref> <ref name="KMSi915support">{{citation |url=http://lists.dragonflybsd.org/pipermail/users/2013-July/053643.html | title=KMS + i915 support now in -master |first=Francois |last=Tigeot |work=users mailing list |date=31 July 2007 |access-date=2 December 2013}}</ref> <ref name="announcing-dfbsd">{{citation |url=http://lists.freebsd.org/pipermail/freebsd-current/2003-July/006889.html |title=Announcing DragonFly BSD! |first=Matthew |last=Dillon |work=freebsd-current mailing list |date=16 July 2003 |access-date=26 July 2007}}</ref> <ref name="any-new-packages">{{citation |url=http://lists.dragonflybsd.org/pipermail/users/2013-September/090165.html |title=Any new packages? |first=Justin |last=Sherrill |work=users mailing list |date=29 September 2013 |access-date=2 December 2013}}</ref> <ref name="behind-dfbsd">{{citation |url=http://www.onlamp.com/pub/a/bsd/2004/07/08/dragonfly_bsd_interview.html |title=Behind DragonFly BSD |last=Biancuzzi |first=Federico |work=[[O'Reilly Media]] |date=8 July 2004 |access-date=20 November 2011 |archive-date=9 April 2014 |archive-url=https://web.archive.org/web/20140409155743/http://www.onlamp.com/pub/a/bsd/2004/07/08/dragonfly_bsd_interview.html |url-status=dead }}</ref> <!-- ref name="bf-sched-dfbsd">{{citation |url=http://leaf.dragonflybsd.org/~brillsp/bfq_doc/bfq.html |title=The Budget Fair Queueing Disk Scheduler for DragonFlyBSD |first=Brills |last=Peng |access-date=19 November 2011}}</ref --> <ref name="bsdtalk184">{{citation |url=http://cisx1.uma.maine.edu/~wbackman/bsdtalk/bsdtalk184.ogg |format=[[vorbis|ogg]] |work=bsdtalk |time=<!-- Needs to be listened again --> |title=DragonFlyBSD with Matthew Dillon |author=Mr |date=7 January 2010 |access-date=20 November 2011 |url-status=dead |archive-url=https://web.archive.org/web/20120425233456/http://cisx1.uma.maine.edu/~wbackman/bsdtalk/bsdtalk184.ogg |archive-date=25 April 2012 |df=dmy-all}}</ref> <ref name="dfly-license">{{citation |url=//www.dragonflybsd.org/docs/developer/DragonFly_BSD_License/ |title=DragonFly BSD License |work=DragonFly BSD |access-date=17 January 2015}}</ref> <ref name="can-hammer-compete">{{citation |url=https://www.phoronix.com/scan.php?page=article&item=dragonfly_hammer |title=Can DragonFlyBSD's HAMMER Compete With Btrfs, ZFS? |first=Michael |last=Larabel |author-link=Michael Larabel |work=Phoronix |quote=HAMMER does appear to be a very interesting BSD file-system. It is though not quite as fast as the ZFS file-system on BSD, but this is also an original file-system to the DragonFlyBSD project rather than being a port from OpenSolaris. Not only is HAMMER generally faster than the common UFS file-system, but it also has a much greater feature-set. |date=7 January 2011 |access-date=20 November 2011}}</ref> <ref name="carp-first-patch">{{citation |url=http://leaf.dragonflybsd.org/mailarchive/kernel/2007-03/msg00033.html |title=First Patch to get CARP on Dfly |first=Jonathan |last=Buschmann |work=kernel mailing list |date=14 March 2007 |access-date=20 November 2011}}</ref> <ref name="cuts-the-cord">{{citation |url=http://www.internetnews.com/dev-news/article.php/3622406 |title=DragonFly BSD 1.6 Cuts the Cord |first=Sean Michael |last=Kerner |work=InternetNews |date=25 July 2006 |access-date=20 November 2011}}</ref> <ref name="dfbsd-diary">{{citation |url=//www.dragonflybsd.org/diary/ |title=DragonFly BSD diary |work=DragonFly BSD |date=7 January 2006 |access-date=19 November 2011}}</ref> <ref name="dfbsd-os-wp">{{cite conference |last=Hsu |first=Jeffery M. |date= 2004-03-13 |url=http://people.freebsd.org/~hsu/papers/dragonflybsd.asiabsdcon04.pdf |title=The DragonFly BSD Operating System |conference-url= https://web.archive.org/web/20040402054538/http://www.asiabsdcon.org/schedule.shtml |conference= AsiaBSDCon 2004 |location= Taipei, Taiwan |access-date=20 November 2011}}</ref> <ref name="dfly-releases">{{citation |url=//www.dragonflybsd.org/releases/ |title=DragonFly: Releases |work=DragonFly BSD |access-date=19 June 2014}}</ref> <ref name="df-released-for-users">{{citation |url=http://www.internetnews.com/dev-news/article.php/3576426 |title=New DragonFly Released For BSD Users |first=Sean Michael |last=Kerner |work=InternetNews |date=10 January 2006 |access-date=20 November 2011 |archive-url=https://web.archive.org/web/20110628232056/http://www.internetnews.com/dev-news/article.php/3576426 |archive-date=June 28, 2011}}</ref> <ref name="fbsd-smp">{{citation |url=http://www.lemis.com/~grog/SMPng/USENIX/paper.pdf |title=Improving the FreeBSD SMP implementation |first=Greg |last=Lehey |publisher=[[USENIX]] |year=2001 |access-date=22 February 2012}}</ref> <ref name="hammer2-design">{{citation |url=http://leaf.dragonflybsd.org/mailarchive/users/2012-02/msg00020.html |title=DESIGN document for HAMMER2 (08-Feb-2012 update) |first=Matthew |last=Dillon |work=users |date=8 February 2012 |access-date=22 February 2012}}</ref> <ref name="hammer2-release">{{citation |url=http://lists.dragonflybsd.org/pipermail/users/2017-August/313558.html |title=Next DFly release will have an initial HAMMER2 implementation |first=Matthew |last=Dillon |work=users |date=18 August 2017 |access-date=3 July 2018}}</ref> <ref name="hammer-design-document">{{citation |url=http://leaf.dragonflybsd.org/mailarchive/kernel/2007-10/msg00008.html |title=Re: HAMMER filesystem update - design document |first=Matthew |last=Dillon |work=kernel mailing list |date=10 October 2007 |access-date=20 November 2011}}</ref> <ref name="howto-dports">{{citation |url=//www.dragonflybsd.org/docs/howtos/HowToDPorts/ |title=HowTo DPorts |work=DragonFly BSD |access-date=2 December 2013}}</ref> <ref name="kt-interview">{{citation |url=http://www.kerneltrap.org/node/14116 |title=Interview: Matthew Dillon |first=Jeremy |last=Andrews |work=[[KernelTrap]] |date=6 August 2007 |archive-url=https://web.archive.org/web/20110515101806/http://kerneltrap.org/node/14116 |archive-date=15 May 2011 |url-status=dead |df=dmy-all}}</ref> <ref name="luciani_dcbsdcon2009">{{citation |url=http://www.dcbsdcon.org/speakers/slides/luciani_dcbsdcon2009.pdf |title=M:N threading in DragonflyBSD |first=Robert |last=Luciani |publisher=BSDCon |date=24 May 2009 |archive-url=https://web.archive.org/web/20101223004617/http://www.dcbsdcon.org/speakers/slides/luciani_dcbsdcon2009.pdf |archive-date=23 December 2010}}</ref> <ref name="man-carp">{{citation |url=http://leaf.dragonflybsd.org/cgi/web-man?command=carp§ion=4 |title=CARP(4) manual page |work=DragonFly On-Line Manual Pages |access-date=20 November 2011}}</ref> <ref name="new-libc-malloc">{{citation |url=http://leaf.dragonflybsd.org/mailarchive/kernel/2009-04/msg00021.html |title=New libc malloc committed |first=Matthew |last=Dillon |work=kernel mailing list |date=23 April 2009 |access-date=8 August 2011}}</ref> <ref name="osnews-interview-2004">{{citation |url=http://www.osnews.com/story.php?news_id=6338 |title=Interview with Matthew Dillon of DragonFly BSD |first=Eugenia |last=Loli-Queru |work=[[OSNews]] |date=13 March 2004 |access-date=22 February 2012}}</ref> <ref name="osnews-mp-improved">{{citation |url=http://www.osnews.com/story/25334/DragonFly_BSD_MP_Performance_Significantly_Improved |title=DragonFly BSD MP Performance Significantly Improved |work=[[OSNews]] |date=16 November 2011 |access-date=19 November 2011}}</ref> <ref name="paying-off-already">{{citation |url=http://www.shiningsilence.com/dbsdlog/2004/01/11/194.html |title=Paying off already |first=Justin |last=Sherrill |date=11 January 2004 |access-date=20 November 2011 |archive-date=30 April 2014 |archive-url=https://web.archive.org/web/20140430091350/http://www.shiningsilence.com/dbsdlog/2004/01/11/194.html |url-status=dead }}</ref> <ref name="peek-vkernel-1">{{citation |url=https://lwn.net/Articles/228404/ |title=A peek at the DragonFly Virtual Kernel |issue=part 1 |first=Aggelos |last=Economopoulos |work=[[LWN.net]] |date=16 April 2007 |access-date=8 December 2011}}</ref> <ref name="peek-vkernel-2">{{citation |url=https://lwn.net/Articles/230658/ |title=A peek at the DragonFly Virtual Kernel |issue=part 2 |first=Aggelos |last=Economopoulos |work=[[LWN.net]] |date=16 April 2007 |access-date=8 December 2011}}</ref> <ref name="quick-review-dfbsd-14">{{citation |url=http://www.osnews.com/story/13352/A_Quick_Review_of_DragonFly_BSD_1_4 |title=A Quick Review of DragonFly BSD 1.4 |first=Trent |last=Townsend |work=[[OSNews]] |date=18 January 2006 |access-date=16 November 2011}}</ref> <ref name="serializing token">{{citation |url=http://thread.gmane.org/gmane.os.dragonfly-bsd.kernel/4436 |title=Serializing token |first1=Joe |last1=Pistritto |first2=Matthew |last2=Dillon |first3=Justin C. |last3=Sherrill |first4=Dave |last4=Leimbach |first5=David |last5=Wu |first6=Andrew |last6=Atrens |first7=Joerg |last7=Sonnenberger |first8=Chuck |last8=Tuffli |first9=Eirik |last9=Nygaard |display-authors=3 |work=kernel mailing list |date=24 April 2004 |access-date=20 March 2012 |archive-url=https://archive.today/20130415065717/http://thread.gmane.org/gmane.os.dragonfly-bsd.kernel/4436 |archive-date=15 April 2013 |url-status=dead }}</ref> <ref name="slab-allocator-fbsd">{{citation |url=http://www.usenix.org/event/usenix01/bonwick.html |title=Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources |first1=Jeff |last1=Bonwick |author-link1=Jeff Bonwick |first2=Jonathan |last2=Adams |publisher=[[USENIX]] |date=3 January 2002 |access-date=20 November 2011}}</ref> <ref name="towards-free-clustering">{{citation |url=https://lwn.net/Articles/384200/ |title=DragonFly BSD 2.6: towards a free clustering operating system |first=Koen |last=Vervloesem |work=[[LWN.net]] |date=21 April 2010 |access-date=19 November 2011}}</ref> <ref name="unix-for-clusters">{{citation |url=http://www.informit.com/articles/article.aspx?p=766375 |title=DragonFly BSD: UNIX for Clusters? |first=David |last=Chisnall |work=[[InformIT (publisher)|InformIT]] |date=15 June 2007 |access-date=22 November 2011}}</ref> <ref name="why-dports">{{citation |url=http://www.shiningsilence.com/dbsdlog/2013/09/30/12549.html |title=Why dports? |first=Justin |last=Sherrill |work=DragonFly BSD Digest |date=30 September 2013 |access-date=2 December 2011 |archive-date=30 April 2014 |archive-url=https://web.archive.org/web/20140430091359/http://www.shiningsilence.com/dbsdlog/2013/09/30/12549.html |url-status=dead }}</ref> <ref name="not-microkernel">{{citation |url=https://www.dragonflybsd.org/mailarchive/kernel/2006-08/msg00037.html |title=Re: How much of microkernel? |first=Matthew |last=Dillon |work=kernel mailing list |date=22 August 2006 |access-date=14 September 2011}}</ref> }} == External links == *{{Official website}} {{DragonFly |state=expanded}} {{Berkeley Software Distribution}} {{Unix}} {{AmigaOS}} {{DEFAULTSORT:Dragonfly Bsd}} [[Category:DragonFly BSD| ]] [[Category:2004 software]] [[Category:Berkeley Software Distribution]] [[Category:Free software operating systems]] [[Category:Operating system distributions bootable from read-only media]] [[Category:Software forks]] [[Category:Software using the BSD license]] [[Category:Unix variants]] [[Category:X86-64 operating systems]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:AmigaOS
(
edit
)
Template:Anchor
(
edit
)
Template:As of
(
edit
)
Template:Asof
(
edit
)
Template:Berkeley Software Distribution
(
edit
)
Template:Citation needed
(
edit
)
Template:Cite web
(
edit
)
Template:DragonFly
(
edit
)
Template:Dts
(
edit
)
Template:Good article
(
edit
)
Template:Infobox OS
(
edit
)
Template:Main article
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Timeline DragonFly BSD
(
edit
)
Template:Unix
(
edit
)
Template:Use dmy dates
(
edit
)