DragonFlyBSD 1.2 Released 184
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."
DragonFly is awesome! (Score:2, Funny)
FreeBSD alternatives on the rise... (Score:3, Interesting)
I would be interested in hearing from people how either of these BSD alternatives stack up as a desktop box.
Re:FreeBSD alternatives on the rise... (Score:5, Interesting)
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.
Re:FreeBSD alternatives on the rise... (Score:2, Informative)
Of course it's not yet perfect, but who would exepct that.
And i've yet to see a desktop without problems.
Re:FreeBSD alternatives on the rise... (Score:3, Interesting)
If that's the case, why not say that on their website? They don't (or as of this morning, they didn't). Instead, they point out that the FreeBSD ports, combined with the DragonFly dfports is the official method for installing software.
Of course it's not yet perfect, but who would exepct that. And i've yet to see a desktop without problems.
Nor did I ever make the claim that the developers said it'd be perfect. Far from it. I was simply responding
Re:FreeBSD alternatives on the rise... (Score:2)
From the installation readme:
NOTE!!! DRAGONFLY IS UNDERGOING DEVELOPMENT AND IS CONSIDERED EXPERIMENTAL! BSD RELATED EXPERIENCE IS RECOMMENDED WHEN USING THIS CDROM.
Honestly. I don't think they've advertised themselves as being anything else. They're trying to validate their kernel architecture before they needlessly start putting a lot of effort into packaging.
Note, despite being experimental, the OS is quite stable and developers are willing to fix broken port/pkg
Re:FreeBSD alternatives on the rise... (Score:2)
And that's where we disagree. In my opinion, a good desktop OS should make it simple to update/upgrade software packages that are installed through the official method. Currently, DragonFly doesn't succeed at that. It certainly has potential, and you'll never hear me say that it's unstable, but unless a user has a very specific purpose for it, and knows that their needed packages/ports will install (and be up-to-date with what the need)
Re:FreeBSD alternatives on the rise... (Score:2)
Indeed.
I don't see anything particularly wrong with that. They're breaking a lot of new ground, and I don't see any of the developers claiming that they're production ready. I think Dillon mostly wants regular releases to keep the system stable enough to build itself.
Re:FreeBSD ports broken all the time (Score:2)
Frequently, that's how I know they work
Since DragonFlyBSD just uses the FreeBSD ports collection, you're basically taking your chances trying to compile any port.
That's exactly what I said. Glad we're in agreement
Dinivin
Re:FreeBSD ports broken all the time (Score:2)
Re:FreeBSD alternatives on the rise... (Score:3, Informative)
Re:FreeBSD alternatives on the rise... (Score:3, Interesting)
Tha plan of matt is to move part of the VFS to userspace (ala plan9 it looks to me, but don't trust me).
This will allow to do neat tricks too. Say,you have a app depending in randomlib 1.0. Now you want to install something that installs randomlib 2.0 and and breaks the previous app. With the packaging work, matt seems to expect to allow both packages to live at the same time - randomlib 1.0 will be showed to one app and randomlib 2.0 wi
Freebsd not dead, lot of things happening (Score:5, Insightful)
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.
Err.. *who* says it's dying?.. :) (Score:2)
Woa, thanks for the news!
I kinda thought that the 2.5 million active sites [netcraft.com] that FreeBSD is serving (it's much more than any given Linux distro; and it had a *25%* increase in one year) was a sign of imminent death.
--
Requiem for the FUD [slashdot.org]
Re:Freebsd not dead, lot of things happening (Score:2)
Re:FreeBSD alternatives on the rise... (Score:4, Informative)
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
Re:FreeBSD alternatives on the rise... (Score:2, Informative)
Re:FreeBSD alternatives on the rise... (Score:2)
Mass disillusionment is a myth (Score:3, Insightful)
I certainly don't see any kind of "mass disillusionment". FreeBSD 5.x has brought about added complexity for the sake of performance, namely in the SMP and multithreading arenas. These are areas where you will find the performance of NetBSD rather lacking. While NetBSD may win at certain meaningless microbenchmarks, the real world performance of FreeBSD, es
Re:Mass disillusionment is a myth (Score:5, Interesting)
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.
Re:Mass disillusionment is a myth (Score:2)
Re:Mass disillusionment is a myth (Score:2)
This has been in FreeBSD for about five years and is called kqueue. It exhibits O(1) scaling and goes like a rocket.
Check out these rather old benchmarks [kegel.com].
It's on OSX too, of course.
Dave
Re:Mass disillusionment is a myth (Score:3, Informative)
Re:Mass disillusionment is a myth (Score:2)
Cheers,
Dave
Re:Mass disillusionment is a myth (Score:3, Insightful)
Switching away from the giant lock model will require the same process of FreeBSD 4 -> 5, where the giant lock is replaced by fine grained locking for each data structure being protected. If they make that change, they'll be in the same boat as FreeBSD 5, only they're about two years behind.
NetBSD's speed advantage over FreeBSD 5 on single CPU systems is mostly DUE to the fact that they use the giant lock model. If they move away from that, the
Re:Mass disillusionment is a myth (Score:2)
Re:FreeBSD alternatives on the rise... (Score:3, Insightful)
As a desktop OS, FreeBSD is pretty healthy--the performance short-comings that still linger in 5.x are not so important on the desktop... imo.
BSD? (Score:2, Interesting)
With linux, the choice of distro is pretty much irrelevant - to me at least - because I wind up with virtually the same system, the only differences being the layout of some rc scripts.
The world of BSD isn't the same though, so which is the most prolific, or newbie-friendly, or has the widest support for common hardware, etc?
About the only thing keeping me
Re:BSD? (Score:3, Informative)
Re:BSD? (Score:3, Informative)
Its Installer is a breeze to use and rarely have problems with com mon hardware.
OpenBSD's Install is a nightmare for a new user (last time I used it!) and is clearly aimed at the security concious user. (The tin foil hat distro hehe)
I have never used NetBSD but its claim to fame is the sheer number of platforms it supports.
Re:BSD? (Score:2, Funny)
http://www.openbsd.org/faq/faq4.html ;)
Specifically section 4.5. I use both Free and Open and I like the Open installer MUCH better and find it actually easier to deal with. I printed out section 4 of the FAQ and read along as I installed one of my first times. That install was my first successful one.
Re:BSD? (Score:3, Informative)
Otherwise, it's a smooth install. It's not a Linux install, though, it's different. And, also, they generally assume you will *not* be dual-booting.
Let's dismistify this thing that OpenBSD in an alien OS. It's a rock-solid Unix, secure, peer-verified-code with mechanisms built-in to prevent attacks. It's ports tree is growing.
The "average" open-sour
Re:BSD? (Score:2)
Before the days of my house having tens of operational computers, I used to dual boot OpenBSD often. For a long while I had two Seagate 20GB disks which I was booting between OpenBSD, Debian GNU/Linux, Windows 2000, QNX, OpenBSD, FreeBSD, BeOS 5 PE and Windows NT 4.0. Yes, OpenBSD was on each disk. One was my main OS and the other I used for testing.
This was mostly for my learning. Smart Boot Manager is great!
I never could get Solaris 8 x86 or SCO Uni
Re:BSD? (Score:2)
OpenBSD's installer might be a shock to a newbie who is used to typical Linux installers, or even FreeBSD or NetBSD. But I love it! It is fast, straight forward and functional. Just read the fine documentation and then enjoy it from then on.
I have been trying to install NetBSD 2.0 across multiple spindles and I can't seem to find a way to do it without loosing my disk configuration when moving on to the next disk. I resorted to installing on one disk, bootin
Re:BSD? (Score:2, Informative)
Re:BSD? (Score:5, Informative)
That implies he doesn't know much about BSD. Advocating Open as a first install then, might not be the best of ideas...
Re:BSD? (Score:3, Insightful)
"OpenBSD was my first *NIX, and I thank God for initiating me to Unix with the only barely sane *NIX at the time."
Of course this days I know of better [bell-labs.com] things [vitanuova.com].
Re:BSD? (Score:2)
A lot of people have already responded, but I would like to add my experience.
When I was beginning my transition to Unix, I started by trying to install Mandrake on my personal computer. I failed. Then I tried installing FreeBSD on a secondary computer. It sort of worked, but I didn't really know what to do with it.
Then I installed OpenBSD on my file server. It was love at first sight.
The installer was simple, fast. I could boot off the network easier than I could burn a CD. Nothing was running by
Re:BSD? (Score:2)
Other than that part, it is actually pretty easy. Once you have it installed, working on it is very easy. For router / gateway configurations there are a load of web pages to explain what to do, including the excellent FAQ and PF FAQ.
Weirdly, I actually have a lot more probl
Re:BSD? (Score:2)
"Thrown into the deep end" mean anything to you?
Read OpenBSD documentation, use OpenBSD, repeat and persist until it is crystal clear. What better way to learn than to be confronted with problems, research them and conquer them?
I am not really impressed with NetBSD or FreeBSD documentation, especially compared with OpenBSD documentation. Do you advocate learning from a system that does
Re:BSD? (Score:4, Informative)
It's partly that you don't want a router cracked and partly cause you want the best packet handler, pf is that.
Plus you can set it up as your mail relay and stop spam, and yadda, yadda, yadda... It's a generally nice small system and the ports with it almost all run without fuss.
Re:BSD? (Score:3, Interesting)
Definitely but it is still lacking FreeBSD style jails (not often an issue on a router but can be very nice for seperating your mail environment a bit better from the router itself, see below)
> and it's pf packet filter is native to OpenBSD, thus more tightly integrated and tuned for Open.
Its native for open, but integration in freebsd seems to be pretty good. What is more, F
Re:BSD? (Score:2)
Setting up spamd with dspam or you other filter of choice is handy cause what gets through spamd usually won't get through the other.
While I cannot say it for NetBSD or FreeBSD, Linux isn't documented so much as HOWTOed. I don't find a good man page very often for something done with Linux.
Re:BSD? (Score:2)
On FreeBSD:
cd
I'm pretty sure equivalent packages are in pkgsrc on NetBSD.
You may need to edit the config files for both in
> While I cannot say it f
Re:BSD? (Score:2)
However, having installed all four of them in the past 2 months, I can tell you that FreeBSD is the easiest to get up and running. The FreeBSD installer, and all it's well-documented problems, is still much better than the install process for OpenBSD or NetBSD. I would
Re:BSD? (Score:2)
Which of the other BSD's has gone all out nuts with active protection mechanisms? None to the point of OpenBSD.
W^X, Propolice, Stackghost, priv sep, priv revocation, etc etc etc...
Not to mention the passive efforts such as the audits and wholesale migrations away from potentially dangerous code.
Sure it might not be perfect (what is?), but I don't see how anyone can claim that any other BS
Re:BSD? (Score:2)
How about MAC and ACLs?
privilege seperation is a technique that can be employed on any Unix and is nowhere OpenBSD specific, their developers do use it where they can tho it seems.
Re:BSD? (Score:2)
Yes but priv sep requires code changes for each privilege seperated application. Some apps are particularly difficult to do this with, like ssh. But after a lot of effort, they did it. So there is a huge gap between "can be" and "is".
As I've said before, OpenBSD is not perfect (what is?). But it is still one of the best choices for security and conti
Re:BSD? (Score:2)
The openssh team did a good job there, but openssh is far from OpenBSD exclusive. Privilege seperation is available for at least each unix like platform on which openssh runs.
There is quite some overlap between the OpenBSD and OpenSSH teams, but as said, this is nowhere
Re:BSD? (Score:2)
An operating system is more than just a kernel.
It was OpenBSD developers who developed OpenSSH and added priv sep functionality. OpenSSH is just one example of priv sep work done and ready to use in default OpenBSD installs and they continue to work in that area and many other security enhancing areas. That's my point. That they cover many areas with a focus on security and we now all have priv se
Re:BSD? (Score:2)
And they did a good job there as I said already. However, there are also other platforms which implement security mechanisms, and at times ones that OpenBSD does not have. Often those are Kernel level mechanisms that go beyond the basic Unix concept.
At any rate, as I have said elsewhere already,
Re:BSD? (Score:2)
I wouldn't deny that.
My point has been that there are many active security mechanisms built into OpenBSD, which take it beyond what is just easily configurable on other BSD's. Privilege Seperation work is one small part of the whole and it is very far from the strongest example. W^X, Propolice and Stackghost (sparc) are transparent, effective and cheap on system resources and come as
Re:BSD? (Score:2)
And this is exactly where we seem to disagree.
In my opinion, that is only true if what you need happens to fall within the focus of the OpenBSD team. They do a lot of good work, and if what I need happens to be within their area of focus, I will often use their work, but there are many more situations where OpenBSD simply does not offer the fu
Re:BSD? (Score:2)
In my opinion, that is only true if what you need happens to fall within the focus of the OpenBSD team.
By those general duties, I am refering to the usual suspects: DNS, FTP, HTTP, POP3, SMTP, etc. W^X, Propolice and Stackghost tackle some pretty generic security problems which can plague these services and are responsible for a large percentage of successful attacks. However these are not the only services that OpenBSD supports and the active security mec
Re:BSD? (Score:2)
Absolutely, and those features are extremely usefull to tackle specific classes of attacks
Re:BSD? (Score:2)
Yes specific classes, however very often exploited attacks.
Quite a few security breaches result from simple misconfigurations, and none of the mentioned mechanisms does much to prevent those while of course they do help prevent exploitation of a whole bunch of possible bugs that can result in privilege escalation, so there is a level of containment there.
I'm not talking about user mess ups though. I'm talking ab
Re:BSD? (Score:2)
I didn't say OpenBSD was the best solution for this. You seem to be getting defensive now and reading way more into what I am writing. I am showing solutions which OpenBSD provides, without any claim of comparitive effectiveness. It's not like I came in and said Solaris containers or DSD are a waste of time since OpenBSD has chroot!
I find it pretty amusing that I'm bei
Re:BSD? (Score:2, Insightful)
So you're saying that out of the 200+ Linux distributions you can find an easy entry point, but with the 3 BSD OSs (DragonFly is for developers for now) you can't make up your mind?
FreeBSD (Re:BSD?) (Score:3, Informative)
Re:BSD? (Score:5, Informative)
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.)
Re:BSD? (Score:2)
Of course there is also the little thing of there beign an official nvidia driver for FreeBSD and not for the other ones.
ANd yeah, this 'only' matters for OpenGL, so who cares?
Well, everyone running a modern desktop system basicly since at least KDE and Gnome based desktops become quite a bit more responsive with
Re:BSD? (Score:2)
Re:BSD? (Score:2)
Other than that FreeBSD or one of the live cds
http://www.freesbie.org/ or livecd.sourceforge.net(not sure how far along this one is) Though they are nowhere near as **newbie-freindly** as OS X
Re:yes, yes, enough with the OS X already (Score:2)
Re:yes, yes, enough with the OS X already (Score:2)
OpenBSD (Score:3, Interesting)
OpenBSD's goal is security, but as a side effect it's very easy to set up (eg hard to screw up and have an insecure configuration), and there are very few bugs compared to FreeBSD.
You don't tweak the kernel because the default one has almost everything that is supported. It ma
Re:OpenBSD (Score:2)
If you are security consious, you should always be trying to only have those things installed and in memory that you need. Less code == les vulnerabilities, that even holds on OpenBSD.
Re:OpenBSD (Score:2)
Removingdrivers and features that you do not need does not require any code to conditionally load drivers, it requires removing them in your kernel configuration and not building and linking them.
You are jumping to the conclusion that I was talking about dynamically loading drivers, I was NOT.
> Extra drivers that aren't executed aren't a source of vulnerabilities.
The potential to call code in
Re:BSD? (Score:2)
I moved to OpenBSD full time years ago after I discovered the high quality documentation (the man pages mostly). Sometimes when I need to use something other than OpenBSD I am reminded of how great their doco really is. Now there are also lots of great quality dead tree books too.
OpenBSD-specific books [openbsd.org]
For learning, I think good quality texts as a guide
This looks pretty interesting. (Score:2)
This is probably the best BSD out there performance-wise however, and I wouldn't be surprised if it begins to usurp OpenBSD server space in performance-critical installations soon.
Re:This looks pretty interesting. (Score:3, Informative)
Does anyone have any metrics (Score:5, Interesting)
Re:Does anyone have any metrics (Score:5, Informative)
Re:Does anyone have any metrics (Score:2, Informative)
Re:Does anyone have any metrics (Score:5, Informative)
Wow, that's my weblog :)
That entry is pretty old, and the situation is hardly the same. As of today, FreeBSD 5.4 (soon to be out) performs much better than the previous releases, but for UP machines NetBSD 2.0 or DragonFlyBSD are IMHO better choices.
I run FreeBSD 5.4 on a SMP box and it's much better than it used to be. If/When I can allot some time I'll do some benchmarking of FreeBSD 5.4 vs DragonFlyBSD 1.2 on my dual PIII.
I have to hand it to BSD (Score:5, Funny)
Are you sure he's dead? (Score:4, Funny)
Are you sure he's dead? Has Netcraft confirmed it?
No, this was the official statement (Score:2, Offtopic)
One more crippling bombshell hit the already beleaguered Catholic community when the Vatican confirmed that John Paul II has died, ending his long papacy. Coming on the heels of a recent Netcraft survey which plainly states that Catholicism has lost more market share, this news serves to reinforce what we've known all along. Catholicism is collapsing in complete disarray, as fittingly exemplified by failing dead last in the recent survey of w
Re:No, this was the official statement (Score:2)
Curius about SMP (Score:5, Interesting)
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?
Re:Curius about SMP (Score:4, Insightful)
What exactly is the reason (Score:3, Insightful)
Re:What exactly is the reason (Score:2, Informative)
Re:What exactly is the reason (Score:2)
DragonFly BSD is a amalgamation of FreeBSD 4.x, OpenBSD code, NetBSD code depending on where it makes sense.
Add to this the slow move towards microkernelish ideas as well as a totally different way of doing SMP than FreeBSD 5.x does plus the fact the IP stack has been totally rewritten and is (almost) completely multithreading and the fact that clustering is at the center of development, I'd say your comment doesn't even hit close to the mark.
Re:What exactly is the reason (Score:4, Interesting)
On traditional single machine installations, DragonflyBSD is being optimized for batch processing performance. The kernel is being re-architected to handle heterogenous resources. You often hear about per-cpu/per-core on their mailing lists, this is a reference to their desire to respect and avoid the high costs of IPC except when not using IPC and processor migration would itself be a penalty. You also hear a lot about cache-coherency, which is a desire to not thrash the processor caches and attempt to localize information to as few caches as possible.
If you can do this, then if you have m processors, you have m*per_cpu_cache_size fast memory. Conversely, if you aren't careful you approach having only per_cpu_cache_size of fast memory.
If it all works out (which is still an if) then you'll have an OS that is performance competitive and scales from one to hundreds of processors. This should rival FreeBSD for the performance title in the end...
Re:What exactly is the reason (Score:3, Informative)
Speed. That used to be FreeBSD's claim to fame, and they're certainly improving, but Dragonfly thinks it can do one better. They also aim for HURD-like flexibility, which will be more of a side effect.
NetBSD, by the way, isn't just portable, you could print out the kernel source and it would be a textbook. It's all wonderfully commented and very clean code.
Re:What exactly is the reason (Score:2)
DragonFly will be THE BSD for the "Cell" processor (Score:2)
Dragonfly is designed to make asynchronous communication between hardware resources very very lightweight and scalable. Right now SMP is not really very efficient. All of the locking that goes on to keep one processor from stepping on the other processor's toes ends up making all processors except the one with the lock wait for the lock to be released, for example. The idea is to organize the memory usage so that kind of waiting only happens when it is explicitly necessary.
Now, all of the sudden, the OS w
Not Your Ordinary BSD.. (Score:3, Funny)
DragonFlyBSD: The BSD with Balls
Still relevant? (Score:2)
I have a lot of respect for Matt Dillon (as does pretty much everyone who's ever owned an Amiga), but I'm not sure yet that this is a good idea. The early versions of FreeBSD-5 were a mess, sure, but they've somehow managed to wrangle the new complexity into something that really works and works well.
Still, I wish nothing but the best for the whole DragonFly team. If their ideas pan out, then the whole *BSD culture can benefi
Re:Still relevant? (Score:2)
dfly attempts to remove this complexity (instead of routing around its problems, introducing more complexity), making it easier to work on productive code instead of fighting with thousands of locks.
Re:Still relevant? (Score:2)
DragonFly Notes (Score:5, Informative)
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
Re:DragonFly Notes (Score:2)
How do you stand when it comes to adding binary stuff into your system when you cannot get at the code?
Theo was very, almost violently, adamant that adding anything there isn't code that the system's developers can see it isn't worth having in the system. While Scott felt that it was better
Re:DragonFly Notes (Score:5, Insightful)
I don't think it's a good idea to incorporate binary modules not buildable from openly availble source, but I'm not rabid about not using such modules when it makes something work that I need to make work. I have to use NDIS on my laptop to get the wireless working and frankly I'm a very happy guy because it works :-).
But that doesn't mean I have to like it! I think it's a mistake to try to cow-tow to vendors that clearly don't understand the value open source gives them (specifically, the fact that they don't have to support the drivers themselves). There are many reasons why vendors don't like to give out source. For one thing, chipsets often have a lot of bugs in them that the driver code has to work around and the vendors don't like to reveal the fact that those bugs exist. Another reason is that vendors are often paranoid about their code, even when it is substandard compared to other drivers that might be available as open-source (commercial entities invariably believe that their hired guns can code better then we can, and they are invariably proven wrong when such code occassionally sees the light of day).
The question is do we want to support the bozo vendors and just perpetuate the problem? Or do we want to focus on supporting vendors that do provide good information on their drivers (or at least don't go nuts when someone reverse engineers it)?
Another problem with binary-only modules is that, well, they might have bugs which you can't fix because you don't have the source. Or they might rely on API breakages that you would really like to rip out of your system. Or they might not work with a later rev of the chip in question even when the later rev is only an incremental improvement over the previous chip. Or they may not work with a particular configuration that you want to make work. Then you are stuck with a substandard driver that only works on older machines.
If I were to state a position it would be that the occassional exception might be necessary, but that it just isn't a good idea for the open-source community to rely on vendor-provided binary modules to make hardware work.
This brings up a far more important question, which is whether it is possible for an open-source 'trust' to be setup for the purposes of maintaining a driver whos source a vendor does not want to be released to the general public. That is, an entity which any open source programmer can join and through the signing of a simple non-invasive license then have access to the source for the purposes of making it work for that vendor's product line on open-source operating systems. The source would not be open to the public, but it would still be under the effective control of whatever open source programmers are interested in working on it. That is something I could live with and I think vendors could live with too if they took the time to think about it.
-Matt
Re:DragonFly Notes (Score:2)
Re:DragonFly Notes (Score:2)
"Boot-time interrupt routing"?
Can someone explain what this means to me?
I'm thinking about 'interrupt latency' (Linux has a low latency patch) but I'm not sure if I understand correctly..
Re:wait... (Score:2)
Er, yeah, that was a joke. I love BSD, in fact my servers run NetBSD 2.0
- dshaw
Re:BSDs UNITE! Use pkgsrc as packaging system! (Score:2)
But I can confirm that it IS enough to get a web server with extras (php, mysql, etc.) up, although I did have an unexplained error at the end of mysql4-server's install. Nothing tragic.
This will definitely improve over time and effort, but right now it's not MUCH b
Re:Requiem for the FUD (Score:2)
What is wrong with his list? All of those links work and are from who they claim to be: the graph of FreeBSD's server growth is from actual data, and only as old as 2004. Maybe you just can't read Netcraft's page properly. Or are trolling and hope nobody else will bother.