What to expect in NetBSD 7
netbsd-news.me
netbsd-news.me
Let me ramble...
1) I'd say the "fit and finish" is remarkable. But everybody probably likes what they've got with their OS, so maybe that's not worth much.
2) If you're into firewalling/networking, it does have the venerable ipf, OpenBSDs pf, and the shiny-new npf for packet filtering -- and the network stack that held the Internet "land speed" record. Twice[0]
3) there is remarkable kernel research that is going on, that research makes the kernel available to YOU[1][2]
4) pkgsrc is topnotch. And others use it too, so like the famously portable OS, the 3rd party software is tested in the realworld on disparate machines.[3][4]
5) The community is small enough, friendly enough, and smart enough that it's simple to get into and has a high signal-to-noise ratio.[5]
6) Other interesting security[6], virtualization[7]
7) Good documentation, good code (forged by years of portability -- getting code running on so many different architectures doesn't happen by accident, and the lessons are carried on. And to be clear, unlike Linux, the NetBSD code that runs on (eg) a Vax is from the same codebase than runs on an 8-way amd64... versus (afaik) Linux where ea. target is pretty much a rewrite.)
8) I could go on... if you have more questions, don't hesitate, or better, drop in on #netbsd IRC channel on Freenode[8].
[0] http://www.netbsd.org/gallery/research.html#internet2-landsp...
[1] http://netbsd.gw.com/cgi-bin/man-cgi?lua+4+NetBSD-current
[2] https://wiki.netbsd.org/rumpkernel/
[4] https://github.com/minix3/pkgsrc
[5] https://www.netbsd.org/community/
[6] http://en.wikipedia.org/wiki/Veriexec
[7] http://en.wikipedia.org/wiki/NetBSD#Virtualization
[8] irc.freenode.net
Edit: Match my parens, s/to/too/, link to freenode.
That is not really an accurate way to characterise how the different Linux target architectures are supported in the source. As you would expect, the vast majority of the code is in fact shared.
http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.g...
This entire file is compiled on all architectures with MMUs (madvise() is pointless on architectures without MMUs and hence without virtual memory). Everything architecture-specific in this file is abstracted away by macros like PAGE_SIZE and PAGE_SHIFT.
> ... held the Internet "land speed" record. Twice[0]
"SUNET has transferred around 840 GigaBytes of data in less than 30 minutes, using a single IPv4 TCP stream, between a host at the Luleå University of Technology and a host connected to a Sprint PoP in San Jose, CA, USA."Come on, everyone knows Sprint doesn't have that much bandwidth. I bet they were faking speed test results again. grin
Now we have it set up so you can compile kernel plus libraries plus userspace into a single binary (in a few minutes of build time) I am looking at more test strategies - kernel+userspace fuzzing for example should be possible.
The Coverity scan score for NetBSD is 0.32, vs Linux at 0.66, and that is including the whole base system (gdb has a lot of problems) - the project has been working on this type of issue for ages.
The codebase is easy to use elsewhere, it is used in lots of other operating systems eg Minix, Android, QNX, Genode - the portability really helps here, it is not just different architectures but you can cross compile from any other operating system, and it supports both clang and gcc as system compilers (and partial support for pcc).
And ZFS is on a lot more than just FreeBSD, even if it's not official. ZFS started on OpenSolaris, not on FreeBSD. OS X has a port. Then FreeBSD got it's port. Linux has a stable port. And there are NAS OS's shipping with it like FreeNAS, TrueNAS, and a device called ReadyDATA by Netgear that has it.
I was mostly surprised at this: "The good stuff that probably won’t make it to NetBSD 7: Stable ZFS." So you're telling me ZFS isn't considered stable on NetBSD? It seems to be that it's pretty stable on quite a few other platforms, some mentioned above.
In BSD world they're completely separate OSes. Their kernels have evolved differently. They may have similar ancestry. You can't just copy and paste code from one to another and expect it to work.