IS LINUX DERIVED FROM MULTICS???

Sunday, November 2, 2008

"Unlike MS Windows, MAC, Linux, Unix which trace their lineage back to MULTICS, Singularity is different."

This statement from my post Microsoft's Singularity clearly means that the contemporary OSes of today clearly trace their lineage back to MULTICS. However, a classmate of mine begs to differ on the account of this statement and further adds that all OSes now are derived from Unix and that Linux is neither based on MULTICS nor it is an OS at all. This post will critically analyze all of that. Lets begin with MULTICS.

MULTICS operating system is also known as " Father of Unix and all modern OSes". It was a time sharing system and introduced large number of concepts such as dynamic linking and hierarchical file system. It also supported symbolic links between directories and was the first to introduce the now-followed standard of per-process stacks per kernel. It was extremely powerful and apparently Unix was it's simple successor. Initial planning and development for MULTICS started in 1964 and was actually a cooperative project led by MIT along with General Electric and Bell Labs. Bell Labs dropped out in 1969 and in 1970 GE's computer business including MULTICS was taken over by Honeywell. When Bell Labs pulled out of it, some of the people who had worked on it there went on to create the Unix system. Superficial influence of MULTICS on Unix is evident in many areas, including the naming of commands.  "Unix" (originally "Unics") is itself a hack on "MULTICS". The U in UNIX is rumored to stand for "Uniplexed" as opposed to the "Multiplexed" of MULTICS as if the designers were rejecting the complex MULTICS and had created a simple Unix as opposed to it.

Thus around 1969-1970, Unix was developed with Kenneth Thompson, Dennis Ritchie and others working on it at the AT&T Bell Laboratory.

MINIX is another Unix like operating system with a microkernel architecture. It was developed by Andrew S. Tanenbaum for educational purposes. In fact it's name stands for Minimal Unix. This MINIX greatly influenced the design decisions Linux in it's early days.

Now moving over to Linux, it is a Unix like OS family which uses the Linux Kernel. Utilities and the libraries are provided by the GNU Operating System. The term Linux can have different meanings. Strictly speaking, Linux is only the kernel of a Linux Distribution. On the other hand, Linux in common use refers to any distribution using Linux kernel. Now, this Linux kernel developed, with Torvalds working on a non commercial replacement for MINIX. This greatly influenced the design decisions of Linux kernel in the early phases. However, there were design deviations. For instance, MINIX had a microkernel design whereas Linux kernel was monolithic in architecture. Early Linux kernel development was also done on a MINIX host system. As a result, it also inherited features of MINIX such as disk file system format. So, Linux basically mimics the form and function of the Unix-like OS family but it is not derived from the license source code.

  • There's an on-line biography in which Linus Torvalds' quoted as saying:
    It's partly due to MINIX: Linux was just my working name for the thing, and as I wrote it to replace MINIX on my system, the result is what it is... Linus' MINIX became Linux.

    I originally intended it to be called freax (although buggix was one contender after I got fed up with some of the more persistent bugs :) and I think the kernel makefiles up to version 0.11 had something to that effect ("Makefile for the freax kernel" in a comment). But arl called the Linux directory at nic.funet.fi pub/OS/Linux, and the name stuck. Maybe just as well: freax doesn't sound too good either (freax is obviously free + freak + the obligatory -x).

    Thus even though the later Linux kernels (from release 2 onwards) were not based on MINIX, the original development started with MINIX. So is Linux MINIX? No. But, did it start from MINIX? Yes. And is it Unix? Obviously. Hence, one can clearly infer that Linux Kernel traces it's lineage back to MINIX and MINIX itself is Unix like operating system. And since, MULTICS is clearly the father of Unix, Linux does trace its lineage back to MULTICS.

    • All OSes today are based on Unix: False.                                                                                               They are based on MULTICS or rather they have taken after MULTICS as it was the OS which was built from the scratch.
    • Linux is not based on MULTICS: False.    Clearly, nobody is stating that the source code was copied or something but early design and architecture of its kernel which has led to what it is today can be clearly traced back to MULTICS from the aforementioned analysis. The Linux kernel was not conceived 'originally' after all.
    • Linux is not an OS at all: True. The statement in bold italics will clearly support this.

    Further, the moral of the story is that even if two things appear similar and their design is similar to some extent it doesn't been that the lines of source code has been copied or something.

    Technorati Tags: ,,,
  • 6 comments:

    Unknown said...

    informative writeup.

    Vinay S, Associate Profesor and Head, Dept of CSE, PESITM, Shivamogga said...

    hey its a good one... i was not aware of many things ... Keep it up...

    Vasudev Kamath said...

    The result was a system which a punning colleague called UNICS (UNiplexed Information and Computing Service)--an 'emasculated Multics'.
    Just go through following links
    http://www.multicians.org/myths.html
    http://www.computerhope.com/history/unix.htm
    Linux is based on UNIX and see following lines
    "The UNIX system [12] was a reaction to Multics. Even the name was a joke. Ken Thompson was part of the Bell Laboratories' Multics effort, and, frustrated with the attempts to bring a large system development under control, decided to start over. His strategy was clear. Start small and build up the ideas one by one as he saw how to implement them well. As we all know, UNIX has evolved and become immensely successful as the system of choice for workstations. Still there are aspects of Multics that have never been replicated in UNIX."
    I can't tell evrything here read the links. And one more thing I didn't beg for clarification..

    ಓಂಶಿವಪ್ರಕಾಶ್ ಎಚ್. ಎಲ್ said...

    :) Don't fight. Nice write up. Need some more time to look into the details.

    Ni said...

    lol..no fight going on as such...just a discussion.. :)

    Vasudev Kamath said...

    ya its just a discussion

     
    Design by Pocket