Main Unix flavors.

Main Unix flavors.

The following is very much an early '90s view.

Until recently, there were basically two main flavors of Unix:
System V (five) from AT&T, and the Berkeley Software Distribution
(BSD). SVR4 is essentially a merge of these two flavors. End
'91, OSF/1 from the Open Software Foundation was released (as a
direct competitor to System V) and may (future will tell) change
this picture.

The following lists the main releases and features of System V,
BSD and OSF/1.

System V from AT&T. Typical of Intel hardware. Most often
ported Unix, typically with BSD enhancements (csh, job
control, termcap, curses, vi, symbolic links). System V
evolution is now overseen by Unix International (UI). UI
members include AT&T, Sun, ....
Newsgroup: comp.unix.sysv[23]86. Main releases:

- System III (1982): first commercial Unix from AT&T
- FIFOs (named pipes) (later?)

- System V (1983):
- IPC package (shm, msg, sem)

- SVR2 (1984):
- shell functions (sh)
- SVID (System V Interface Definition)

- SVR3 (1986) for ? platforms:
- STREAMS (inspired by V8), poll(), TLI (network software)
- RFS
- shared libs
- SVID 2
- demand paging (if hardware supports)

- SVR3.2:
- merge with Xenix (Intel 80386)
- networking

- SVR4 (1988), mainstream of Unix implementations, merge of
System V, BSD, and SunOS.
- From SVR3: sysadmin, terminal I/F, printer (from BSD?),
RFS, STREAMS, uucp
- From BSD: FFS, TCP/IP, sockets, select(), csh
- From SunOS: NFS, OpenLook GUI, X11/NeWS, virtual memory
subsystem with memory-mapped files, shared libraries
(!= SVR3 ones?)
- ksh
- ANSI C
- Internationalization (8-bit clean)
- ABI (Application Binary Interface -- routines instead of traps)
- POSIX, X/Open, SVID3

- SVR4.1
- async I/O (from SunOS?)

- SVR4.2 (based on SVR4.1ES)
- Veritas FS, ACLs
- Dynamically loadable kernel modules

- Future:
- SVR4 MP (multiprocessor)
- Use of Chorus microkernel?

Berkeley Software Distribution (BSD). Typical of VAXen, RISCs,
many workstations. More dynamic, research versions now than
System V. BSD is responsible for much of the popularity of
Unix. Most enhancements to Unix started here. The group
responsible at UCB (University of California at Berkeley) is
the Computer System Research Group (CSRG). They closed down
in 1992. Newsgroup: comp.unix.bsd. Main releases:

(much reorganized wrt dates and releases, hope it's converging)

- 2.xBSD (1978) for PDP-11, still of significance? (2.11BSD
was released in 1992!).
- csh

- 3BSD (1978):
- virtual memory

- 4.?BSD:
- termcap, curses
- vi

- 4.0BSD (1980):

- 4.1BSD (?): base of later AT&T CRG versions
- job control
- automatic kernel config
- vfork()

- 4.2BSD (1983):
- TCP/IP, sockets, ethernet
- UFS: long file names, symbolic links
- new reliable signals (4.1 reliable signals now in SVR3)
- select()

- 4.3BSD (1986) for VAX, ?:
- 4.3 Tahoe (1988): 4.3BSD with sources, support for Tahoe
(32-bit supermini)
- Fat FFS
- New TCP algorithms
- 4.3 Reno (1990) for VAX, Tahoe, HP 9000/300:
- most of P1003.1
- NFS (from Sun)
- MFS (memory file system)
- OSI: TP4, CLNP, ISODE's FTAM, VT and X.500; SLIP
- Kerberos

- Net1 (?) and Net2 (June 1991) tapes: that portion of BSD which
requires no USL copyright

- 4.4BSD (alpha June 1992) for HP 9000/300, Sparc, 386, DEC, others;
neither VAX nor Tahoe; two versions, lite (~Net2 contents plus,
fixes and new architectures) and encumbered (everything, requires
USL license):
- new virtual memory system (VMS) based on Mach 2.5
- virtual filesystem interface, log-structured filesystem, size
of local filesystem up to 2^63, NFS (freely redistributable,
works with Sun's, over UDP or TCP)
- ISO/OSI networking support (based on ISODE): TP4/CLNP/802.3 and
TP0/CONS/X.25, session and above in user space; FTAM, VT, X.500.
- most of POSIX.1 (esp. new terminal driver a la SV), much of
POSIX.2, improved job control; ANSI C headers
- Kerberos integrated with much of the system (incl. NFS)
- TCP/IP enhancements (incl. header prediction, SLIP)
- important kernel changes (new system call convention, ...)
- other improvements: FIFOs, byte-range file locking
Official 4.4BSD release was expected within 6 months of above.

The Open Software Foundation (OSF) released its Unix called OSF/1
end of 1991. Still requires an SVR2 license.
Compatible/compliant with SVID 2 (and 3 coming), POSIX,
X/Open, etc.. OSF members include Apollo, Dec, HP, IBM, ....

- OSF/1 (1991):
- based on Mach 2.5 kernel
- symmetric multiprocessing, parallelized kernel, threads
- logical volumes, disk mirroring, UFS (native), S5 FS, NFS
- enhanced security (B1 with some B2, B3; or C2), 4.3BSD admin
- STREAMS, TLI/XTI, sockets
- shared libs, dynamic loader (incl. kernel)
- Motif GUI

- Release 1.3 (Jun 94)
- Based on MACH 3.0 Micro-kernel
- Conformant with current draft of Specification 1170
(considered for standardization in X/Open's Fast Track process)
- Data Capture I/F, Common Data Link I/F,
- ISO 10646 and 64-bit support.
- OSF/1 MK (mikrokernel) based on Mach 3.0

This list of major flavors should probably also include Xenix
(Microsoft) which has been the basis for many ports. Derived from V7,
S III and finally System V, it is similar externally but significantly
changed internally (performance-tuned for micros).


Two very good books describe the internals of the two main flavors.
These are:
- System V: "Design of the Unix Operating System", M.J. Bach.
- BSD: "Design and Implementation of the 4.3BSD Unix Operating System",
Leffler, McKusick, Karels, Quaterman.
For a good introduction to OSF/1 (not quite as technical as the
previous two), see: "Guide to OSF/1, A Technical Synopsis",
published by O'Reilly. On SunOS, "Virtual Memory Architecture in
SunOS" and "Shared Libraries in SunOS" in Summer 1989 USENIX
Proceedings.

A good set of articles on where Unix is going is "Unix Variants"
in the Apr 92 issue of Unix Review. Other good sources of
information include the bsd-faq file, and many of the newsgroups
mentioned in the text.



Home FAQ