User Tools

Site Tools


systems:4th_edition

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
systems:4th_edition [2023/02/16 08:05] adminsystems:4th_edition [2026/04/30 10:06] (current) segaloco
Line 3: Line 3:
 **Release Date:** November 1973\\ **Release Date:** November 1973\\
 **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: ** [[https://www.tuhs.org/Archive/Distributions/Research/Utah_v4/unix_v4.tar|unix_v4.tar]] in the [[https://www.tuhs.org/Archive/Distributions/Research/Utah_v4/|Unix Archive]], browsable in the [[https://www.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]]+**Documentation: ** [[https://www.tuhs.org/Archive/Distributions/Research/Dennis_v4/v4man.tar.gz|4th Edition man pages]], browsable in the [[https://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 existsWe 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 late snapshot of the Fourth Edition has been recovered [[https://www.tuhs.org/Archive/Distributions/Research/Utah_v4/|here]].  Along with this, we have:
  
   * The manuals for Fourth Edition in machine-readable format, and   * The manuals for Fourth Edition in machine-readable format, and
Line 13: Line 13:
 The "nsys" kernel was donated by Dennis Ritchie. This is a version of the kernel quite close to that released in Fourth Edition, but without pipes. Dennis Ritchie writes: The "nsys" kernel was donated by Dennis Ritchie. This is a version of the kernel quite close to that released in Fourth Edition, but without pipes. Dennis Ritchie writes:
  
-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.+[[https://www.tuhs.org/Archive/Distributions/Research/Dennis_v3/nsys.tar.gz|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.
  
-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.+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 directory 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 [[https://www.nokia.com/bell-labs/about/dennis-m-ritchie/hist.html|The Evolution of the Unix Time-sharing System]] by Dennis Ritchie.
  
systems/4th_edition.1676495129.txt.gz · Last modified: by admin