DragonFlyBSD 1.2 Released
vsarunas writes "The DragonFlyBSD Team is
pleased to announce
the official release of
DragonFly 1.2.0! Get it
here,
or here,
or as a torrent.
DragonFlyBSD is a continuation of the stable and high-performance FreeBSD
4 branch of FreeBSD with acpica5 and updated drivers so it runs on more
and newer machines. DragonFlyBSD can execute FreeBSD 4 and Linux binaries
and uses the FreeBSD ports collection. In addition, DragonFlyBSD is also
officially supported by pkgsrc. This release represents a significant milestone in efforts to improve
the kernel infrastructure. It features a standards-conformant
SACK implementation, improvements to the VFS layer, and a multithreaded
networking stack that utilizes the DragonFly lightweight message
passing system to communicate among processors. More information can
be found on Matt Dillon's journal and the
Status page
of the DragonFly wiki."
for the performance differential between DragonFly and the regular FreeBSDs ?
Do not try to read the dupe, thats impossible. Instead, only try to realize the truth
What truth?
There is no dupe
It outlived the Pope.
DragonFly doesn't stack up as a desktop box at the moment. Here's a post I made on osnews.com about it:
Go ahead, install Dfly, and cvsup the latest FreeBSD ports tree and DragonFly dfports tree. Now try to build some useful apps... Way too many apps won't build from the ports tree. If you're lucky enough, there's a dfports override. If you're even luckier, it'll be the same version as the ports tree. Let's assume you actually get those apps installed... A few weeks later you cvsup the ports tree again and try to do a portupgrade. Suddenly SDL in the ports tree is upgraded... By SDL in the dfports tree isn't. Great... Now you have apps that want the newer SDL that keep building SDL from dfports, which you already have installed and which isn't up-to-date...
You can always try pkgsrc, if you want.
First, you need to build and install the bootstrap code. Then you need to update bmake from the bmake package (the forget to tell you that on the gobsd.com site). Forget about getting enlightenment running, imlib2 fails to build. You currently need to patch the gtk2 port (assuming the patch hasn't been committed yet). Firefox won't build, nor will SDL. If you want to build Blender, it'll try to build nasm, which requires the gcc3-c package... Which won't build. (You can edit the nasm Makefile to remove the gcc3-c dependency).
Sorry folks, but DragonFly is really only suited for developers at the moment, IMHO.
"which BSD is the one to cut your teeth on?"
That implies he doesn't know much about BSD. Advocating Open as a first install then, might not be the best of ideas...
Life is hard, and the world is cruel
FreeBSD has not been the best FreeBSD release but it's *not* dead. 5.3 has been the *first* stable release of the 5.x series, and as expected is not as polished as it should be
I read the mailing lists (I'm not a FreeBSD user tough), and lots of work is happening. All those benchmarks you've seen where freebsd 5.3 loses were done with the 5.3 code which didn't incorported lots of performance work, just to get a stable 5.3 release
Expect 5.4 to be the real 5.x release ie: fast (LOTS of performance work is happening in the threading and VFS land) and stable (lots of critical bugs has been fixed, 5.3 was the first public release)
And no, FreeBSD 5 is not dying. RIght now FreeBSD is the BSD with better SMP support (and getting better), and dual core CPUs are starting to be sold this quarter. NetBSD and OpenBSD are not even near of the SMP support Freebsd has (oth of them detect several CPUs, but it will take all the year s it took to freebsd 5.x to use them efficiently, and most of the benchmarks done against NetBSD/OpenBSD are with only one CPU, which doesn't measure all the work done in the 5.x branch.
I'm using DragonFlyBSD as my desktop without problems.i ve/users/200 5-01/msg00045.html
f f
i al/port s-packages-libc.so.5-gcc34/All/
:)
You still need the libmap patch for flash, because they think it's too dirty to integrate.
http://leaf.dragonflybsd.org/mailarch
Packages are also availbale either built from netbsd pkgsrc of freebsd ports:
wiki.dragonflybsd.org/index.php/Packages
I also use the citrus patch to get wide char support:
leaf.dragonflybsd.org/~joerg/citrus5.di
Packages for use with the citrus patch are availble here:
http://ftp.fortunaty.net/DragonFly/inoffic
If you use gcc34 packages/world everything is compiled with stack protector.
It's also very snappy
It was my impression that one of the reasons for FreeBSD-5.x was to rearchitecture several parts of the kernel for better SMP support. I know, I know, there were problems but it seems that it had to be done, and the sooner the better.
Now, if DragonFlyBSD continues down the road that was set by the 4.x train, what is going to be done about multiprocessor systems? I mean, multicore processors are right around the corner and other OS's (besides the BSD's I mean) like Linux are getting better and better(I won't even bother to mention Solaris).
I do not profess to be some kind of expert, anyone has anything informative to say about DragonFly's plans on this?
The common mantra has always been:
For security, choose OpenBSD.
For portability, choose NetBSD.
For usability, choose FreeBSD.
About the only thing keeping me from playing with BSD is the lack of a single "entry point".
That's also the biggest strength -- different (*cough*) "distros" have different strengths and weaknesses. (You said it yourself, Linux has become "beige".)
If you want to breathe new life into an old Alpha you picked up online, NetBSD is the way to go. (Or if you have a handful of different architectures you would like to keep synced to a common source tree.)
If you want a lean, mean, server machine, you should opt for OpenBSD. [My preference.]
If you're looking to build a box to use on your desktop and start "fiddling" with, go with FreeBSD -- this is the likely first choice for 80% of the BSD population, and it sounds like what you're looking for.
(My other criteria is "If you need to run X, run FreeBSD" because it supports the most graphics cards & monitors.)
Microkernel-like because they're going to a messaging / IPC based system instead of traditional syscall implementation maybe?
I support both DragonFly and FreeBSD. As an admin, I need FreeBSD to step up to the plate and offer scalable SMP support because I run 100% SMP boxes. I am willing to wait for FreeBSD 5.x to clean up and show the performance benefits.
However, I am highly interested in Matt's work on DragonFly because in my opinion, most of the popular "*nix" variants today stick too closely to the vanilla unix design which is why our socket code still uses select() and most I/O is done synchronously. I hope Matt expands his work to include super-scalable I/O systems like I/O Completion Ports. I heard there are Linux developers working on IOCP right now, so I'm hoping eventually this spawns a similar BSD effort.
DragonFly will probably work very nicely with multi-core systems down the road. I believe in the long run NetBSD will continue to destroy FreeBSD 5.x in single CPU benchmarks.
But there's the catch...
How many multi-core processors have to roll off the production line for everyone to realize that all of this anti-FreeBSD naysaying is going to turn into a huge crow eating contest because when everything is dual or quad core down the road and FreeBSD scales nicely to match, nobody will give a god damn that NetBSD is faster on a single CPU system.
Well, I have to say the slashdot response to this release is a marked improvement over the response to the last release. Most people are actually getting the concepts right this time! Kudos!
There are a few things I will clarify about the release, in particular about our approach to SMP and the inevitable comparisons against, FreeBSD.
On the SMP front what we are doing is basically rearchitecting big chunks of the kernel to operate efficiently in both UP and SMP environments, to be NUMA-friendly, and to be as maintainable as possible. Rather then throw mutexes around existing code we are undertaking a huge effort to make as many of our subsystems as mutex-free as possible by localizing the subsystem's operation on a per-cpu basis. Most of the time that means rewriting them from scratch.
One example of this is our core Light Weight Kernel Thread scheduler (LWKT). Each cpu has its own indepenant LWKT scheduler which means that any given copy of the scheduler itself does not have to deal with or worry about contention between cpus. The code is very, very clean. If you think about it a bit you will realize that such a beast would work just as efficiently in an SMP environment as it would in a UP environment, and that is indeed one of our major goals.
A second example of this is our network protocol stack (whos major architect is Jeffrey Hsu). A TCP connection goes through a hash and is routed to a tcp protocol handling thread on a particular cpu. If you have N cpus then your TCP connections will generally be split about evenly between the cpus. Any given connection is localized to its cpu which means that all the work related to that connection occurs on a single cpu and thus does not have to worry about or deal with contention between cpus... and operates as efficiently on a UP system as on a SMP system. The L1/L2 cache effects are an important bonus as well but the winning ticket is the ability for the protocol threads to run in a tight loop without needing to obtain or release a single mutex, lock, or other synchronizing mechanism other then the occassional critical section (which is a cpu-localize synchronization mechanism against interrupts).
Another major goal is to make the code more maintainable... readable, understandable, etc, without any major gotchas to an unwary programmer, especially new programmers who are attracted to the project. This does not mean that FreeBSD is less stable, but I certainly believe that DragonFly's code base is a lot easier to maintain and a lot easier for new programmers to work with, with a much shorter ramp-up time then someone trying to dig into the FreeBSD codebase and far fewer new bugs introduced. I am taking a long-term view here.
The problem with building an SMP friendly algorithm which requires a lot of synchronization to avoid contention (the mutex model) is that it is really easy to make a mistake and introduce a hard-to-find bug, especially if you are just ramping up on the codebase. The solution is to use algorithms (aka cpu-localization algorithms) that avoid the contention in the first place, and that is what we are doing. Regardless of FreeBSD's current stability (and I believe that FreeBSD is now far more stable then it was a year ago), they had to go and stomp hundreds of bugs introduced by experienced programmers. That's a red flag in my book, one that I am making a major effort to avoid in the DragonFly codebase.
In less then two years of work (with very little destabilization of the kernel during that period, by the way), we are now within shouting distance of FreeBSD's and Linux's SMP parallelism. The only area where we are still significantly behind is in boot-time interrupt routing. This release is the last release where the Big Giant Lock is going to be in the critical path. We spent a lot of time isolating subsystems in order to reach this point, to be able to now take the last few steps and actually turn the Big Giant Lock *off* on a thread by thread basis. Not only tha