Unix, Linux and BSD History


Thanks to Dave Tyson oc Computer Services at Liverpool University for these words.


The Beginnings of Unix

Dave Tyson writes:

	2) The beginnings of Unix
	-------------------------
	
	1969 - Version 1 - Thomson & Richie

	Thomson & Richie worked at AT&T Bell Labs - a research environment. 
	The labs had worked on multics a large and unsuccessful timesharing
	system. Both fed up with it and decided to write a simple O/S to run
	games/space claculations on a spare PDP-7. Called the O/S unics later
	changed to unix to fit in two words 

	1972 - Versions 2/3/4 - The move to C

	unix ported to a PDP-11 and some text processing programs written
	(runoff). Started to be used for internal documentation and eventually
	became a semi-offical project. The labs were also doing work on a new
	language called C (a varient B itself derived from BCPL) and so the
	second edition was written in C. Work progressed thru third and fourth 
 	editions adding extra features e.g. pipes etc.

	1975 - Versions 5/6 distributed
 	
	The 'sixth' edition was widely circulated to universities for the cost
	of the media and under a license agreement. 

	1977 - BSD version born

	Berkeley took the version 6 code and started adding additional features
	which were maed available to other holders of a unix license

	1980 - Commerical Licensing 

	Several bits of application software, e.g Programmers workbench were
	added and at this point AT&T was split up and what became USL produced
	version seven - marketed commercially at $20000 for a single user
	license with a further $8000 per extra user. Universities still got it
	at cost. Version seven was designed to be truely portable and ran on
	PDP-11, interdata and VAX (32bit) systems
 
	1983 - System V appears

	USL continue to develop unix and write their own proprietry networking
	code - system V Transport Layer. This is used as a base by several
	manufacturers and eventually supercedes the BSD code base.


The Berkeley Distribution

Dave Tyson writes:

	3) The Berkeley Distribution
	----------------------------

	Berkeley Computer Science Department

	A group of individuals who saw the unix O/S as a solution to all
	their problems. Current proprietry O/S could not support the number
	of users on the systems they had and were expensive. Unix was free
	and could be modified. Countless students could develop software
	for it as part of their B.Sc/M.Sc/Ph.D dissertations.

	Development of the early versions

	1977 - Berkeley released 1BSD - added extra functionality to unix in
	the form of vi/ex editor and pascal language - distributed the mods
	freely to anyone who had a license - 1BSD/2BSD ran on PDP-11 and code
	evolved with bits of version seven into 3BSD which ran on vaxes and
	added virtual memory. 

	1986  4.3BSD released

	Further improvements and a contract from DARPA led to the addition of
	networking and the 4BSD developments - 4.1BSD/4.2BSD/4.3BSD (1986).
	Each release included more device drivers and further refinement of
	the internal structures and performance. The 4.1BSD release was taken
	by Bill Joy and formed the basis of SunOS. This tracked all the new
	BSD releases up to 4.3BSD. Futher development led to the Tahoe release
        followed by Reno release. At this point the source code only contained
	5-10% of the original AT&T code.

	1990 Net/2 Release distributed

	Berkeley released all their source code as the Net/2 release. This was
	freely available as it was reputed not to contain any AT&T code and so
	a license was not required - Berkeley continued to develop BSD and 
	released 4.4BSD in early 1994.

	Several people decided to write the missing code from scratch,
	Bill Jolitz ported the net/2 code to the PC to produce 386BSD and
	Berkeley Software design used this in conjuction with their own code
	to produce a commercial product BSDI Unix.

	1992 AT&T lawsuit started 

	AT&T took a dim view of these unix clones and took Berkeley and 
	BSDI to court in 1992. The case dragged on and USL were taken over
	by Novell. By 1994 it was settled - the NET/2 release had to be
	withdrawn - but 4.4BSD could be freely distributed - less a few
	files. 

	1994 4.4BSD-lite released

	Once this was out the CSD department shutdown their development
	permanently. A few of the main developers had already moved to
	BSDI.


Minix


Dave Tyson writes:

	4) Andy Tanenbaum and Minix
	---------------------------

	Andy Tanenbaum was a lecturer in computer science in Holland. Used
	to teach modern operating systems course. The course notes
	eventually evolved into a book. He wanted to encourage practical
	experimentation and so wrote a unix-like O/S to run on the IBM PC

	The book, Operating Systems: Design and Implementation came out in
	1987. With the book came a few floppy disks which could be loaded 
	on a PC (8088 ->) and gave the user a unix like OS complete with a
	compiler and libaries etc. Minix was supplied in source form,
	but the copyright is held by the publishers, Prentice-Hall. The
	idea of minix was to make it portable to a wide range of systems
	but it had to run on simple ones as well. This was somewhat 
	self defeating and limited its scope. The initial version has
	been changed over the years and the latest edition of the book
	comes with a CDROM of Minix 2.0. This is quite advanced and has
	TCP/IP networking and up to 3 simultaneous users per machine !!!


