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 revisionBoth sides next revision
systems:4th_edition [2023/02/16 08:05] adminsystems:4th_edition [2023/06/01 05:47] – Add changelog segaloco
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.
 +
 +Changes include:
 +
 +  * Epoch is redefined as seconds from 1/1/1970 instead of ms from 1/1/1972
 +  * Addition of the signal(II) syscall, deprecating cemt, fpe, ilgins, intr, and quit syscalls for specific signals
 +  * 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
 +  * exec(II) drops support for V1 a.out files
 +
 +  * 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
 +  * Adds support for shared text segments
 +  * login(I) now always prompts for a password as opposed to receiving it as an argument
 +  * Manpages have been moved from /sys/man to /usr/man
 +  * Sources have been moved from /sys/sys to /usr/sys
 +  * Supports using | or ^ as pipe instead of >
 +  * 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
 +  * Block devices now present a raw interface and buffered access
 +  * Filesystem filenames (as opposed to ar(I) filenames) are extended to 14 characters
 +  * Filesystem objects (as opposed to ar(I) objects) now support group bits
 +  * In both above cases, ar(I) is *not* updated to support these
 +  * Indirect blocks are added to support larger filesystems (e.g. RP disks)
 +  * 2741 terminal support appears to be on the way out
 +  * The init system now utilizes /etc/rc for operations such as mounting disks (rather than filesystems being hard-coded into init)
 +  * 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.txt · Last modified: 2023/10/18 17:35 by segaloco