The guys and girls behind the NetBSD project have released version 5.0 of their BSD operating system. NetBSD is a highly-portable operating system, the second open-source BSD implementation (after 386BSD). Naturally, version 5.0 comes packed with a whole boatload of improvements.
The biggest area of improvement in NetBSD 5.0 is symmetric multiprocessing (SMP). “NetBSD 5.0 features greatly improved performance and scalability on modern multiprocessor and multi-core systems. Multi-threaded applications can now efficiently make use of more than one CPU or core, and system performance is much better under I/O and network load, benefiting, for example, server, scientific, and software development workloads.”
These improvements were made possible by rewriting or auditing just about every core aspect of the system. Instead of paraphrasing these changes and making mistakes, let’s just look at what the release notes have to say:
This improved performance is the result of a rewritten threading subsystem based on a 1:1 threading model, new kernel synchronization primitives, kernel preemption, a rewritten scheduler implementation, real-time scheduling extensions, processor sets, and dynamic CPU sets for thread affinity. Almost all core kernel subsystems, like virtual memory, memory allocators, file system frameworks for major file systems, and others were audited and overhauled to make use of highly concurrent algorithms.
There were also a huge number of other changes, such as the “jemalloc” memory allocator, Xorg instead of XFree86 in some ports, the Power Management Framework, ACPI suspend/resume on many laptops, and much, much more.
The team prefers it if you download using BitTorrent, but you can also use the mirrors.
Finally a real operating system on Front Page.
Now, this is where I’d have to agree with you. I’ve been using NetBSD since 3.0 and I was impressed with it then – to this day. I like FreeBSD and OpenBSD, but NetBSD is the most favored above the rest.
Good work guys,
-Bradley
Looks like a lot of changes. How stable is it?
I’ve had some stability issues doing large rsync operations, but I think that may just be flaky hardware on the development box I’m using. When I’m not trying to rsync ~100GB worth of data, it’s been rock solid stable.
The machine I’m working on is an upgrade for a community host that supports ~150 users, currently running NetBSD 3.1.
I know the overall I/O performance seems snappier. A maildir with ~6500 messages that takes a couple of minutes to load over IMAP (dovecot/mutt) on the 3.1 box loads in about 20 seconds on the new one.
Use rsync 3.x it has incremental filelists so it doesn’t need as much memory. That really helps solve any problems in that regard.
How is it advanced compare to FreeBSD or OpenBSD? It seems they’ve been trailling behind a bit. Do the BSDs exchange code?
NetBSD and OpenBSD share many common aspects, as one would expect given that OpenBSD was originally a fork of NetBSD. Code sharing seems to happen quite a bit, typically from NetBSD to OpenBSD, i.e. NetBSD is the proving ground and OpenBSD incorporates the feature when most of the kinks have been worked out of it. OpenBSD actually seems to trail the farthest behind in the *BSD oses, as they often wait until something is proven before bothering to implement it, or delay for other reasons. Prime example: OpenBSD just recently (last release) got WPA support for wireless encryption.
NetBSD is a personal favorite os of mine, because it’s clean, stable, minimalistic, and generally stays the hell out of my way. I tell it to do something and it does it, without trying to hold my hand or prompt for confirmation a gazillion times. This release looks nice, I’m particularly excited about the ACPI support. Wonder how well it’d work on my Eee? If ACPI works on the Eee now, it would make an ideal netbook os due to its light resource usage and, it being minimalistic, you can basically fine-tune every aspect of the system. I often think of it as the Gentoo of the *BSD family.
Some of the mailing list posts are very complimentary about 5.0 on the eee; things like “all the hardware works from the beginning, unlike every other linux I’ve tried.”
May suggest it to some of the local unix users group members to see what their experiences are.
I’ve often wondered why more netbooks didn’t go with something like netbsd over linux. I’d figure it would be right up their ally, netbsd has never been a heavy OS, they can get all the source code and incorporate proprietary software and drivers if they wanted to, or they could open the source for it. The choice would be totally up to them.
Presentation about NetBSD 5.0 features and performance was recently announced:
http://mail-index.netbsd.org/netbsd-announce/2009/04/29/msg000064.h…
The actual PDF with graphs is here:
http://www.netbsd.org/~ad/50.pdf
NetBSD’s core kernel is in many aspects very similar to Solaris (interfaces use similar design and concept, eg. synchronization primitives, slab allocator, etc) today. Neither OpenBSD nor FreeBSD kernels are very similar to NetBSD, each diverged a lot.
Looks very promising. I like some of the scalability strides they have made. Is the Gap between NetBSD and FreeBSD that much as the graph indicates?
How about virtualization? I played around with Xen dom0 but it was pain to configure and run. Switched to Linux/KVM.
I like some of the goals they have set out for 6.0. I hope they can make it – especially binary packages for installs and upgrades.
I like NetBSD a lot because it is well designed, “minimalist”, clean, supports a lot of platforms, its pkgsrc, etc.
Kudos NetBSD team! Keep the really really good work!
as good as this release is it is a stepping stone to the future and the future is good! http://www.netbsd.org/~ad/50/img16.html
5.0 is amazing, the dev’s really out did themselves this time. great job guys.
I’ve been reading a lot of good things about the different BSDs lately, especially about NetBSD. Since I have actually zero experience with any BSD (well, except for m0n0wall and FreeNas, which I think are both based on FreeBSD), I was wondering if NetBSD would be a good ‘beginners BSD’ for basic server tasks?
Or does anybody have any pointers to more information on the differences and similarities between the main BSDs? I’m familiar with the Wikipedia pages, but more tech info on the differences would be nice
Not really. NetBSD does very little “hand holding”, it installs a minimal system and after that, you are basically on your own.
It’s been ages since I tried FreeBSD, but that has customarily been the “friendly” BSD.
Even FreeBSD doesn’t do much hand-holding, though the initial installation will often install more than an initial install of NetBSD or OpenBSD. *BSD in general are not much for hand-holding, you’re expected to know what you’re doing and, if you don’t know how to get something working, to be able to look it up yourself and/or ask the appropriate questions in the various forums/mailing lists. They’re very capable systems, but you’re expected to be able to learn how to configure and administer them properly. No GUI tools by default, no quick and easy initial configuration. That being said, you’ll definitely learn a lot if you start working with *BSD and, once you get everything running, you’d be hard-pressed to find a better and more manageable server.
Thank you both for your answers!
I don’t mind the not-holding-my-hand part and I’d expect there to be a learning curve. (Actually now that I think about it, most serious problems I ran into, were precisely caused by programmers trying to think for me…) I’m downloading both FreeBSD and NetBSD as I speak and will give them both a serious try this weekend. Found some nice introductions on BSD for Linux users, so I should be all right
I tried to install it under virtualbox 2.2.2 (on fedora 10). It failed to get the install kernel up and running.
Googline shows this problem has been around since netbsd 4 and possibly longer.
Playing with acpi etc doesn’t help.
I like NetBSD and their philosophy but it doesn’t help if people can’t get it working in common machines like the virtualbox.
(I think I can use virtualbox faily well – i have solaris, windows, linux and minux running..)
It isn’t the fault of NetBSD if the can’t develop proper code. In the end it’s made for real machines. NetBSD devs cannot fix the bugs of Virtualbox.
Totally agreed.
If NetBSD does not run on VirtualBox, it is VirtualBox fault; anyway NetBSD runs like a charm in VMware and in real hardware too.
I tried too, and changing various settings ad nauseum didn’t help either. I guess since it’s so new (or less popular??) that the VirtualBox devs haven’t tested it yet.
I can get 4.0.1 working fine but only by turning on VT-X (hardware virtualization) extensions, which may need to be enabled in your BIOS first.
Despite being touted as the first open source OS to support AMD’s x86_64 architecture it still took the NetBSD developers several years to get around to fixing a bug in the OS, (not the hardware), preventing the VIA IDE/SATA drive controller on many systems from working, keeping me from installing it on my x86_64 machine before having successfully installed Linux, FreeBSD, and OpenBSD on it.
I’ve ran both NetBSD 3.0 and Netbsd 4.0 on macppc and was very much dissapointed. Neither Alt+<num> or Ctrl+Alt+<num> switches between terminals. I’ve used the command wsconscfg to swith between virtual terminals only to experience random lockups as a result. Running X from a terminal has also resulted in seemingly random lockups. Not so much a stability issue but the terminal driver is very much primitive, any changes to the resolution or fonts are to be made by setting variables in the kernel config file and recompiling a new kernel. I’ve had issues with the driver for my network card, many errors occur (dropped packets and timeouts) and performance is very disappointing. I still have yet to try Netbsd 5.0 on macppc but am currently downloading the iso for it. Firefox 3 fails to compile on macppc yet compiles fine on ppc when running gentoo linux. There is no binary pkg of firefox 3 for macppc last time I checked. I hope the above mentioned problems are fixed.
With the i386 port the only problems I’ve had would be neither Alt+<num> or Ctrl+Alt+<num> allowing me to switch between terminals and random lockups when starting X. Other than that it’s stable.
I’ve tried NetBSD on i386, x86_64, and macppc and have very much been disappointed with the lack of stability on all of the platforms. I’ve experienced random locksups on i386 as well. Too be fair the i386 port is still much more stable than either the x86_64 or the macppc ports but in my experience very much lacking compared to other operating systems.
Why should I give NetBSD another try? I was using FreeBSD but due to some requirements from my work I had to change to GNU/Linux. Because of my personal preferences I switched to Slackware Linux (in my opinion is some aspects it’s similar to BSD, at least as much as Linux can be similar to BSD, but definitely more than Gentoo Linux). I’m using OpenBSD on some routers and MySQL server – I’m very satisfied with that system (clean, simple, well documented, everything has to be done by hand, 100% control). But…
… Why each time I try with NetBSD I’m not impressed or at least I can’t find suitable place for this BSD flavour? Maybe I don’t understand something in its philosophy. Please tell me, how should I consider NetBSD and why should I give it a try another time. Please don’t tell me it’s multiplatform, I’m using x86 mainly, so I don’t care. Maybe, the latest NetBSD version is in fact soooo efficient that I should replace my OpenBSD based MySQL server with NetBSD?
Any help appreciated.
Regards,
W