Download the FreeBSD 5.0 Developer Preview 2 from the mirrors. Our Take: It seems that after the initial one year delay of FreeBSD 5, this time the project will also miss the November 2002 deadline. On the other hand, FreeBSD 5 is a major change to the traditional Unix-y way of doing things (introduces major SMP and multithreading innovations), so it worths the wait.
Glad to see they’re finally getting some of the fine grained locking issues in SMPng worked out. You really have to hand it to them for being the first open source operating system to try something like this, and also the first to implement POSIX 4 realtime features.
I just hope no one interprets these delays negatively. Fine grained locking is difficult to achieve, and the delays mean they’re taking the time to resolve locking issues. When finished, FreeBSD 5 will undoubtably be the most scalable open source operating system available.
I hope they make some nice fine grained changes to the installer hehe. T’would be nice with a mandrakey like front end.
Having used FreeBSD on both x86 and Alpha, I’ve got to say that I think the installer is just peachy. Practically the same for brand new Athlons, and 8 year old alpha systems! Almost no learing curve! Sure, it’s not the prettiest thing in the world, but it’s very functional, and quite straightforward. I also like that FreeBSD is just as easy to install over FTP as it is from ISO images. Can’t say the same for Mandrake’s installer.
FreeBSD is not tackling the home user market, why not leave it with it’s very functional, very simple text-based install.
I haven’t been following the 5.0 branch for about a year now, how is their SMP better than Linux’s? I thought that FBSD 4.x SMP was roughly equivalent to Linux 2.0, and that FreeBSD 5’s SMP was mostly bringing it up to speed with the abilities of Linux 2.4. (Which I thought was quite good.)
Correct, FreeBSD 4.x’s smp was around 2.0 levels, but both 3.x and 4.x still had somewhat better SMP than 2.0.
FreeBSD 5 should bring the smp level above that of 2.4’s (which is decent on like 2-4 cpu systems I’d think).
What I am wondering is how FreeBSD 5’s smp/threading/new-toys compare to Linux’s 2.5 (2.6). I have a feeling Linux is at least equal (though if one is better, I suspect it’s not going to be by very much and it won’t be overall), FreeBSD 5 may have some BSDi code merged in, but it’s not as simple as cutting and pasting it in. Linux 2.5 development isn’t severly under manned and started from a base that already did decent threading and smp, for example, FreeBSD 4.x doesn’t even have kernel threads.
Though, these are just my guestimates.
to Linux on a technical level. It’s was long reputed to have a much better VM but truly poor SMP and its threading is nowhere in the same league.
Trouble is, Linux internals have been the focus of a LOT of development over the last year or so. If the FreeBSD team is trying to bring it up to 2.4’s level with just the resources they have, it’s no wonder their release dates are slipping.
I do wish them luck, though.
A post above stated that FreeBSD has a better installer than Mandrake – I wonder how far back in time he’s traveling. Since Mandrake 8.0, you can do an FTP install over ADSL – I’m not aware of how to do this using the installer in FreeBSD 4.x and I’ve tried.
I downloaded DP1 and it was really not that different from 4.6 …
They need a better installer app too … the one they currently have is long in the tooth.
I haven’t been following the 5.0 branch for about a year now, how is their SMP better than Linux’s?
Linux still remains relatively coarsely grained, to the point where certain sections of the kernel (namely NFS) require locking the entire kernel (a lock known as the Big Kernel Lock, or BKL) As a result, these portions of the kernel suffer tremendously. FreeBSD, on the other hand, is approaching the fine-grainedness and scalability of Solaris with SMPng.
I thought that FBSD 4.x SMP was roughly equivalent to Linux 2.0, and that FreeBSD 5’s SMP was mostly bringing it up to speed with the abilities of Linux 2.4. (Which I thought was quite good.)
FreeBSD 4’s SMP performance was dismal, and is the primary reason for so much effort being expended in SMPng. I wouldn’t exactly say they’re “bringing it up to speed with… Linux 2.4” as much as trying to improve it as much as possible. Whether or not it meets or surpasses Linux remains to be seen.
FreeBSD may be losing ground to Linux on a technical level. It’s was long reputed to have a much better VM but truly poor SMP and its threading is nowhere in the same league.
Indeed, FreeBSD’s threading isn’t in the same league as Linux’s. FreeBSD’s thread model and process management are leagues beyond Linux’s. LinuxThreads was an absolutely abominal implementation, a wrapper around _clone() which would create process table entries for every LWP. Consequently, the weight of threads in the task scheduler was tremendous, and a few hundred threads was enough to bring a modestly powered system to a crawl.
This is definately changing with the advent of new thread libraries for Linux and a true native threads implementation in 2.5. Most likely with the addition of other improvements to Linux’s process scheduler this will cause Linux’s threads performance to surpass FreeBSD’s. For the interim, however, Linux’s threads implementation remains crufty, and markedly inferior to FreeBSD’s.
As for FreeBSD’s VMM, Linux will most likely never catch up. FreeBSD has been fine tuning an already outstanding VMM for the past 10 years or so. Linux still can’t figure out which VMM it wants use, which certainly precludes any opportunities for fine tuning, let alone enough fine tuning to play 10 years of catch-up.
I hope they make some nice fine grained changes to the installer hehe. T’would be nice with a mandrakey like front end.
It’s on the drawing board with libh/sysconfig2 (see http://www.freebsd.org/projects/libh.html), which will allow for easy implementation of GUI wrappers. For the next few years at least, however, you’ll be stuck with good old crappy sysconfig.
Mandrake has expended tremendous effort into making their installer user friendly. I seriously doubt if you’ll see anything like that for FreeBSD in the near future.
Isn’t this the first release that will support PPCs?
The FTP install for FreeBSD is as simple as making an ftp boot disk. As far as I can tell, the rest is identical to the regular CD install (which I admit is a little unintuitive — but it is very functional and not that difficult if you slow down and read).
FreeBSD’s ftp install was a dream, compared to SUSE’s nightmar’ish ftp install. I started it Saturday on an ADSL connection and I just finished it tonight (~3 days). And, this was after several failing attempts about a week ago. I could go on about the shortcomings of the Suse ftp install. But, that’s another thread. One final comment though, after all of the trouble, the final outcome just plain sucks.
Darren
Agreed. I inteprete delays, whether OSS or Commercial, as a good step. I would much rather see a product 2-3months late, than a product rushed out at the last minute just to satisfy the “I must upgrade”, the corrupt analysts and every other computer illeterate moron from here to whaikickamaucow.
Its the old, “this isn’t up to standard, therefore, we won’t release it until it is”. I like that approach and this how all products should be done. As close to perfection the first time.
The delays have had a lot more to do with being severly under manned.
FreeBSD 5.0 was supposed to happen a lot sooner but a lot of people who were supposed to help with development no longer could for various (and good) reasons.
Just how it goes.
Of all the OS’s I’ve used that are still in production, I really enjoyed BSD.
Now that Firewire has made it into the OS things may start to pick up on the video editing front.
I’d LOVE to have an editing system with the stability of BSD.
(Don’t mention OSX, I like my CPU’s fast and my hardware cheap)
You also have to take in account the fact that the wish-list got a little longer as time went by.
Some things of note:
Been using it for a few hours now. No locking bugs encountered so far, and I’m sure we’re all glad to hear that.
Looks like even more work has been done as far as eliminating Perl from the base system utilities. Perl doesn’t appear to be installed per default anymore. I grabbed 5.6.1 because adduser depends on it.
gcc 3.2.1 is included by default. Nice.
I’ll report on if I experience any more problems later.
I don’t know how true it is that FreeBSD is undermanned. The core team probably isn’t much smaller than the central group of Linux developers. And if you look at 5.0’s feature-set, they did a *huge* amount of work! Fine-grained locking is no small task (it occupied most of Linux 2.2’s development time) but on top of that they did preemptibility and a boatload of other stuff. The project, mainly, is late because 5.0 was a *huge* task, not so much because they are undermanned.
I dont think you can get a simpler installer for FreeBSD, perhaps a verbose description of what needs to be done, but thats about it. Its pretty straightforward. I found atheos easier to install then most linux distros aswell though.
Can someone recommend a good article or few about what’s going to be in FreeBSD 5.0?
One thing I’d like to know is just how is it a “major change to the traditional Unix-y way of doing things”? I understand that the SMP and multithreading innovations are big progress, but what makes them a “major change”? Are they done in some way that is different from what we normally think of as Unix-y? How so?
Russ
Hmm … I’m really no Unix expert, but Perl no longer in the default install? Sounds as ludicrous as “make” not in the default install of SuSE 8.0?
From http://www.freebsd.org/platforms/ppc.html#news:
“3 July, 2002 : This page has been significantly updated. FreeBSD/PowerPC currently boots almost to the point of reaching single-user mode.”
I wouldn’t bet on it *g*, although I admit I’d love to run FBSD on my Cube, too; ’cause Mac OS X just sucks and I don’t like the Linux chaos.
monty
Well, got the kernel recompiled, X built (with the stock gcc 3.2), and now I’m running the FreeBSD native Opera through compat4x. Everything nice and stable at this point… no problems so far. (on a dual Athlon MP 1.53GHz system)
Hmm … I’m really no Unix expert, but Perl no longer in the default install? Sounds as ludicrous as “make” not in the default install of SuSE 8.0?
That appears to be the case, but it’s quickly remedied through a nice “pkg_add -r perl”. I wouldn’t start complaining unless perl doesn’t ship with the final… this is only a preview release, after all. They’ve been in the process of replacing all Perl system utilities with C ones (although it’s a little strange you can’t “adduser” in the default install) and I’m guessing it’s part of that.
hello – can someone please explain to a non-expert the main differences between FreeBSD 5.0 and Linux 2.4 / 2.6, in term sof the new features (threading, what is fine grained?)
thanks
tariq
Yes, here are four links. They are very interesting to read and learn.
http://www.freebsd.org/releases/5.0R/DP2/relnotes.html
http://www.freebsd.org/releases/5.0R/DP2/hardware.html
http://www.freebsd.org/releases/5.0R/DP2/errata.html
http://www.freebsd.org/releases/5.0R/DP2/early-adopter.html
BTW: I got those from the announcement by FreeBSD’s maillist.
No offence, but I don’t quite understand the attitude of this article.
I thought open software gets released ‘when it’s ready’ (SM), so why’s a missed deadline the only thing worth mentioning about an upcoming major release of a free operating system? It’s not that other OSes keep their deadlines (*cough* kernel 2.4.0 *cough*) …
“I love deadlines. I like the whooshing sound they make as they fly by.” (Douglas Adams, *damn how I miss that man …*)
Regards
monty
Linux still remains relatively coarsely grained, to the point where certain sections of the kernel (namely NFS) require locking the entire kernel (a lock known as the Big Kernel Lock, or BKL) As a result, these portions of the kernel suffer tremendously. FreeBSD, on the other hand, is approaching the fine-grainedness and scalability of Solaris with SMPng.
The BKL is being removed piece by piece in 2.5, and even SMP is fully pre-emptible now.
As for FreeBSD’s VMM, Linux will most likely never catch up. FreeBSD has been fine tuning an already outstanding VMM for the past 10 years or so. Linux still can’t figure out which VMM it wants use, which certainly precludes any opportunities for fine tuning, let alone enough fine tuning to play 10 years of catch-up.
It figured out what VM system it wanted to use, it just happened to abruptly drop one in the middle of a stable series in doing so.
You really have to hand it to them for being the first open source operating system to try something like this
They aren’t. Work has been ongoing since 2.0 to do this to Linux.
[QUOTE]When finished, FreeBSD 5 will undoubtably be the most scalable open source operating system available.[/QUOTE]
I don’t think that’s going to be true at all. It might be arguably more scalable than Linux 2.4, but it’s quite doubtful that it’ll be better than Linux 2.6 which is approaching Solaris scalability.
Linux still remains relatively coarsely grained, to the point where certain sections of the kernel (namely NFS) require locking the entire kernel (a lock known as the Big Kernel Lock, or BKL) As a result, these portions of the kernel suffer tremendously. FreeBSD, on the other hand, is approaching the fine-grainedness and scalability of Solaris with SMPng.
Again that’s simply untrue. Whilst a global kernel lock does exist in Linux, it’s rapidly being made redundant in 2.5 and even in 2.4 it’s not used very much at all.
Besides, there’s a lot more to scalability than just fine grained locking. You need a performant scheduler, block IO layer and VM subsystem as well. FreeBSD5’s are simply not in the same league as Linux 2.5’s. If you’re aiming for stellar SMP performance, it also helps if you support architectures which are/are going to be predomonant in large (ie > 16 processors) SMP configurations; Linux supports all three – PPC64, IA64 and Sparc64. Most large (>16) x86 boxes are NUMA systems which have a whole extra set of problems.
Tell me, how is FreeBSD5’s PPC64/IA64 support? Any NUMA work being done?
This isn’t to knock the FreeBSD devs – they’ve done a lot of good work trying to bring a substandard base to scratch, but I severely doubt that it’s going to be better than Linux 2.6 in any significant way.
it is my understanding that perl was removed from the base install so that you could easily run whatever version of perl you needed without any conflicts with the base system…this way it is easy to upgrade to another version of perl or run an older version of perl for compatibility with things like CGI scripts and what-not
it also should shrink the install size down a little bit
this is really nothing to complain about, as it is very easy to install packages on FreeBSD anyway either using pkg_add or the ports collection
-bytes256
PS: i can’t wait for 5.0, keep up the great work FreeBSD developers, FreeBSD is definitely my favorite OS
Your comment about threads on Linux and FreeBSD contradicts
this article by Jeremy Zawodny. Would you care to comment on it? Thanks.
http://jeremy.zawodny.com/blog/archives/000203.html
I am going to install Linux on a small amount of oldish Alpha comps in the near future. All the Linux machines here currently run Debian including one Alpha.
Now I’m wondering if I should consider using FreeBSD instead. The machines will be used as desktop machines mainly for internal software development.
So the question to the people who know FreeBSD and Linux: What are the major differences between the two? Who has the more stable implementation? Will it matter at all for anyone but the sysadm which one is used? What about hardware requirements?
If you have any older ISA PnP cards and you plan on dual booting between Windows and the other OS, go with Linux.
FreeBSDs support for PnP cards is a bit odd compared to Linux’ isapnp.
If you want to use native Java without using a Linux compatibility layer, you may also want to consider Linux. FreeBSD still does not have a native version of the latest JDK. JDK 1.3.1 is somewhere “in progress”, but JDK 1.4 is the latest available, and much better than JDK 1.3.
… try QNX !
( LOL )
Just kidding !
Just finished spending 4 hours with 5.0 and it seems very responsive. DP1 had a major problem with my cdrom that caused it to freeze up while DP2 installed without a glitch.
X continues to run smoothly (no jumping mouse) even when compiling multiple apps in the background. 4.x loses a good deal of responsiveness while doing the same. After installing about 90 ports, I haven’t found a single one of them that fails.
I run a small virtual private server business off dual-proc AMD boxes on FreeBSD, so I’m anxiously awaiting a stable 5.x that will scale a little better. I haven’t researched the security mechanisms, but vn (think file-based disks) has been supplanted with a (hopefully) better mechanism. Unfortunately, jailng hasn’t been merged.
Overall, this seems to be a great release point and I can’t wait for the final product to arrive. Then I just might get a dual rig for myself !
The BKL is being removed piece by piece in 2.5, and even SMP is fully pre-emptible now.
Again that’s simply untrue. Whilst a global kernel lock does exist in Linux, it’s rapidly being made redundant in 2.5 and even in 2.4 it’s not used very much at all.
Heh, seems like any mention of the BKL always seems to arouse some empassioned responses.
I mention it only because FreeBSD and Linux started from more or less the same place: SMP through one large lock, in the case of Linux the BKL and in the case of FreeBSD the BGL (Big Giant Lock). The issue with Linux and the BKL is that it has been slated for complete removal for the past 3 kernel versions, yet it has lingered in portions of the code. SMPng is really the first attempt by the FreeBSD programers to remove the BGL, so we’ll see if they succeed where Linux failed.
I’m not mentioning this for pedantic reasons either. This has caused me real woe. I maintain a Linux cluster with a number of diskless nodes which use root-on-NFS. The master node houses all the permanent storage and acts as an NFS server as well. When the master node isn’t under load, everything works great. However, under load the NFS server exhibits all sorts of issues.
If the Linux kernel programmers manage to completely remove the BKL in Linux 2.5 and the FreeBSD programmers fail to remove the BGL in FreeBSD 5, that will definately be a sign that FreeBSD continues to be trailing behind Linux. If the opposite happens, who knows? Maybe FreeBSD will surpass Linux…
Tell me, how is FreeBSD5’s PPC64/IA64 support? Any NUMA work being done?
FreeBSD 5 is the first release which has focused on portability. Certainly it’s not going to be up to par with Linux on non-x86/alpha platforms. I’m unaware of any work being done in regards to NUMA. Though we could spend all day playing “What features does X kernel have that Y kernel doesn’t?” *cough* POSIX 4 realtime *cough*
Regardless, at this point it remains too early to tell where FreeBSD’s SMPng and the work in Linux 2.5 will leave the respective kernels in terms of relative performance. Only time will tell the victor…
One thing that almost everybody seems to forget is that 5.0’s main focus is cleaning the internals of the OS (both kernel, userland and the interaction betweent the two), for example GEOM, devfs, rcNG, mac, UFS2, POSIX-comforming headers and so on. And these things IMHO are much more important than SMPng and KSE which anyway seem to me like will have to wait until 5.1-5.2 to be fully functional.
*cough* POSIX 4 realtime *cough*
It’s funny that you’re so fixated on POSIX realtime support given that for a general purpose OS, Linux’s realtime support is pretty good, especially with the preempt patch (and the number of ‘realtime’ distros is supportive of that)
Anyway, there is support for most of POSIX 1003.1b’s (which is what I believe you are refering to when you mention ‘POSIX4 realtime’) features.
I’m unaware of any work being done in regards to NUMA. Though we could spend all day playing “What features does X kernel have that Y kernel doesn’t?”
We’re not playing that game because you’d lose. I asked about a specific feature and explained why it was important – on FreeBSD’s primary (indeed only really solid) platform, the big multiprocessing implementations are generally NUMA ones.
Maybe FreeBSD will surpass Linux…
As I’ve already explained there is more to a scalable system that fine grained locking. It’s important, but there are a number of other considerations to be taken into account. (FWIW, the BKL isn’t used by NFS2, 3 and 4 in 2.5).
——————————————————-
Eugenia:
FreeBSD 5 is a major change to the traditional Unix-y way of doing things (introduces major SMP and multithreading innovations)
What on earth is that ridiculous statement supposed to mean? Please explain yourself.
FreeBSD 5 is a major change to the traditional Unix-y way of doing things (introduces major SMP and multithreading innovations)
Eugenia: Mostly, it’s all in the kernel that they’re making major changes. From the user perspective, you’ll still have bash or tcsh, perl (admittedly via ports, but that’s easy), and all the system calls you’d expect.
The traditional way is the kernel is one large program. The something makes a system call, and the kernel does it’s thing, precluding anything else. The new way (Solaris being the lead on this), with Linux and FreeBSD (in their stable incarnations) having a rudimentary implementation. The development Linux kernel and FreeBSD kernel are working to get to a point where the kernel is broken into many parts that aren’t dependent on each other so the system can run them on different processors, etc.. Kind of like a microkernel, but without the rigid boundries between hardware access portions and “servers”.
It’s funny that you’re so fixated on POSIX realtime support given that for a general purpose OS
I think you’re confusing POSIX.4 functions with the functions of realtime operating systems. Things like asynchronous I/O can provide significant performance boosts in applications like network servers.
Linux’s realtime support is pretty good, especially with the preempt patch (and the number of ‘realtime’ distros is supportive of that)
That’s not what I’m talking about. I’m talking about the aio_* family of functions.
Anyway, there is support for most of POSIX 1003.1b’s (which is what I believe you are refering to when you mention ‘POSIX4 realtime’) features.
I’m referring to things like POSIX.4 asynchronous I/O, currently supported under Solaris and Irix. There’s a glibc implementation, but its use in a production environment would be ridiculous. SGI has provided some patches for Linux which do provide an asynchronous I/O implementation, but do not provide support for realtime signal queues. There exist patches to provide realtime signal queues for Linux, but they’re horrendously buggy and haven’t been updated in several years.
FreeBSD’s asynchronous I/O implementation is far from complete, and FreeBSD also lacks realtime signal queue support, but processes can be signaled about a completed asynchronous I/O operation using the kqueue mechanism. kqueues also provide for O(1) synchronous I/O multiplexing operations, as opposed to O(n) provided by other synchronous I/O multiplexing mechanisms (i.e. poll, select)
FreeBSD is implementing features which until now were only found in commercial Unices. That isn’t to say that Linux isn’t getting them too, but in the case of Linux the implementations are being more or less cut and paste directly from the commercial Unices themselves.
The point is the FreeBSD developers are striving to make the best kernel possible and are getting there by hard work, whereas Linux floats by on its name recognition and corporate support. Downplaying the hard work being done by the FreeBSD developers as pointless because Linux is supposedly so far ahead is rather insulting.
And have you nothing to say on the rather deplorable state of the Linux VMM?
I think you’re confusing POSIX.4 functions with the functions of realtime operating systems.
If you were talking about 1003.1b AIO, you should have said “1003.1b AIO” rather than clouding the issue by refering to ‘POSIX 4 realtime features’.
I’ll concede that, yes, Linux 2.4’s AIO stuff isn’t very good. Of course 2.5 now has a top notch AIO and polling (epoll) mechanism…
The point is the FreeBSD developers are striving to make the best kernel possible and are getting there by hard work, whereas Linux floats by on its name recognition and corporate support.
Ok, this really shows you up as a zealot. What do you think Linus is trying to do? He’s trying to make Linux the best kernel possible – as, indeed, are the rest of the Linux kernel developers.
What a ridiculous comment to make.
That isn’t to say that Linux isn’t getting them too, but in the case of Linux the implementations are being more or less cut and paste directly from the commercial Unices themselves.
That’s a flat out lie. Any kernel developer will know that the various Unix kernels differ so widely internaly that it’s simple not feasible to ‘cut and paste’ (directly or not) between them. That’s not to mention the hideous IP issues involved. You won’t find any AIX or Solaris or IRIX code in Linux, beyond a filesystem or two.
It’s true that Linux is getting them far faster than FreeBSD and this may well be because of corporate sponsorship (developers, not code) but that isn’t a bad thing.
And have you nothing to say on the rather deplorable state of the Linux VMM?
I’ve already spoken about the VM and you’re just repeating the standard FreeBSD zealots myth.
For the sort of workload Linux 2.4 is exposed to, AA’s VM is fast and stable. It is true that early 2.4 kernels had severe problems, but then nobody should be using early 2.4 kernels anymore. In 2.5, RvR’s reverse mapping VM has finally been stabilised. With proper support for discontig memory, per-node swapd etc. I can confidently say that it’s better than the FreeBSD VM and is eminently suited to the sort of workload (> 16 processor, >32GB machines) Linux 2.6 is going to be exposed to.
You, on the other hand, have conveniently ignored that yahoo link. I’d be interested to hear your thoughts on it.
Downplaying the hard work being done by the FreeBSD developers as pointless because Linux is supposedly so far ahead is rather insulting.
I’m not aware that I’ve done this. Claiming that FreeBSD 5 is ahead of Linux 2.5 is to contradict all the facts, however.