Christopher B. Browne's Home Page
cbbrowne@acm.org

10. Hosting

The Linux operating system was originally hosted by the Minix operating system.

This indicates that Linux was not able to exist "by itself." Way back in the early '90s, in order to run Linux, you had to have a functioning Minix system. The procedure for running Linux would be that you are running Minix, and then have it load a program that is the Linux kernel.

Similarly in appearance, Microsoft Windows 3.x and '95 are not self-hosting; they must be loaded by an underlying host operating system such as MS-DOS or PC-DOS.

In slightly similar fashion, Linux is not, even today, an entirely self-hosting system. It is normally loaded by some more basic "host" OS, usually just smart enough to read data off a disk file system, load a program, and execute it. (Interestingly, this is an apt characterization of the overall capabilities of MS-DOS.) On x86 PCs, most users boot up the "LILO" (Linux Loader) program, a specialized boot program which loads Linux. On Digital Alphas the equivalent utility is called "MILO," and similarly "SILO" on Sun Sparcs. PCs also can start up boot-up processes of OSes using GRUB There's even a utility called LINLOAD.EXE that allows one to execute the Linux kernel from MS-DOS.

There is, nonetheless, a fundamental difference between the way MS-Windows and Linux are hosted: With MS-Windows, the "host" OS (DOS) is an integral part of the operating environment; MS-Windows whether in 3.x or '95 incarnations must have DOS of some form functioning underneath it at all times. In effect, MS-Windows is a process running atop DOS. With Linux, once the Linux kernel is loaded, the hosting "operating system" can and generally must be done away with.

There is a notable exception; if Linux can also be run atop microkernel such as Mach or L4. In this situation, there is a distinct similarity to the relationship between MS-DOS and MS-Windows, as both Linux and Mach/L4 must coexist as the Linux "server" depends on an ongoing basis on the services provided by the microkernel OS.

Projects are afoot in both free and commercial realms to host a variety "operating system personalities" atop Mach; such OSes include Linux, Digital Unix, Apple's "Rhapsody," GNU HURD, just to name those that are most common. If one runs multiple OS "personalities" at once, that is known as "multihosting."

Google

If this was useful, let others know by an Affero rating

Contact me at cbbrowne@acm.org