If I could re-write Linux
If we were to re-write Linux, taking clues from
various operating systems, what would we
make sure it did? Our next-generation operating system (NGOS) would be
completely modular in design, aimed at 64-bit hardware, and with an
interface that would change the way people compute. It would support a
large number of applications and hardware devices, accepting device
drivers written for other operating system, and run applications
written for other operating system under an emulation mode.
Kernel: Most operating systems have a
monolithic kernel whereby all the kernel
code is in a single binary. Microkernel architecture on the other
hand follows a modular approach, separating the core kernel code
from the rest of the system. With a microkernel the hardware layer can
separate from the kernel allowing easy porting to different platforms.
NGOS should use the
microkernel architecture to make it easier to port the operating
system to multiple platforms.
Even though Linux has a monolithic kernel it has
still been successfully ported to more
platforms than any other operating systems. It uses modules for
device drivers and gives user an option to compile the code
into the kernel or user modules. Code in the kernel executes
significantly faster than modules.
64-bit computing: Most operating systems
today were written for 32-bit processors
and are now being ported to 64-bit processors. Some older
operating systems were originally written for 16-bit processors
and ported to 32-bit processors.
Linux is a pure 32-bit operating system written from
scratch for 32-bit processors. It
doesn't suffer from any 16-bit baggage code. Now Linux is being ported
to various 64-bit processors. It will be a while before all the code is
compiled and optimised to take advantage of 64-bit platforms.
The NGOS would be written for 64-bit processors
because by the time the operating system would
ready for production use 64-bit processors will be the mainstream
environment. There should also be some low-level layer which would
allow the operating system to be executed on older 32-bit
architectures, but the goal for NGSO should be that it
is the fastest operating system on 64-bit processors.
Memory and filesystem: Older Linux kernels
such as 2.2.x were limited to 2GB of memory. The 2.4.x kernel is
limited only by the hardware architecture; the Intel x86 platform