[Ilugc] diff:unix and Linux

  • From: siva@xxxxxxxxxxx (Sivasankar Chander)
  • Date: Mon Sep 27 17:55:09 2004


I would like to know how Linux and Unix differ technically from 
implementation point of view----like what are the basic differences between 
Linux and Unix---if any.

  You'll need to read the Lion's annotated commentary on Unix and similar
books on the Linux kernel (like the Coriolis Press Core Linux Kernel
commentary) to understand the differences. However, I'll summarize a
few:

1. Unix was written for the DEC PDP-7 as a simple time-sharing OS alternative
to the Multics OS. It was subsequently ported to various other platforms,
including the PDP-11, DEC VAX-11, various AT&T and NCR systems, etc.
You can get an idea of its history at the Unix history page:

http://www.levenez.com/unix

Linux, OTOH, was specifically targetted at the Intel 80386 CPU, and was
designed as a POSIX-compliant monolithic OS with support for virtual
memory. Most of the device drivers initially supported only PC/AT 
peripherals.

2. Unix did not originally have TCP/IP networking support - this work was
done at UC Berkeley and does not belong to the AT&T codebase. Linux has
had TCP/IP networking support from a very early stage in its development.

3. Linux was dependent on the GNU environment (OS, compilers, tools, etc.)
for development as well as a self-hosting platform and is still critically
dependent on it for most applications. OTOH, Unix had a pre-existing
environment that predates the GNU project.

  (In simpler terms, GNU and Linux are symbiotic; whereas proprietary
Unices have their own userland, which in some cases can be replaced by a
GNU userland).


Also I would like to know how a major number of a device file is used to 
identify a driver .

  Basically, a driver registers itself with the kernel, at initialization
time, identifying the major number it will handle. Subsequent operations
performed on that device file will result in a syscall into the kernel
which will then transfer control to that driver.
 
-Siva 

Other related posts: