Just an addendum: NetBSD is also known for performance especially compared to FreeBSD. For some time it lost the top position, but today it's in the game again.

Good observations. People like to stereotype BSDs. I really have no idea
were so called portability of NetBSD is coming from (at least on workstations). Mac PowerPC port of NetBSD is very solid, sparc64 is a big joke as well as sgi mips.

Have you recently seen OpenBSD sgi port. It works almost on the same hardware as Irix. OpenBSD sparc64 is second to none. I will dare to say that is in par with native Solaris.

OpenBSD sparc64 is second to none. I will dare to say that is in par with native Solaris.

I may have to try Open then (*gasp!*). I have a few old sparc64 boxes that are laying fallow at the moment. One is a dual 500MHz box, with dual graphics cards. Other than its noise (loud!) it is a nice machine. FreeBSD support is OK, but not really that stellar.

Originally Posted by http://www.feyrer.de/NetBSD/bx/blosxom.cgi/nb_20090922_2256.html

In contrast to the current and previous NetBSD releases, NetBSD-current and the next major release (6.0) uses a new system for kernel modules. Unlike the "old" loadable kernel modules (LKMs), the new module framework supports dependencies between modules, and loading of kernel modules on demand.

Today, I've found time to install NetBSD-current/i386, and configure things that I use here - /kern, /proc, and some NFS, in addition to a local disk. Now, looking at the list of loaded kernel modules reveals:

Interesting points here are that nfs, kernfs and procfs are just listed in /etc/fstab, and the related filesystem modules are loaded automatically, without a need to worry if they are needed or not. In fact I just assumed NFS is in the GENERIC kernel. Seems it's loaded as module!

Another interesting module is "coredump", which is loaded by the module to execure 32bit ELF programs, exec_elf32. This is an example of module dependencies, and again no manual intervention was needed.

So what modules are there? First, let's remember that kernel modules are object code that implements facilities for the running kernel, and which interfaces closely with the running kernel. As such, they need to match the kernel version, ideally. When one of the kernel's API or ABI interfaces changes, it's best to rebuild all modules. For NetBSD, the kernel's version is bumped e.g. from 5.99.15 to 5.99.16 for such an interface change, which helps tracking those changes.

Back to the question of what modules are there. Now that we know kernel modules are closely tied to the version of the kernel (which still is in the file /netbsd, btw), associated modules -- for the example of NetBSD/i386 5.99.15 -- can be found in /stand/i386/5.99.15/modules:

There are directories with major kernel subsystems in the named directory, each one containing various files with the ".kmod" extension, for kernel modules. Subsystems include kernel accept filters, various file systems, compatibility modules, execution modules for various binary formats, and many others. Currently there are 58 kernel modules, and I guess we can expect more in the future.

P.S.: I've seen one confusion WRT systems that use kernel modules to whatever extent, as they shrink the size of the actual kernel binary: Even with kernel modules, an operating system is still a monolithic kernel: The modules are tied in closely into the system once loaded, ending in a monolithic system. In contrast, a "microkernel" is something very different, and it doesn't have anything to do with kernel modules. :-)

My comments?

Pretty Linuxish I must say, /stand/i386/5.99.15/modules looks very similar to /lib/modules/2.6.27-14/kernel ...

Also why ../MODULE/MODULE.kmod format, couldnt it be just ../MODULE.kmod?

FreeBSD schema seems far more KISS and tidy with /boot/NAME/kernel and /boot/NAME/module.ko then NetBSD.

__________________religions, worst damnation of mankind"If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus TorvaldsLinux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”.vermaden's:linksresourcesdeviantartspreadbsd

__________________religions, worst damnation of mankind"If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus TorvaldsLinux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”.vermaden's:linksresourcesdeviantartspreadbsd

I think among the three BSDs, the install process for each demonstrates what philosophy and deeper coding methods belong to each respective BSD.

FreeBSD -- Long ugly install process. Hated it!

NetBSD -- In between FreeBSD and OpenBSD. Not as long and ugly as FreeBSD's install, but it does look prettier with, if I remember correctly green colors. Not bad.

OpenBSD -- It's install process is the simplest of the three. When I first install OpenBSD as a joke as I was using FreeBSD at the time, I was hooked in the 7 minutes it took me to install it. Being relatively new to Unix, I do play around and screw things up, so I have to reinstall over and over again. OpenBSD let's you do this fast and learn a lot more faster than the other two. After about 5 - 10 reinstalls, you should have everything close to memorized. OpenBSD follows the philosophy Keep It Simple Stupid and works elegantly. I think OpenBSD is the best b/c it's power is in its simplicity. Oh! That's the Unix philosophy. Duh! No wonder it's the best even to a newbie like me who doesn't really know that much about Unix, but just seeing OpenBSD for what it was the first time I installed it, even an idiot should know OpenBSD rocks!

__________________religions, worst damnation of mankind"If 386BSD had been available when I started on Linux, Linux would probably never had happened." Linus TorvaldsLinux is not UNIX! Face it! It is not an insult. It is fact: GNU is a recursive acronym for “GNU's Not UNIX”.vermaden's:linksresourcesdeviantartspreadbsd

FreeBSD is a great Unix OS. Don't misunderstand what I'm saying. I didn't intend to belittle and depricate it in any way shape or form. It's just for me, OpenBSD is a greater Unix OS. I've tried different Linux distributions and liked them, I loved FreeBSD -- my first BSD, and NetBSD isn't all that bad either, but OpenBSD is just right for me. It has all the things I like to suit my personality.

I like their logo. I like the fact that you get stickers when you make a contribution to OpenBSD and a collectable case with the CD's. I like that it's on a CD, not a DVD. I like the artwork. I like that you can get posters and t-shirts with Puffy. It's just a personal choice, you might have different feeling, and that's ok with me.

I learn unix much faster on OpenBSD than with any other Linux or BSD I've used before because of this and it's considered by some to be the most difficult BSD to learn. All the artwork and they way things are done (t-shirts, etc.) make learning OpenBSD fun, not mechanical and tiresome. That's all I'm sayin'.