Linux


Dave Tyson writes:

	5) Linus Thorvalds and Linux
	----------------------------

	mid 1991 - work to enhance minux O/S

	Linus was a Computer Science student at Finland who wanted to
	teach himself about the 386 chip and its capabilities. He wanted
	to investigate multitasking. The original Linux was just a program
	which ran under minix and switched between two tasks. One printed
	AAAA and the other BBBB. Linus decided that minix was too restictive
	as it was designed to run on very simple systems (8088) and this
	limited its scope. He set about writing Linux from scratch using
	parts of minux as a guide, the new operating system was to comply
	with Posix as far as possible.

	Oct 1991 Linux 0.02 released

	The was the first release which really ran sucessfully on a 386
	based P.C. It had no floppy disk support, no virtual memory and 
	needed minux to compile it. Development continued and by December
	Linux booted up to the BASH shell. Several people were working on
	scsi support. The O/S had a license which stated that it was free
	and no money could swap hands for it except media costs. Floppy
	support was added and minux was no longer needed to boot it.

	1992 kernel/utilities working - GNU license

	Further developments were covered by the GNU public license and
	the pace of development increased. Support for lots of new devices
	appeared, X was ported to it and several distributions appeared.
	The Manchester Computer Centre and Slackware distributions 
	proved popular. Linux packaged in lots of ways now: redhat, caldera
	debian,infomagic, turbo, redhat.... Each comes with pre-packaged 
	software e.g: X, editors etc and a slightly different installation
	scheme.

	1994 code freeze of version 1.0

	This was announced so that a version could be released with most
	of the bugs fixed. Linus decreed that even sub releases would be 
	stable (1.0.?) and odd sub-releases development (bleeding edge,
	1.1.?). Popularity increased. Comes with its own bootstrap manager
	LILO. Occupies two logical DOS partition (out of 4), one for main
	linux area, other for swap

	O/S ported to SPARC/MIPS

	As well as the PC base Linux has been ported to the SPARC and
	MIPS architectures. These developments have bee merged into the
	LINUX source tree. Linux Developers have been given unprecedented
	access to hardware and documentation by SUN and SGI.

	Current stable release 2.0.?

	This is the current recommended release base. All the networking
	bugs are reputed to be fixed in these releases.

	Linux Documentation Project

	Virtually everything is documented. Lots of HowTo documents tell
	you how to do simple and complex tasks. Linux can be installed by
	a unix neophyte.


The BSD Operating Systems


Dave Tyson writes:

	6) 386BSD and Bill Jolitz
	
	Bill Jolitz released 386BSD 0.0 in June 1992. This release was
	very flaky and hardily useable. By July 1992 release 0.1 was
	available. This ran on a standard 386 PC with > 2m of ram, 40M
	disk. It supported the main PC harddisks (MFM, ESDI, RLL, IDE),
	floppy drives, some ethernet cards, com ports and most displays.
	There was some support for SCSI devices.

	Occupies one primary partition only, with is nice if you want
	to have several other O/S. Have to use a separate boot manager
	to allow multiple booting of DOS and NetBSD. 386BSD came on a LOT
	of floppy disks: 33 for the base, 2 for the primary bootstrap and
	a further 13 if you wanted the source code !! Very nasty if the
	NetBSD partition is not labelled x'A5'

	Of course there were bugs and some patches appeared thick and
	fast. Bill Jolitz seemed to give up at this point and so a few
	hackers (Terry Lambert et al) produced a patch kit and software
	to install patches. Bill promised a new release with all bugs
	fixed all, all devices supported and fully documented in a 
	forthcoming book. After a wait of 6 months no-one believed him and
	a few hackers in Berkeley decided to develop the system further.
	Out of this came NetBSD 0.8. This was followed by 0.9.

	And then there were two...

	Some of the NetBSD team decided that the OS should be ported to
	other hardware in the spirit of 4.3BSD. They set about splitting
	Bill Jolitz code to produce machine dependant and independant bits.
	This annoyed some other members of the team as they wanted to 
	intergrate some of the latest PC hardware and a rift developed.
	As a result the FreeBSD operating system was born and its purpose
	in life was to be 'The best PD unix on PC'S'. FreeBSD 1.0 was
	released in Oct 1993.

	And then there were three...

	A rift in the personalities of the NetBSD core team led to the
	huffy withdrawl of Theo de Raadt. He setup OpenBSD to compete
	directly against NetBSD.



About this document:

Produced from the SGML: /home/isd/public_html/_linux/_reml_grp/unix_history.reml_lib
On: 21/11/2002 at 13:56:43
Options: reml2 -i noindex -l long -o html -p multiple