Difference between revisions of "UNIX"
ForOldHack (talk | contribs) (→External links: Was missing the PDF link print for which I am printing, and using.) |
|||
(50 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Infobox OS | {{Infobox OS | ||
− | | name = | + | | name = UNIX |
| creator = Ken Thompson, Dennis Ritchie and Douglas McIlroy at Bell Labs | | creator = Ken Thompson, Dennis Ritchie and Douglas McIlroy at Bell Labs | ||
| year introduced = 1969 | | year introduced = 1969 | ||
− | | architecture = Originally [[PDP-7]], then [[PDP-11]] now cross-platform. | + | | architecture = Originally [[PDP-7]], then [[PDP-11 architecture|PDP-11]]; now cross-platform. |
− | | type = Time-sharing | + | | type = [[Time-sharing]] |
− | | multitasking = | + | | multitasking = [[Multi-tasking]] with [[swapping]]/[[virtual memory|paging]] (latter added in a later version) |
}} | }} | ||
− | Unix (officially trademarked as | + | '''Unix''' (officially trademarked as '''UNIX'''® - the documentation switched from using 'UNIX' to 'Unix' as of [[Unix Seventh Edition|V7]]) is a computer [[operating system]] originally developed in the 1970s by a group of AT&T employees at Bell Labs including [[Ken Thompson]], [[Dennis Ritchie]] and [[Douglas McIlroy]]. |
− | + | It was a descendant of, and inspired by, the [[Berkeley Time-Sharing System]] (on which Thompson worked), and [[Compatible Time-Sharing System|CTSS]] and [[Multics]] (on which all of them had worked, before [[Bell Labs]] withdrew from the Multics project). | |
− | + | Today's Unix systems are split into various branches, developed over time by AT&T as well as various commercial vendors and non-profit organizations. A number of clones of Unix, which share the interfaces, and 'look and feel', but no code, have also been produced; most notably, [[Linux]]. | |
− | |||
− | |||
− | |||
− | |||
− | [http://www.netbsd.org NetBSD] will run on a variety of 32-bit older systems from the VAX to the Amiga. [http://www.openbsd.org OpenBSD] | + | ==Notable Bell versions== |
+ | |||
+ | Versions of relevance for hobbyists include the initial versions from inside Bell Labs; it later spread more widely inside the Bell system, at the same time that it was starting to appear outside. | ||
+ | |||
+ | ==='Research' versions=== | ||
+ | |||
+ | Note that 'Version' in early UNIXes refers to the revision of the 'UNIX Programmer's Manual'; UNIX didn't really have coordinated [[distro]]s before about V6: | ||
+ | |||
+ | * [[PDP-7 Unix|Unix "version 0"]] for [[PDP-7]] | ||
+ | * [[UNIX First Edition|UNIX V1]] - The first version of UNIX that has been recently made to run on the [[PDP-11]] | ||
+ | * [[UNIX Second Edition|UNIX V2]] - Unclear changes | ||
+ | * [[UNIX Third Edition|UNIX V3]] - The first version with [[pipe]]s | ||
+ | * [[UNIX Fourth Edition|UNIX V4]] - The first version with the [[kernel]] written in [[C programming language|C]] | ||
+ | * [[UNIX Fifth Edition|UNIX V5]] - The first version with complete source and binaries available | ||
+ | * [[UNIX Sixth Edition|UNIX V6]] - The first widely distributed version; the last before branches started to appear | ||
+ | * [[Unix Seventh Edition|Unix V7]] - One of the most complete, and the last generally available and [[PDP-11]] version of Research UNIX | ||
+ | * [[Unix/32V]] - A [[software port|port]] of Seventh Edition to the [[VAX-11/780]] | ||
+ | * [[Unix Eighth Edition]] - this, and later versions, never contemporaneously escaped from Bell Labs | ||
+ | * [[Unix Ninth Edition]] | ||
+ | * [[Unix Tenth Edition]] | ||
+ | |||
+ | ===Other AT&T versions=== | ||
+ | |||
+ | The rest of the Bell system, outside Bell Labs, soon found it useful, too, and a number of disparate versions, intended for different environments, appeared: | ||
+ | |||
+ | * [[CB-UNIX]] - for use in control applications, including [[real-time]] systems | ||
+ | * [[PWB/UNIX]] - used for production of other systems, in for computer center type usage | ||
+ | * [[USG UNIX]] - a version for general use inside the Bell system | ||
+ | |||
+ | [[Image:Att842unixcomp.jpg|150px|thumb|right|Unix ad]] | ||
+ | |||
+ | These were later unified, and Unix then went commercial and was sold outside AT&T, in a number of releases. (To the side is an early ad for AT&T UNIX.) | ||
+ | |||
+ | * [[UNIX System III]] | ||
+ | * [[UNIX System V]] | ||
+ | * [[Unix SYSVr2]] | ||
+ | * [[Unix SYSVr3]] | ||
+ | * [[Unix SYSVr4]] | ||
+ | |||
+ | Bell also moved UNIX to the [[IBM System/370]], as a 'supervisor' to [[user]] [[process]]es, under the [[TSS/370]] Resident Supervisor; the result, [[UNIX/370]], ran on a number of large System/370 machines at Bell. | ||
+ | |||
+ | ==Portable versions== | ||
+ | |||
+ | Fairly early on, it became obvious that UNIX, and most of its commands and subsystems, being written in [[C programming language|C]], would be [[portable]], relatively easily. | ||
+ | |||
+ | Portability was a little-recognized idea at the time; with a few exceptions (such as [[Multics]]), most operating systems were written in [[assembly language]], which tied them irretrievably to a particular [[instruction set architecture|ISA]]. Indeed, portability was not a stated goal of the UNIX project at any point; it likely became one of strengths of UNIX purely by accident. | ||
+ | |||
+ | The first two projects to move UNIX to another machine started almost simultaneously, and in ignorance of each other: one was at Bell, to move UNIX to the [[Interdata 8/32]]; the other was at the University of Wollongong, to the similar [[Interdata 7/32]]. Issues with the Interdata 8/32 prevented that project from being a success, but it produced [[Unix Seventh Edition]], the first portable version; that in turn was used for Unix/32V and UNIX/370. | ||
+ | |||
+ | ==CSRG releases== | ||
+ | |||
+ | Meanwhile the [[Computer Systems Research Group]] kept on releasing newer [[BSD]] UNIX's, mostly for the [[VAX]], derived from 32V. These had wide distribution, and tremendous impact; they were a major step in UNIX's road to its current ubiquity. | ||
+ | |||
+ | Descended from there are several popular versions: | ||
+ | |||
+ | * [http://www.freebsd.org FreeBSD] focuses on providing a system geared towards a single user. | ||
+ | * [http://www.netbsd.org NetBSD] will run on a variety of 32-bit older systems from the VAX to the [[Amiga]]. | ||
+ | * [http://www.openbsd.org OpenBSD] derived from the NetBSD project will run on all kinds of systems. | ||
+ | |||
+ | ==Further reading== | ||
+ | |||
+ | * Brian Kernighan, [https://www.amazon.com/UNIX-History-Memoir-Brian-Kernighan/dp/1695978552 UNIX: A History and a Memoir] - Kernighan's memoir of UNIX and Bell Labs | ||
+ | |||
+ | ==See also== | ||
+ | |||
+ | * [[:Category:Unix OS's|Unix OS's]] | ||
+ | * [[:Category:Unix-based OS's|Unix-based OS's]] | ||
+ | * [[UNIX file system]] | ||
+ | * [[Repairing early UNIX file systems]] | ||
+ | * [[BSD Fast File System]] | ||
+ | * [[Unix dump/restore tape format]] | ||
+ | |||
+ | ==External links== | ||
+ | |||
+ | * [https://www.tuhs.org/ The Unix Heritage Society] | ||
+ | ** [https://minnie.tuhs.org/cgi-bin/utree.pl The Unix Tree] - Complete source for many early versions of Unix | ||
+ | ** [https://www.tuhs.org/Archive/Applications/Dennis_Tapes/ Dennis Tapes] - images of some dusty [[DECtape]]s Dennis found | ||
+ | * [https://wiki.tuhs.org/doku.php?id=start The Unix Heritage Wiki] | ||
+ | * [https://www.bell-labs.com/usr/dmr/www/ Dennis M. Ritchie] - see section "Unix papers and writings, approximately chronological" | ||
+ | ** [https://www.bell-labs.com/usr/dmr/www/cacm.html The UNIX Time-Sharing System] - the slightly later [[Bell System Technical Journal|BSTJ]] version | ||
+ | *** [https://dsf.berkeley.edu/cs262/unix.pdf The UNIX Time-Sharing System] - the classic original CACM paper that ignited the spread outside Bell (PDF, but not a scan) | ||
+ | ** [https://www.bell-labs.com/usr/dmr/www/hist.html The Evolution of the Unix Time-sharing System] | ||
+ | ** [https://www.bell-labs.com/usr/dmr/www/retro.html The UNIX Time-sharing System - A Retrospective] | ||
+ | * [https://cseweb.ucsd.edu//classes/wi19/cse221-a/papers/thompson78.pdf UNIX Implementation] - a Thompson paper giving an overview of the kernel <!-- | ||
+ | https://www.singlix.com/trdos/archive/pdf_archive/thompson78unix.pdf --> | ||
+ | * [https://maibriz.de/unix/ultrix/etc/iosys.pdf The UNIX I/O System] - a Ritchie document covering part of the same ground in more detail | ||
+ | * [https://wpollock.com/Unix/UnixHistoryChart.htm The UNIX History tree (Horizontal timeline)] | ||
+ | ** [https://www.tech-insider.org/unix/research/2002/0601.html The UNIX History tree in html, with links to the principal authors] | ||
+ | ** [https://www.levenez.com/unix/unix_a4.pdf The UNIX History tree in pdf, page size A4] | ||
+ | * [http://doc.cat-v.org/unix/ The UNIX Operating System] | ||
+ | ** [http://doc.cat-v.org/unix/unix-before-berkeley/ A History of UNIX before Berkeley: UNIX Evolution: 1975-1984] | ||
+ | ** [http://doc.cat-v.org/unix/unix-reader/ A Research UNIX Reader] | ||
+ | * [https://web.archive.org/web/20221206073744/https://www.princeton.edu/~hos/Mahoney/unixhistory An Oral History of Unix] - Lengthy interviews with Thompson, Ritchie, McIlroy, etc<!-- | ||
+ | http://doc.cat-v.org/unix/oral-history/ alt copy --> | ||
+ | * [http://squoze.net/UNIX/bltj/ bltj] - the second [[Bell System Technical Journal|BSTJ]] issue on UNIX | ||
+ | ** [http://squoze.net/UNIX/bltj/06771906.pdf The UNIX System: Preface] | ||
+ | ** [http://squoze.net/UNIX/bltj/06771907.pdf The UNIX System: Foreword] | ||
+ | ** [http://squoze.net/UNIX/bltj/06771916.pdf Multiprocessor UNIX Operating Systems] | ||
+ | ** [http://squoze.net/UNIX/bltj/06771919.pdf The Evolution of UNIX System Performance] | ||
+ | ** [http://squoze.net/UNIX/bltj/06771925.pdf A Stream Input-Output System] | ||
+ | * [https://www.bell-labs.com/usr/dmr/www/portpapers.html Papers about Unix Portability] | ||
+ | ** [https://www.bell-labs.com/usr/dmr/www/portpap.html Portability of C Programs and the UNIX System] - the 8/32 port | ||
+ | * [https://arstechnica.com/tech-policy/2011/07/should-we-thank-for-feds-for-the-success-of-unix/ The Unix revolution—thank you, Uncle Sam?] | ||
+ | * [http://www.columbia.edu/~rh120/ch106.x09 On the Early History and Impact of Unix: Tools to Build the Tools for a New Millenium] <!-- also https://cscie26.dce.harvard.edu/~dce-lib113/reference/unix/unix2.html http://www.columbia.edu/~hauben/book-pdf/CHAPTER%209.pdf --> | ||
+ | * [https://www.abortretry.fail/p/the-berkley-software-distribution The Berkeley Software Distribution] - covers the early period, too | ||
+ | * [https://akapugsblog.files.wordpress.com/2018/05/inter-unix_portability.pdf Inter-UNIX Portability] - mostly about the commands | ||
+ | * [https://www.usenix.org/legacy/events/usenix09/tech/full_papers/toomey/toomey.pdf The Restoration of Early UNIX Artifacts] <!-- | ||
+ | https://www.singlix.com/trdos/archive/pdf_archive/toomey.pdf --> | ||
+ | * [https://multicians.org/unix.html Unix and Multics] | ||
+ | |||
+ | ===Fun links=== | ||
+ | |||
+ | * [http://vrici.lojban.org/~cowan/upc/ The Unix Power Classic: A book about the Unix Way and its power] - Hacker-oriented version of the Dao De Jing | ||
+ | * [http://www.catb.org/~esr/writings/unix-koans/ Rootless Root: The Unix Koans of Master Foo] | ||
{{Nav Unix}} | {{Nav Unix}} | ||
+ | |||
+ | [[Category: Operating Systems]] | ||
+ | [[Category: UNIX]] |
Latest revision as of 19:32, 31 July 2024
UNIX | |
Type: | Time-sharing |
---|---|
Creator: | Ken Thompson, Dennis Ritchie and Douglas McIlroy at Bell Labs |
Multitasking: | Multi-tasking with swapping/paging (latter added in a later version) |
Architecture: | Originally PDP-7, then PDP-11; now cross-platform. |
Date Released: | 1969 |
Unix (officially trademarked as UNIX® - the documentation switched from using 'UNIX' to 'Unix' as of V7) is a computer operating system originally developed in the 1970s by a group of AT&T employees at Bell Labs including Ken Thompson, Dennis Ritchie and Douglas McIlroy.
It was a descendant of, and inspired by, the Berkeley Time-Sharing System (on which Thompson worked), and CTSS and Multics (on which all of them had worked, before Bell Labs withdrew from the Multics project).
Today's Unix systems are split into various branches, developed over time by AT&T as well as various commercial vendors and non-profit organizations. A number of clones of Unix, which share the interfaces, and 'look and feel', but no code, have also been produced; most notably, Linux.
Contents
Notable Bell versions
Versions of relevance for hobbyists include the initial versions from inside Bell Labs; it later spread more widely inside the Bell system, at the same time that it was starting to appear outside.
'Research' versions
Note that 'Version' in early UNIXes refers to the revision of the 'UNIX Programmer's Manual'; UNIX didn't really have coordinated distros before about V6:
- Unix "version 0" for PDP-7
- UNIX V1 - The first version of UNIX that has been recently made to run on the PDP-11
- UNIX V2 - Unclear changes
- UNIX V3 - The first version with pipes
- UNIX V4 - The first version with the kernel written in C
- UNIX V5 - The first version with complete source and binaries available
- UNIX V6 - The first widely distributed version; the last before branches started to appear
- Unix V7 - One of the most complete, and the last generally available and PDP-11 version of Research UNIX
- Unix/32V - A port of Seventh Edition to the VAX-11/780
- Unix Eighth Edition - this, and later versions, never contemporaneously escaped from Bell Labs
- Unix Ninth Edition
- Unix Tenth Edition
Other AT&T versions
The rest of the Bell system, outside Bell Labs, soon found it useful, too, and a number of disparate versions, intended for different environments, appeared:
- CB-UNIX - for use in control applications, including real-time systems
- PWB/UNIX - used for production of other systems, in for computer center type usage
- USG UNIX - a version for general use inside the Bell system
These were later unified, and Unix then went commercial and was sold outside AT&T, in a number of releases. (To the side is an early ad for AT&T UNIX.)
Bell also moved UNIX to the IBM System/370, as a 'supervisor' to user processes, under the TSS/370 Resident Supervisor; the result, UNIX/370, ran on a number of large System/370 machines at Bell.
Portable versions
Fairly early on, it became obvious that UNIX, and most of its commands and subsystems, being written in C, would be portable, relatively easily.
Portability was a little-recognized idea at the time; with a few exceptions (such as Multics), most operating systems were written in assembly language, which tied them irretrievably to a particular ISA. Indeed, portability was not a stated goal of the UNIX project at any point; it likely became one of strengths of UNIX purely by accident.
The first two projects to move UNIX to another machine started almost simultaneously, and in ignorance of each other: one was at Bell, to move UNIX to the Interdata 8/32; the other was at the University of Wollongong, to the similar Interdata 7/32. Issues with the Interdata 8/32 prevented that project from being a success, but it produced Unix Seventh Edition, the first portable version; that in turn was used for Unix/32V and UNIX/370.
CSRG releases
Meanwhile the Computer Systems Research Group kept on releasing newer BSD UNIX's, mostly for the VAX, derived from 32V. These had wide distribution, and tremendous impact; they were a major step in UNIX's road to its current ubiquity.
Descended from there are several popular versions:
- FreeBSD focuses on providing a system geared towards a single user.
- NetBSD will run on a variety of 32-bit older systems from the VAX to the Amiga.
- OpenBSD derived from the NetBSD project will run on all kinds of systems.
Further reading
- Brian Kernighan, UNIX: A History and a Memoir - Kernighan's memoir of UNIX and Bell Labs
See also
- Unix OS's
- Unix-based OS's
- UNIX file system
- Repairing early UNIX file systems
- BSD Fast File System
- Unix dump/restore tape format
External links
- The Unix Heritage Society
- The Unix Tree - Complete source for many early versions of Unix
- Dennis Tapes - images of some dusty DECtapes Dennis found
- The Unix Heritage Wiki
- Dennis M. Ritchie - see section "Unix papers and writings, approximately chronological"
- The UNIX Time-Sharing System - the slightly later BSTJ version
- The UNIX Time-Sharing System - the classic original CACM paper that ignited the spread outside Bell (PDF, but not a scan)
- The Evolution of the Unix Time-sharing System
- The UNIX Time-sharing System - A Retrospective
- The UNIX Time-Sharing System - the slightly later BSTJ version
- UNIX Implementation - a Thompson paper giving an overview of the kernel
- The UNIX I/O System - a Ritchie document covering part of the same ground in more detail
- The UNIX History tree (Horizontal timeline)
- The UNIX Operating System
- An Oral History of Unix - Lengthy interviews with Thompson, Ritchie, McIlroy, etc
- bltj - the second BSTJ issue on UNIX
- Papers about Unix Portability
- Portability of C Programs and the UNIX System - the 8/32 port
- The Unix revolution—thank you, Uncle Sam?
- On the Early History and Impact of Unix: Tools to Build the Tools for a New Millenium
- The Berkeley Software Distribution - covers the early period, too
- Inter-UNIX Portability - mostly about the commands
- The Restoration of Early UNIX Artifacts
- Unix and Multics
Fun links
- The Unix Power Classic: A book about the Unix Way and its power - Hacker-oriented version of the Dao De Jing
- Rootless Root: The Unix Koans of Master Foo
v • d • e UNIX Versions, Vendors and Related |
---|
Research Unix PDP-7 UNIX • V1 • V2 • V3 • V4 • V5 • V6 • V7 • V8 • V9 • V10 • LSX • MINI-UNIX • Unix/32V
AT&T - CB-UNIX • PWB/UNIX • USG UNIX • System III • System IV • System V BSD - 2.9 BSD • 2.10 BSD • 2.11 BSD • 3BSD • 4BSD • 4.1 BSD • 4.2 BSD • 4.3 BSD • 4.4 BSD BSD Descendants 386BSD • NetBSD • FreeBSD • OpenBSD • NeXTSTEP • Darwin |
Other - xv6 • AMIX • SunOS • Solaris • ULTRIX • A/UX • XENIX • AIX • Dell UNIX |