lowen
Veteran Member
...
Well, that's one really good part to MSDOS/OS/2--you need only have support for the basic INT 13 devices to get booted--everything else can be loaded from separate device drivers after that.
So are there any viable microkernel Linux/Unix alternatives for the x86/x64 platforms? Or is that just an idea that's passed its prime?
Well, the linux kernel has had loadable modules for a really long time now; Red Hat variants even have initial ramdisk support for udev-based dynamically loaded modules (so you can, say, take a disk from one kind of SCSI controller to a different SCSI controller and the disk still boot successfully); since Fedora 12 or 13 (RHEL/CentOS 6) the dracut system handles this quite nicely.
For hardware that's not supported directly it's not hard to build a loadable module without rebuilding the whole kernel; the elrepo.org repository builds RPM packages for many pieces of hardware, especially including nVidia 3D accelerated drivers.
I'm running CentOS 6 on several year old hardware; my main laptop is a Dell M4300 (Penryn C2D). It's quick enough to run Windows 7 in a VM while having reasonable performance for normal tasks. A simple 'yum install' of a package (through CLI or through GUI, for that matter) is enough to get pretty much any driver without rebuilding a kernel.
Now to go to pre-XP hardware, I have run as recent as CentOS 3 on Pentium 133 and slower hardware; and I ran Red Hat Linux 8 on a 486DX4-100 tp build distribution packages for the PostgreSQL project in the '99-'04 timeframe.
I still run Red Hat Linux 5.2 (NOT Enterprise Linux; 1998-vintage RHL 5.2) on an AMD K6-2 450, and it's very serviceable.
The ISO's and repos for all of these packages ever since the very first Red Hat release are still available for download, and even for non-Intel architectures such as SPARC and Alpha.
But since you mentioned microkernels, you could always run Darwin. The Linux loadable module framework isn't too different from the Darwin/XNU/Mac OSX kernel extension (kext) framework.
Last edited: