No, they don't do this by running an SMP kernel on UP, they do it by
abstracting functions that care about SMP into another module.
Here's Linux:
Drivers (SMP agnostic)
Kernel (SMP/UP specific)
Here's Windows:
Drivers (SMP agnostic)
Kernel (SMP agnostic)
HAL (SMP/UP specific, contains locking primitive funcs etc.)
So they use the same kernel and just switch out the HAL.
I'm not advocating anything similar for Linux, I'm just saying it's an
interesting thought experiment - what if the SMP-ness of a machine was
abstracted from the kernel proper? How much of the kernel really cares, or
really *should* care about SMP/UP?
For one thing, it would get rid of the hundreds of "#ifdef CONFIG_SMP"s in
the kernel. ;-)
Regards -- Andy
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/