In short, DragonflyBSD is Dillon's experimental OS with ideas he would never be able to get into FreeBSD. It's never really found a niche for production use as far as I can tell, but I'd love to be proven wrong on that.
Source: FreeBSD user of several years either as a server OS, workstation OS or both. And I've dabbled with Dragonfly and love reading about obscure unices and their quirks.
Oh, could you give a bit of an overview of the State of FreeBSD on the Desktop (or laptop)? I'm playing with the idea. Tried OpenBSD for a while but it just wasn't very consumer-ready. No bluetooth support at all, videos would have audio and video lag, and other issues. Is FreeBSD more suited to daily consumer laptop use? I use Arch btw
I don't know where did you get that FreeBSD is regarded as the fast one. I think it is considered the popular/general purposed one, without a single aim like openBSD or netBSD have.
[0] : https://www.dragonflybsd.org/performance/
It was born out of disagreement about how SMP should work in FreeBSD around Northwood P4 era (first HyperThreaded consumer CPU). Around that time, every general purpose OS as absolutely horrible at utilizing more than one logical cores.
FreeBSD first gained SMP support at 5.0, and it was actually usable at 5.2. DragonFly BSD author had a disagreement how to implement it and though 5.x direction is bad, so, IIRC, he forked 4.x line and implemented his own vision from there. Then it was "FreeBSD does it, so I'm going to do it differently", at least that's how it looks from an outside perspective.
So, it's good at SMP if we're going by that outdated classification of BSD systems.
Some would argue that in hindsight, Matt was correct at the time for the fork - from a technical standpoint.
Freebsd has the most developer resources and tends to be good at optimizing for speed but the userland always feels, it is hard to explain, but off, if you are fine with with the linux userland this will be a step up, openbsd, a step down. It has very good zfs integration and that is a solid reason for using it alone.
Netbsd just sits in the corner doing their own thing, I am not sure what that is but I suspect if I had not fallen for openbsd I would be using netbsd. A good solid small OS.
Dragonfly has an incredible main developer who has strong views about how parallel systems should be structured and the programing chops to pull it off. If you can take using a system with absolutely minuscule developer resources you will find real gems here, an amazing filesystem and very good multiprocessor support.
Openbsd strives for correctness above all else, speed tends to be a second class citizen, that is, if the developers have to make a choice between a simple obviously correct solution and a messy but quick one, they will almost always go for the simple one. speed is fine but not at the expense of readability. the system is probably the most full featured. With an emphasis on network daemons. but limited developer resources keep everything simple. I think of it as the best desktop system due to it's ease of administration and excellent ports system.
Portability, pkgsrc, some neat innovations, and a small and welcoming community. I'm not qualified to judge this, but they also value code quality and security.
See Annoucning DragonFly BSD!
https://lists.freebsd.org/pipermail/freebsd-current/2003-Jul...
Further reading
> A technical introduction: The ultimate goal of the DragonFly project at its inception was to provide native clustering support in the kernel. This type of functionality requires a sophisticated cache management framework for filesystem namespaces, file spaces and VM spaces. These and other features eventually culminate in the ability to allow heavily interactive programs to run across multiple machines with cache coherency fully guaranteed in all respects. This also requires being able to divide resources, including the CPU by way of a controlled VM context, for safe assignment to potentially unsecured third-party clusters over the internet. This original design direction, although no longer the primary goal of the DragonFly project, has influenced many of the design decisions made in the intervening years. While full cache coherency is no longer a top level goal, filesystem coherency is, and that direction continues to guide the project in a number of ways.
> DragonFly BSD was forked from FreeBSD 4.8 in June of 2003, by Matthew Dillon. The project was originally billed as "the logical continuation of the FreeBSD 4.x series", as quoted in the announcement, but this description has long since become obsolete. From a performance perspective DragonFly's only real competitor these days is Linux.
Intended as the logical continuation of the FreeBSD 4.x series, DragonFly has diverged significantly from FreeBSD, implementing lightweight kernel threads (LWKT), an in-kernel message passing system, and the HAMMER file system. Many design concepts were influenced by AmigaOS.
I'd say it's more like:
• NetBSD – the oldest, aims at the widest platform support
• FreeBSD – next oldest, aims at modern hardware, best hardware and desktop support, native ZFS.
• OpenBSD – a bit younger, aims at correctness and security, so very basic hardware support, e.g. no Bluetooth at all. But that means it supports some of the newest kit, e.g. Apple M1 and M2, because its idea of "support" is so rudimentary.
• Dragonfly BSD – the youngest, the most experimental. X86-64 only. Aims at supporting lots of CPUs, lots of memory, lots of disk via a homegrown fancy modern FS, HAMMER2.
So, no, I suspect DragonFly is the fastest.
Can you tell me why? Because i used it for 3 years regularly in a professional setup (~10 servers). Never had a problem with hammer 1 or 2 or anything else.
My source on that is a LinuxConfAU talk I can't recall off the top of my head (the same speaker gave a somewhat notable talk in defence of SystemD)
I am a bit torn apart about him, he's half right half wrong, anyway it's good to have discussions like that.
> DragonFly BSD has been going through rapid and ever increasing development since the fork. One of the important works included the simplification and general cleanup of the majority of the kernel subsystems. This work was originally intended to support single system image clustering, but has had the effect of making the kernel much more reliable, understandable and easily maintainable. One of the fundamental synchronization concepts that DragonFly uses throughout the kernel, the token, lends itself directly to ease of maintenance and understandability of the kernel.
There's been plenty of neat off-shoot advantages DragonflyBSD has gained along this quest. Great great scalability has been notable; the core coherency construct, the serializing token, targets reducing locking in the system & potentially allows scale-out into SSI. DragonflyBSD has some really cool tricks, like being able to run virtual kernels- running a kernel as a process, for "jail" or just kerneldev reasons.
Still it's impossible to mention DragonflyBSD without mentioning it's filesystem, HAMMERFS, and now HAMMERFS2, which is a great Copy-on-Write & snapshotted fs intended for radical scale out, & ultimately, clustering, where multiple machines can cohesively contribute & operate a single filesystem together, with pooled resources. There is already a good bit of quorumed clustering support in HAMMERFS2.
> The HAMMER filesystem is also intended to serve as a basis for the clustering and other work that makes up the second phase of the project.
There's a StackOverflow question talking to DragonflyBSD as a SSI[2] as well, which mainly cites the same History page, but also has some other links.
[1] https://www.dragonflybsd.org/history/
[2] https://unix.stackexchange.com/questions/429464/dragonfly-bs...
filesystem designed with cluster in mind (Just the design - the implantation still experimental). Process checkpointing. etc
Why don't you do that? You don't need linux to be happy, quite be opposite actually, install DFly and have fun.
HAMMER2 is really impressive, and Matthew Dillon's work on it and the rest of DragonFly is spectacular. I guess I feel like DragonFly is limiting the exposure that HAMMER could have. I know long ago there was an early aborted effort to port it, not sure it was ever very serious.
This includes but isn't limited to Tux3 and ReiserFS 4 & 5.
ReiserFS 4, it's been a very long time since I thought about it, but ISTR there were technical issues the needed to be addressed to bring it in mainline, and personality issues didn't help any, but that's a fading memory. Which is unfortunate, because ReiserFS had some great features.
On the other hand, btrfs made it into the kernel fairly easily, as a counterpoint. It's a unusual situation because it's been fairly broken and in heavy development for much of it's life in kernel, but early in-kernel versions were actually working fairly good (in my experience, I ran some fairly early versions in my laptop for a year or two with good luck, then an OS update brought in a new version and I had terrible corruption issues.