Difference between revisions of "UNIX First Edition"
m (→External links: +OS source) |
(Add a decent intro and source module index) |
||
Line 1: | Line 1: | ||
{{Infobox OS | {{Infobox OS | ||
| image = v1unix.png | | image = v1unix.png | ||
− | | caption = Logging into a Unix | + | | caption = Logging into a Unix Version 1 box |
− | | name = Unix | + | | name = Unix V1 |
− | | creator = Western Electric, AT&T | + | | creator = Western Electric, AT&T |
− | | current version = SYSVr4 - | + | | previous version = [[PDP-7 UNIX|'Edition Zero']] |
+ | | current version = V1 | ||
+ | | next version = [[UNIX Second Edition|V2]] | ||
+ | | latest version = SYSVr4 - Solaris 10 (2009) | ||
| year introduced = 1972 | | year introduced = 1972 | ||
| type = Multitasking, multiuser | | type = Multitasking, multiuser | ||
− | | architecture = | + | | architecture = [[PDP-11]] |
}} | }} | ||
− | [[UNIX]]' | + | The '''UNIX First Edition''' ('''V1''') occurred when [[UNIX]] was re-written for the then-new [[PDP-11]], a 'cheap' [[minicomputer]], from the [[PDP-7]] for which it was originally written, at [[Bell Laboratories]]. (Both versions were written in [[assembly language]].) The machine purchased for the move was one of the first [[PDP-11/20]]'s built; there was no [[disk]] [[mass storage]] available from [[DEC]] for the machine when it first arrived. |
− | + | Bell Labs' management had been persuaded to buy the PDP-11 to fill a need for typesetting for the Labs' patent department. (None of the available typesetting products exactly filled the formatting requirements for patent applications; the UNIX group promised to produce something that would.) This turned out to be enough of a success, with the patent people and the researchers sharing a machine (dangerous, since the -11/20 had no hardware [[memory management]]) that a second -11/20 was purchased for the sole use of the patent department. UNIX soon spread to other groups at Bell; the Switching Control Center System group also used UNIX on an -11/20 for their early work. | |
− | + | V1 required a [[KE11-A Extended Arithmetic Element|KE11-A]] (use is made of it throughout the [[kernel]]). | |
− | + | ==Source index== | |
− | + | The following table shows what functionality is in each [[source code]] module: | |
− | + | {| class="wikitable" | |
+ | ! Module !! Functionality | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u0.s u0] || [[trap]] and [[interrupt vector]]s; initialization | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u1.s u1] || [[system call]] handling; fork; [[file]] operations | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u2.s u2] || [[directory]] operations; exec | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u3.s u3] || [[swapping]] operations | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u4.s u4] || clock; [[paper tape]] [[device driver]] | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u5.s u5] || [[file system]] | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u6.s u6] || [[input/output]] | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u7.s u7] || miscellaneous | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u8.s u8] || disk drivers; block buffer management | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/u9.s u9] || [[asynchronous serial line]] drivers | ||
+ | |- | ||
+ | | [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1/ux.s ux] || variables | ||
+ | |} | ||
− | == How do I get this to run?! == | + | This table is not to be heavily relied on, as it's not very detailed yet; e.g. [[terminal]] code is scattered through several modules. |
+ | |||
+ | ==Restoration project== | ||
+ | |||
+ | The source for has been restored by the work of Warren Toomey, Tim Newsham and others. The current project homepage is located [http://code.google.com/p/unix-jun72/ here]. | ||
+ | |||
+ | On December 2008, the project made its first release using scanned printouts as source material, a team was able to re-enter the source files, and using [[apout]] they were able to construct a system using various bits from later UNIX versions into a booting system for [[SIMH]]'s PDP-11 emulator. | ||
+ | |||
+ | ===How do I get this to run?!=== | ||
There is a packaged version that will easily install on Windows machines that can be downloaded [http://sourceforge.net/project/downloading.php?group_id=204974&filename=Research-unixv1-0.3.exe&a=25520957 here] | There is a packaged version that will easily install on Windows machines that can be downloaded [http://sourceforge.net/project/downloading.php?group_id=204974&filename=Research-unixv1-0.3.exe&a=25520957 here] | ||
Line 30: | Line 65: | ||
The current binary build can be downloaded from the [http://unix-jun72.googlecode.com/ google code] page [http://unix-jun72.googlecode.com/files/images-20080625.tgz here]. | The current binary build can be downloaded from the [http://unix-jun72.googlecode.com/ google code] page [http://unix-jun72.googlecode.com/files/images-20080625.tgz here]. | ||
− | You need a version of | + | You need a version of SIMH 3.8-1 or higher, as they will incorporate certain changes required for V1 UNIX. |
− | == What Runs? == | + | ===What Runs?=== |
Not very much! | Not very much! | ||
Line 39: | Line 74: | ||
* [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1 V1] - file tree at [[The Unix Heritage Society|TUHS]] | * [https://minnie.tuhs.org/cgi-bin/utree.pl?file=V1 V1] - file tree at [[The Unix Heritage Society|TUHS]] | ||
+ | * [https://www.tuhs.org/Archive/Distributions/Research/McIlroy_v0/UnixEditionZero.txt The UNIX Time-Sharing System] - covers the PDP-7 and earliest PDP-11 UNIX systems | ||
* [https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/ 1st Edition UNIX] - documentation | * [https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/ 1st Edition UNIX] - documentation | ||
** [https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/PreliminaryUnixImplementationDocument_Jun72.pdf UNIX Implementation Document] - contains scans of a complete listing | ** [https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/PreliminaryUnixImplementationDocument_Jun72.pdf UNIX Implementation Document] - contains scans of a complete listing | ||
Line 44: | Line 80: | ||
** [https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/1stEdman.html Unix Programmer's Manual First Edition] - overview | ** [https://www.tuhs.org/Archive/Distributions/Research/Dennis_v1/1stEdman.html Unix Programmer's Manual First Edition] - overview | ||
* [http://squoze.net/UNIX/v1man/ UNIX Programmer's Manual] - individual pages in HTML | * [http://squoze.net/UNIX/v1man/ UNIX Programmer's Manual] - individual pages in HTML | ||
+ | * [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/hist.pdf PDF]) - contains the background for the creation of V1 | ||
{{Nav Unix}} | {{Nav Unix}} | ||
Line 49: | Line 86: | ||
[[Category: PDP-11 Operating Systems]] | [[Category: PDP-11 Operating Systems]] | ||
[[Category: Non-DEC Operating Systems]] | [[Category: Non-DEC Operating Systems]] | ||
− | [[Category: Unix OS's | + | [[Category: Unix OS's] |
Revision as of 19:38, 19 May 2023
Unix V1 | |
Logging into a Unix Version 1 box | |
Type: | Multitasking, multiuser |
---|---|
Creator: | Western Electric, AT&T |
Architecture: | PDP-11 |
Previous Version: | 'Edition Zero' |
This Version: | V1 |
Next Version: | V2 |
Latest Version: | SYSVr4 - Solaris 10 (2009) |
Date Released: | 1972 |
The UNIX First Edition (V1) occurred when UNIX was re-written for the then-new PDP-11, a 'cheap' minicomputer, from the PDP-7 for which it was originally written, at Bell Laboratories. (Both versions were written in assembly language.) The machine purchased for the move was one of the first PDP-11/20's built; there was no disk mass storage available from DEC for the machine when it first arrived.
Bell Labs' management had been persuaded to buy the PDP-11 to fill a need for typesetting for the Labs' patent department. (None of the available typesetting products exactly filled the formatting requirements for patent applications; the UNIX group promised to produce something that would.) This turned out to be enough of a success, with the patent people and the researchers sharing a machine (dangerous, since the -11/20 had no hardware memory management) that a second -11/20 was purchased for the sole use of the patent department. UNIX soon spread to other groups at Bell; the Switching Control Center System group also used UNIX on an -11/20 for their early work.
V1 required a KE11-A (use is made of it throughout the kernel).
Contents
Source index
The following table shows what functionality is in each source code module:
Module | Functionality |
---|---|
u0 | trap and interrupt vectors; initialization |
u1 | system call handling; fork; file operations |
u2 | directory operations; exec |
u3 | swapping operations |
u4 | clock; paper tape device driver |
u5 | file system |
u6 | input/output |
u7 | miscellaneous |
u8 | disk drivers; block buffer management |
u9 | asynchronous serial line drivers |
ux | variables |
This table is not to be heavily relied on, as it's not very detailed yet; e.g. terminal code is scattered through several modules.
Restoration project
The source for has been restored by the work of Warren Toomey, Tim Newsham and others. The current project homepage is located here.
On December 2008, the project made its first release using scanned printouts as source material, a team was able to re-enter the source files, and using apout they were able to construct a system using various bits from later UNIX versions into a booting system for SIMH's PDP-11 emulator.
How do I get this to run?!
There is a packaged version that will easily install on Windows machines that can be downloaded here
You can find all the pieces for this below:
The current binary build can be downloaded from the google code page here.
You need a version of SIMH 3.8-1 or higher, as they will incorporate certain changes required for V1 UNIX.
What Runs?
Not very much!
External links
- V1 - file tree at TUHS
- The UNIX Time-Sharing System - covers the PDP-7 and earliest PDP-11 UNIX systems
- 1st Edition UNIX - documentation
- UNIX Implementation Document - contains scans of a complete listing
- kernel routine descriptions - handwritten!
- Unix Programmer's Manual First Edition - overview
- UNIX Programmer's Manual - individual pages in HTML
- The Evolution of the Unix Time-sharing System (PDF) - contains the background for the creation of V1
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 |