User Tools

Site Tools


systems:4th_edition

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
systems:4th_edition [2015/12/29 17:10] – created adminsystems:4th_edition [2023/10/18 17:35] (current) segaloco
Line 4: Line 4:
 **Released By:** Bell Labs Research\\ **Released By:** Bell Labs Research\\
 **Source Code: ** a kernel which predates 4th Edition is [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/nsys.tar.gz|nsys.tar.gz]] in the [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/|Unix Archive]]\\ **Source Code: ** a kernel which predates 4th Edition is [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/nsys.tar.gz|nsys.tar.gz]] in the [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v3/|Unix Archive]]\\
-**Documentation: ** [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v4/v4man.tar.gz|4th Edition man pages]], browsable in the [[http://minnie.tuhs.org/cgi-bin/utree.pl?file=V4|Unix Tree]]+**Documentation: ** [[http://www.tuhs.org/Archive/PDP-11/Distributions/research/Dennis_v4/v4man.tar.gz|4th Edition man pages]], browsable in the [[http://www.tuhs.org/cgi-bin/utree.pl?file=V4|Unix Tree]]
  
 The fourth edition of Unix was the first version to have a kernel written in a high level language, C, along with some of the commands. A full and complete copy of Fourth Edition no longer exists. We have: The fourth edition of Unix was the first version to have a kernel written in a high level language, C, along with some of the commands. A full and complete copy of Fourth Edition no longer exists. We have:
Line 14: Line 14:
  
 This is a tar archive derived from a DECtape labelled "nsys". What is contains is just the kernel source, written in the pre-K&R dialect of C. It is intended only for PDP-11/45, and has setup and memory-handling code that will not work on other models (it's missing things special to the later, smaller models, and the larger physical address space of the still later 11/70.) It appears that it is intended to be loaded into memory at physical address 0, and transferred to at location 0. This is a tar archive derived from a DECtape labelled "nsys". What is contains is just the kernel source, written in the pre-K&R dialect of C. It is intended only for PDP-11/45, and has setup and memory-handling code that will not work on other models (it's missing things special to the later, smaller models, and the larger physical address space of the still later 11/70.) It appears that it is intended to be loaded into memory at physical address 0, and transferred to at location 0.
 +
 +The Fourth Edition marks the first edition of research UNIX for which the accompanying manual is produced in NROFF rather than ROFF.  Many deprecated/retired pages can be found in the manx folder that still bear ROFF formatting.
 +
 +Among the more noticeable changes are:
 +
 +  * The filesystem has been altered to support 14 character file names (over the previous 8 characters), to support group IDs, and to support indirect blocks allowing the use of larger storage devices (e.g. RP-11 disks)
 +  * The object file loader has dropped support for V1-style a.out binaries but now supports shared text segments, and associated development tools have been modified to support this as well
 +  * The epoch is redefined in seconds instead of milliseconds and with a reference date of 1/1/1970, starting the modern UNIX epoch
 +  * The signal(II) system call is added to replace individual system calls for redirecting specific exceptions
 +  * The contents of the /sys filesystem have been merged with the /usr filesystem
 +  * Pipes have gained their familiar | syntax (along with ^), replacing the > which could be confused with output redirection
 +  * Block devices now present both buffered and raw interfaces
 +  * The init process now offloads machine-specific startup to /etc/rc rather than requiring modification for different disks and other localisms
 +
 +Other changes include:
 +  * Alteration of makdir(II) into the mknod(II) syscall
 +  * Removal of the mdate(II) and rele(II) syscalls
 +  * The stty(II) interface has been altered to be less DC-11 specific
 +  * open(II) now supports mode "2" (read/write)
 +  * nice(II) allows setting a priority (rather than dropping to a fixed one)
 +  * mount(II) expands mountable filesystem count past 4
 +  * kill(II) can now be used to send arbitrary signals, not just kill itself
 +  * stat(II) now reports if a file is a block or character special file
 +
 +  * Deprecation of applications targeting the assembly version of UNIX such as tmg(VI) and m6(VI)
 +  * Deprecation of the salloc(III) library
 +  * Removal of any remaining formal B support
 +  * Removed DECish basic(VI) in favor of bas(I)
 +  * New dump(VIII)/restor(VIII) filesystem utilities to replace old chk/salv-based approach
 +  * chdir(I) now makes mention of needing 'x' permission on directories
 +  * Group support added to file modifiers
 +  * cref(I) gains better C support
 +  * date(I) adds support for setting the year
 +  * Core files now include the per-process data at the front, not the back
 +  * login(I) now always prompts for a password as opposed to receiving it as an argument
 +  * The tty driver supports 12 terminals instead of 10
 +  * the tty driver now discards the entire buffer on overflow instead of printing '#' per overflow character
 +  * The tty driver maps uppercase to lowercase if only uppercase is used
 +  * The console driver now has greater parity with other tty drivers
 +  * 2741 terminal support appears to be on the way out
 +  * A new boot procedure is provided for the C UNIX system
 +
 +  * Section I adds catsim, comm, file, grep, merge, nice, nohup, pfe, plot, shift, sleep, tr, troff, wait
 +  * Section II adds intro, getgid, indir, setgid
 +  * Section III adds getarg, getchr, getpw, hmul, ierror, ldiv, nargs, perror, printf, putchr, reset, setfil, vt
 +  * Section IV adds cat, da, tiu, vs
 +  * Section VI adds azel, chess, cubic, maze, sfs, sky, spline, wump
 +  * Section VII adds tmheader
 +  * Section VIII adds ino, mkfs, mknod, sync, update
  
 For more information about Fourth Edition Unix, see [[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html|The Evolution of the Unix Time-sharing System]] by Dennis Ritchie. For more information about Fourth Edition Unix, see [[http://cm.bell-labs.com/cm/cs/who/dmr/hist.html|The Evolution of the Unix Time-sharing System]] by Dennis Ritchie.
  
systems/4th_edition.1451369426.txt.gz · Last modified: 2015/12/29 17:10 by admin