IMD 1.17: 17/11/2010 7:14:43 /minidoc (original Mini-UNIX doc.)  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  D&%$#"!      L  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeQ+Q* Q*Q* WUQ*Q*Q*Q*Q*Q*Q*Q*Q*Q*Q*Q*FQ*Q*Q*Q*Q*Q*2 Q*Q*W}~Q*Q*K|Q*Q* wxyz{Q*Q*rQ*Q*hQ*Q*E Z[\]^_Q*Q*XYQ*Q*'QQ*Q*HQ*Q*`-8Q*Q*{ &Q*Q*hQ*Q*mQ*Q*@Q*Q* ixth Edition \02. The UNIX Time-Sharing System \03. C Reference Manual \04. Programming in C \- A Tutorial \05. UNIX Assembler RM\s8INI-\s10U\s8NIX\s10 Summary'' .sp .ev .. .sp 2 .ce \s12M\s10INI-\s12U\s10NIX\s12 Summary\s10 .sp2 .de h0 .de h1 .ti 0 \\$1 \eference Manual \06. A Tutorial Introduction to the UNIX Text Editor \07. UNIX for Beginners \08. RATFOR \- A Preprocessor for a\.. .h2 .. .wh 0 hd .wh -7 fo .de h2 .sp .ft B .ne 4 .h1 .ft R .. .br .de fo .ev 2 .sp 2 .tl ''%'' 'bp .ev .. .if n .ds lq "" .i Rational Fortran \09. YACC \- Yet Another Compiler-Compiler 10. NROFF Users' Manual 11. The UNIX I/O System 12. A Manual for thf t .ds lq `` .if n .ds rq "" .if t .ds rq '' .nr a 0 1 .nr b 0 1 .nr c 0 1 .if n .ds sm - .if t .ds sm \(bu e Tmg Compiler-writing Language 13. On the Security of UNIX 14. The M6 Macro Processor 15. A System for Typesetting Mathematics 16. DC \- An Interactive Desk Calculator 17. BC \- An Arbitrary Precision Desk-Calculator Language 18. The Portable C Library (.h0 "A. Hardware" .in0 .sp M\s8INI-\s10U\s8NIX\s10 runs on a DEC PDP11/10, 11/20 or 11/40 with at least the following equipmenton UNIX) 19. MINI-UNIX Summary 20. Regenerating System Software : .in+5 .nf 28K words of memory: parity not used, disk: RK05(preferably 2) or equivalent, console typewriter, clock: KW11-L or K...ecoverdhel0chel1bhel2ahel3`hel4_hel5^memo1]memo2\memo3[memo4Zmemo5Ymemo6Xmemo7WmxVread_meUregen0Tregen1SshcRshhQshmPshrOshsNstart.hy 9 .de sh .sp .ne2 .mk .in 7 .ti -7 .if n \\$1 .if t \(sq \\$1 .br .br .rt .. .de ss .if n $\\ns .if t .s0 .nr s 0 .. .de s0 .nf .sp 4.5i .ps 12 .ft B .vs 14p .ce 100 DOCUMENTS FOR USE WITH THE MINI-UNIX TIME-SHARING SYSTEM .sp .ps 11 .ft I Sixth Editio.if !\\ns+100 $\l'.3i' .if \\ns+100 .if !\\ns-10 N. C. .if \\ns-10 .s1 .. .de s1 .nr s \\ns+9/10 .if !\\ns-10 .s2 .if \\ns-10 .sn .sp 2i .ps 10 .vs 12p .ft R The enclosed MINI-UNIX documentation is supplied in accordance with the Software Agreement you hav3 .. .de s2 $\\ns .. .de s3 .nr s \\ns+4/5*5 $\\ns .. .de sz .nr s +0\\$2 .if !0\\$2 .nr s 0-10000 .. .de op .br .if t .in 7+\w'e with the Western Electric Company. .ce 0 .ce .bp .sp 2i .ft B CONTENTS .sp .ft R .in 1i .vs 20p \01. Setting Up MINI-UNIX \- S\(bu 'u .if n .in 7+2 .if n .ti -2 .if t .ti -\w'\(bu 'u .if t .ta \w'\(bu 'u .if n .ta 2 \\*(sm\t\c .. .de hd .ev 1 .sp2 .tl '' ified complements of devices, or large programs. M\s8INI-\s10U\s8NIX\s10 does swapping to provide multi-programming support. Thities, a machine language assembler and a compiler for the programming language C\(emenough software to write and run new applie resident code of M\s8INI-\s10U\s8NIX\s10 occupies 12-16K depending on configuration. The system as distributed occupies 12K wocations and to maintain or modify M\s8INI-\s10U\s8NIX\s10 itself. .h0 "\na.\n+b Operating System" .sh MINI-UNIX The basic residerds of memory, allowing 16K words of memory for the user programs. Some editing of source code is required to add new disk, tapent code on which everything else depends. Supports the system calls, and maintains the file system. A general description of U\s or communication device drivers, as the system size will likely expand beyond 12K words. Keep in mind that the C compiler requi8NIX\s10 design philosophy and system facilities appeared in the Communications of the ACM, July, 1974. The following capabilitires a minimum of 12K words of memory to run. .sp An 11/10, 11/20 or 11/40 is not advisable for heavy floating point work, as M\ses are .ul not included in M\s8INI-\s10U\s8NIX\s10: .op Separate instruction and data spaces on 11/45 and 11/70. .op ``Group'' a8INI-\s10U\s8NIX\s10 on this hardware uses interpreted 11/45 floating point. .h0 "B. Software" .sp All the programs available asccess permissions for cooperative projects, with overlapping memberships. .op Timer-interrupt sampling and interprocess monitori M\s8INI-\s10U\s8NIX\s10 commands are listed. Every command, including all options, is issued as just one line, unless specificang for debugging and measurement. .op Unbuffered physical record I/O. .sh Manual Printed manuals for M\s8INI-\s10U\s8NIX\s10 andlly noted as \*(lqinteractive\*(rq. Interactive programs can be made to run from a prepared script simply by redirecting input.  all its software, except where other manuals exist. .op U\s8NIX\s10 Programmer's Manual. .op The U\s8NIX\s10 Time-Sharing Syste.sp File processing commands that go from standard input to standard output are noted as usable as filters. The piping facility m, reprint setting forth design principles. .op U\s8NIX\s10 for Beginners. .op The U\s8NIX\s10 I-O System. .op On the Security oW11-P, .in -5 .fi The system is normally distributed on 9-track tape or RK05 packs. .br The following equipment may be supportedof the Shell may be used to connect filters directly to the input or output of other programs. Note: pipes are not supported in : .in +5 .nf communications controllers such as DL11, DC11 or DH11, full duplex 96-character ASCII terminals, RP03, RP04 disks, the system as in standard U\s8NIX\s10. However "pseudo-pipes" are supported in the Shell to enable using commands as filters. .9-track tape, or extra disk for system backup. .in-5 .fi The memory and disk space specified is enough to run and maintain M\s8Isp Normally the software listed in Section 6, ``Typesetting,'' is distributed only to educational institutions. Source code is iNI-\s10U\s8NIX\s10. More will be needed to keep all source on line, or to handle a large number of users, big data bases, diversncluded except as noted. .h0 "\n+a Basic Software" .nr b 0 .sp This package includes the time-sharing operating system with util nsparent and exploits the hardware's ability to do overlapped I/O. .op Asynchronous interfaces: DC11, DH11, DL11. Support for mo28K words of memory and either clock.) .sh Manual Printed manual on setting up M\s8INI-\s10U\s8NIX\s10. st common ASCII terminals. .op Synchronous interface: DP11. .op Automatic calling unit interface: DN11. .op Line printer: LP11. .op Magnetic tape: TU10 and TU16. .op DECtape*: TC11. .op Paper tape: PC11. .op Fixed head disk: RS11, RS03 and RS04. .op Pack t.h0 "\na.\n+b User Access Control" .sh LOGIN Sign on as a new user. .op Verify password and establish user's individual and group (project) identity. .op Adapt to characteristics of terminal. .op Establish working directory. .op Announce presence of mail (from MAIL). .op Publish message of the day. .op Start command interpreter or other initial program. .sh PASSWD Change a password. .op User can change his own password. .op Passwords are kept encrypted for better security. .h0 "\na.\n+b File Manipulation" .sh CAT Concatenate one or more files onto standard output. Particularly used for unadorned printing, for inserting data into a ype disk: RP03 and RP04, one or more logical devices per physical device, minimum-latency seek scheduling. .op Cartridge-type dipipeline, and for buffering output that comes in dribs and drabs. .op Usable as filter. .sh CP Copy one file to another. Works osk: RK05, one or more physical devices per logical device. .op Null device. .op Physical memory of PDP11, or mapped memory in ren any file without distinction as to contents. .sh PR Print files with title, date, and page number on every page. .op Multicolusident system. .op Phototypesetter: Graphic Systems System/1 through DR11C. .sh BOOT Procedures to get M\s8INI-\s10U\s8NIX\s10 smn output. .op Parallel column merge of several files. .op Usable as a filter. .sh OPR Off line print. Spools arbitrary files totarted. .sh MKCONF Tailor device-dependent system code to hardware configuration. Other changes, such as optimal assignment of d the line printer. .op Usable as a filter. .sh SPLIT Split a large file into more manageable pieces. Occasionally necessary for irectories to devices, inclusion of floating point simulator, or installation of device names in file system, can then be made aediting (ED). .. .sh ED Interactive context editor. Random access to all lines of a file. .op Find lines by number or pattern. Pf U\s8NIX\s10. .sh (DEV) All I/O is logically synchronous. Normally, invisible buffering makes all physical record structure trat leisure. (As distributed, M\s8INI-\s10U\s8NIX\s10 can be brought up directly on any acceptable CPU with any acceptable disk,  IR Change working directory. .sh FIND Prowl the directory hierarchy finding every file that meets specified criteria. .op Find files that satisfy one of these criteria: .in +2 .nf spelling of name matches a given pattern, creation date in given range, dateatterns may include: specified characters, don't care characters, choices among characters, repetitions of these constructs, beg of last use in given range, given permissions, given owner, given special file characteristics, boolean combinations of above. inning of line, end of line. .op Add, delete, change, copy or move lines. .op Permute or split contents of a line. .op Replace o.in -2 .fi .op Any directory may be considered to be the root. .op Perform specified command on each file found. .sh DSW Interacne or all instances of a pattern within a line. .op Combine or split files. .op Escape to Shell (M\s8INI-\s10U\s8NIX\s10 commandtively step through a directory, deleting or keeping files. .h0 "\na.\n+b Running of Programs" .sh SH The Shell, or command lang language) during editing. .ne3 .op Do any of above operations on every pattern-selected line in a given range. .sh Manual Introuage interpreter. .op Supply arguments to and run any executable program. .op Redirect standard input or standard output. .op Coductory manual for ED. .sh STTY Set up options for optimal control of a terminal. In so far as they are deducible from the inputmpose compound commands using these operators: .in+2 `;' for sequential execution, .br `|' for sequential execution with output , these options are set automatically by LOGIN. .op Half vs. full duplex. .op Carriage return+line feed vs. newline. .op Interprof one process `piped' to the input of another, .br `&' for asynchronous operation, .br parentheses for grouping. .in -2 .op Peretation of tabs. .op Parity. .op Mapping of upper case to lower. .op Raw vs. edited input. .op Delays for tabs, newlines and carform `Shell programs', command scripts with substitutable arguments. .op Construct argument lists from all file names satisfyingriage returns. .sh SUM Sum the words of a file. .h0 "\na.\n+b Manipulation of Directories and File Names" .sh RM Remove a file.  specified patterns. .op Collect command usage statistics. .sh IF Conditionally execute command on basis of: .op String comparisOnly the name goes away if any other names are linked to the file. .sh LN \*(lqLink\*(rq another name (alias) to an existing filon. .op File accessibility. .sh GOTO Go to a label in a Shell program. .sh WAIT Wait for termination of asynchronously running pe. .sh MV Move a file. Used for renaming files or directories. .sh CHMOD Change permissions on one or more files. Executable by  !"#$%'()*+,-./files' owner. .sh CHOWN Change owner of one or more files. .sh MKDIR Make a new directory. .sh RMDIR Remove a directory. .sh CHD lting the file system index and by reading the file itself. .sh DATE Print today's date and time. Has considerable knowledge of ereof. .sh SU Temporarily become the super user with all the rights and privileges thereof. Requires a password. .sh DCHECK .sh calendric and horological peculiarities. .op May set M\s8INI-\s10U\s8NIX\s10's idea of date and time. .sh DF Report amount of frICHECK .sh NCHECK .sp -2 Check consistency of file system. .op Print gross statistics: number of files, number of directories, nee space on file system devices. .sh DU Print a summary of total space occupied by all files in a hierarchy. .sh WHO Tell who's umber of special files, space used, space free. .op Report duplicate use of space. .op Retrieve lost space. .op Report inaccession the system. .op List of presently logged in users, ports and times on. .op Optional history of all logins and logouts. .sh PSble files. .op Check consistency of directories. .op List names of all files. .sh CLRI Peremptorily expunge a file and its space Report on active processes. .op List your own or everybody's processes. .op Tell what commands are being executed. .op Optional from a file system. Used to repair damaged file systems. .sh SYNC Force all outstanding I/O on the system to completion. Used trocesses. .sh EXIT Terminate a Shell program. Useful with IF. .sh ECHO Print remainder of command line. Useful for diagnostics o status information: state, attached terminal, what it's waiting for, size. .sh TTY Print name of your terminal. .sh PWD Print nr prompts in Shell programs, or for inserting data into a pipeline. .sh SLEEP Suspend execution for a specified time. .sh NOHUP ame of your working directory. .h0 "\na.\n+b Backup and Maintenance" .sh MOUNT Attach a device containing a file system to the tRun a command immune to hanging up the terminal. .sh NICE Run a command in low (or high) priority. .sh KILL Terminate named procree of directories. Protects against nonsense arrangements. .sh UMOUNT Remove the file system contained on a device from the treesses. .sh CRON Perform an action at specified times. .op Actions are arbitrary Shell (SH) programs. .op Times are conjunctions e of directories. Protects against removing a busy device. .sh MKFS Make a new file system on a device. .sh MKNOD Make an i-nodeof month, day of month, day of week, hour and minute. Ranges are specifiable for each. .sh TEE Pass data between processes and d (file system entry) for a special file. Special files are physical devices, virtual devices, physical memory, etc. .sh TP Managivert a copy into a file. Used as a filter. .h0 "\na.\n+b Status Inquiries" .sh LS List the names of one, several, or all files e file archives on magnetic tape or DECtape. .op Collect files into an archive. .op Update DECtape archive by date. .op Replace in one or more directories. .op Alphabetic or temporal sorting, up or down. .op Optional information: size, owner, date last modor delete DECtape files. .op Print table of contents. .op Retrieve from archive. .sh DUMP Dump the file system stored on a speciified, date last accessed, permissions, i-node number. .sh FILE Try to determine what kind of information is in a file by consufied device, selectively by date, or indiscriminately. .sh RESTOR Restore a dumped file system, or selectively retrieve parts th s. Also used to read and dispose of incoming mail. The presence of mail is announced by LOGIN. .sh WRITE Establish direct terminy The basic run-time library. These routines are used freely by all system software. .op Formatted writing on standard output. .al communication with another user. .sh WALL Write to all users. .sh MESG Inhibit receipt of messages from WRITE and WALL. op Time conversions. .op Number conversions. .op Elementary functions: sin, cos, log, exp, atan, sqrt, gamma. .op Password encryption. .op Quicksort. .op Buffered character-by-character I/O. .op Random number generator. .op Floating point interpreter for non-floating point machines. .sh (LIBP) An elaborated I/O library. .op Formatted input and output. .op Ability to put characters back into input streams. .sh Manual Printed manual for LIBP. .sh DB Interactive post-mortem debugger. Works on core dump files, .h0 "\na.\n+b Basic Program Development Package" .nr c 0 1 .sp .in0 A kit of fundamental programming tools. Some of these utilitsuch as are produced by all program aborts, on object files, or on any arbitrary file. .op Symbolic addressing of files that havies are used as integral parts of the higher level languages described below. .sh AR Maintain archives and libraries. Combines se symbol tables. .op Octal, decimal or ASCII output. .op Symbolic disassembly. .op Octal or decimal patching. .sh OD Dump any fieveral files into one for housekeeping efficiency. .op Create new archive. .op Update archive by date. .op Replace or delete fille. .op Output options include: octal or decimal by words, octal by bytes, ASCII, opcodes, hexadecimal, any combination thereof.o shut down gracefully. .h0 "\na.\n+b Accounting" .in0 .sp These routines use floating point. The timing information on which thes. .op Print table of contents. .op Retrieve from archive. .sh AS Assembler. Similar to PAL-11, but different in detail. .op Cre reports are based can be manually cleared or shut off completely. .sh AC Publish cumulative connect time report. .op Connect teates object program consisting of .in+2 .nf code, possibly read-only, initialized data or read-write code, uninitialized data. ime by user or by day. .op For all users or for selected users. .sh SA Publish Shell accounting report. Gives usage information .in -2 .fi .op Relocatable object code is directly executable without further transformation. .op Object code normally includes on each command executed. .op Number of times used. .op Total system time, user time and elapsed time. .op Optional averages anda symbol table. .op Multiple source files. .op Local labels. .op Conditional assembly. .op \*(lqConditional jump\*(rq instructio percentages. .op Sorting on various fields. .h0 "\na.\n+b Inter-user Communication" .sh MAIL Mail a message to one or more userns become branches or branches plus jumps depending on distance. .sh Manual Printed manual for the assembly language. .sh Librar  ng code may start execution at absolute zero. .sh NM Print the namelist (symbol table) of an object program. Provides control ovctions (disassembled). .op Stack trace and fault identification. .h0 "\n+a Other Languages" .nr b 0 1 .h0 "\na.\n+b FORTRAN" .sher the style and order of names that are printed. .sh SIZE Report the core requirements of one or more object files. .sh STRIP R012345679:;<=>?@ABCDEFGemove the relocation and symbol table information from an object file to save space. .sh TIME Run a command and report timing information on it. .h0 "\na.\n+b The Programming Language ``C''" .nr c 0 1 .nr b 0 1 .sh CC Compile and/or link edit programs in the C language. The M\s8INI-\s10U\s8NIX\s10 operating system, most of the subsystems and C itself are written in C. .op General purpose language designed for structured programming. .op Data types: .nf .in+2 character, integer, float, double, pointers to al FC Compile and/or link-edit FORTRAN IV programs. Object code is \*(lqthreaded\*(rq. Relies heavily on floating point. .op Idiosl types, functions returning above types, arrays of all types, structures of all types. .in-2 .fi .op Operations intended to givyncracies: .nf .in+2 free form, lower-case source code, no arithmetic statement functions, unformatted I/O requires record lengte machine-independent control of full machine facility, including to-memory operations and pointer arithmetic. .op Macro preprochs agree, no BACKSPACE, no P FORMAT control on input. .in-2 .fi .op Handles mixed-mode arithmetic, general subscripts and generaessor for parameterized code and inclusion of standard files. .op All procedures recursive, with parameters by value. .op Natural DO limits. .op 32-bit integer arithmetic. .op Free format numeric input. .op Understands these nonstandard specifications: .inl coercions. .op Object code uses full addressing capability of the PDP11. .op Runtime library gives access to all system facili+2 LOGICAL*1, *2, *4, .br INTEGER*2, *4, .br REAL*4, *8, .br COMPLEX*8, *16, .br IMPLICIT. .in-2 .fi .sh RC Compile and/or link ties. .sh Manuals Printed manual and tutorial for the C language. .sh CDB A debugger tailored for use with C. .op Usable post-moedit `Ratfor' programs. Ratfor adds rational control structure \o'a\(ga' la C to FORTRAN. .op Else, for, while, repeat...until s .op Range of dumping is controllable. .sh LD Link edit. Combine relocatable object files. Insert required routines from specifirtem. .op The debugger is a completely separate process from the debuggee. No debugging code is loaded with debuggee. .op Printsed libraries. .op Resulting code is automatically relocated to start execution at beginning of user's address space. .op Resulti in natural notation: characters, integers (octal and decimal), floating-point numbers, double precision numbers, machine instru  ming. .op Usable as a filter. .sh Manual Printed manual for BC. .sh SNO An interpreter very similar to SNOBOL 3. .op Limitationst line .br .op Justification of either or both margins. .op Automatic hyphenation. .op Generalized running heads and feet, with tatements. .op Symbolic constants. .op File insertion. .op Compound statements. .op Can produce genuine FORTRAN to carry away. .: .nf .in+2 function definitions are static, pattern matches are always anchored, no built-in functions. .in-2 .fi .op Usable assh Manual Printed manual for Ratfor. .h0 "\na.\n+b Other Algorithmic Languages" .nr c 0 1 .sh BAS An interactive interpreter, si a filter. .h0 "\na.\n+b Macroprocessing" .nr c 0 1 .sh M6 A general purpose macroprocessor. .op Stream-oriented, recognizes macmilar in style to BASIC. Interpret unnumbered statements immediately, numbered statements upon `run'. .op Statements include: .iros anywhere in text. .op Integer arithmetic. .op Usable as a filter. .sh Manual Printed manual for M6. .h0 "\na.\n+b Compiler-cn+2 .nf comment, dump, for...next, goto, if...else...fi, list, print, prompt, return, run, save. .fi .op All calculations doubleompilers" .nr c 0 1 .sh TMG A classical top-down compiler-compiler language. Provides a formalism for syntax-directed translatio precision. .op Recursive function defining and calling. .op Builtin functions include log, exp, sin, cos, atn, int, sqr, abs, rn. Produces driving tables to be loaded with a standard interpreter. .op Resulting compilers can have arbitrary tables kept in pnd. .op Escape to ED for complex program editing. .op Usable as a filter. .sh DC Interactive programmable desk calculator. Has naged secondary store. .op Integer arithmetic capability. .op Syntactic function capability (similar to ALGOL 68 metaproductions)amed storage locations as well as conventional stack for holding integers or programs. .op Unlimited precision decimal arithmeti. .sh Manual Printed manual for the TMG compiler-writing system. .sh YACC An LR(1)-based compiler writing system. During executic. .op Appropriate treatment of decimal fractions. .op Arbitrary input and output radices, in particular binary, octal, decimal on of resulting parsers, arbitrary C-language, Ratfor or FORTRAN functions may be called to do code generation or semantic actioand hexadecimal. .op Reverse Polish operators: .in+2 .nf + \- * / remainder, power, square root, load, store, duplicate, clear, ns. .op BNF syntax specifications. .op Precedence relations. .op Accepts formally ambiguous grammars with non-BNF resolution rulprint, enter program text, execute. .in-2 .fi .op Usable as a filter. .sh BC A C-like interface to the desk calculator DC. .op Aes. .sh Manual Printed manual for the YACC compiler-writing system. .h0 "\n+a Word Processing" .nr b 0 1 .sh ROFF A typesetting ll the capabilities of DC with a high-level syntax. .op Arrays and recursive functions. .op Immediate evaluation of expressions program for terminals. Easy for nontechnical people to learn, and good for most ordinary kinds of documents. Input consists of dand evaluation of functions upon call. .op Arbitrary precision elementary functions: exp, sin, cos, atan. .op Go-to-less programata lines intermixed with control lines, such as .ta 8n .ti 10 .li .sp 2 insert two lines of space .ti10 .li .ce center the nex  etc., may be separately retrieved from one name key. .sh FED Edit the memory used by FORM. Extract any item, turn it over to con. .op Usable as a filter. .sh TYPO Find typographical errors. Statistically analyzes all the words in a text, weeds out several text editor ED for editing, and put it back when done. .op List names of selected items. .op Print contents of selected item. .sthousand familiar ones, and publishes the rest sorted so that the most improbably spelled ones tend to come to the top of the lih SORT Sort or merge ASCII files line-by-line. .op Sort up or down. .op Sort lexicographically or on numeric key. .op Multiple kst. .sh GSI Simulate Model 37 Teletype facilities on GSI-300, DASI and other Diablo-mechanism terminals. .op Gives half-line andeys located by delimiters or by character position. .op May sort upper case together with lower into dictionary order. .op Usabl reverse platen motions. .op Approximates Greek letters and other special characters by overstriking. .op Usable as a filter. .seven-odd page capability, numbering, etc. .op Definable macros for frequently used control sequences (no substitutable argumentse as a filter. .sh UNIQ Collapse successive duplicate lines in a file into one line. .op Publish lines that were originally uniq). .op All 4 margins and page size dynamically adjustable. .op Hanging indents and one-line indents. .op Absolute and relative pue, duplicated, or both. .op May give redundancy count for each line. .op Usable as a filter. .sh USORT SORT and UNIQ at the samarameter settings. .op Optional legal-style numbering of output lines. .op Multiple file capability. .sh CREF Make cross-referene time. Saves substantial time over sequential execution. .sh TR Do one-to-one character translation according to an arbitrary cce listings of a collection of files. Each symbol is listed together with file, line number, and text of each line in which it oode. .op May coalesce selected repeated characters. .op May delete selected characters. .op Usable as a filter. .sh DIFF Report ccurs. .op Assembler or C language. .op Gathering or suppressing references to selected symbols. .op Last symbol defined may repline changes, additions and deletions necessary to bring two files into agreement. .op May produce an editor script to convert olace line number. .op Various ways to sort output available. .op Selective print of uniquely occurring symbols. .sh FORM Form lene file into another. .sh COMM Identify common lines in two sorted files. Output in up to 3 columns shows lines present in firsttter generator. Remembers any number of forms and stock phrases such as names and addresses. Output usually intended to be ROFFe file only, present in both, and/or present in second only. .sh CMP Compare two files and report disagreeing bytes. .sh GREP Prid. .op Anything that is typed in can be remembered for later use. .op Runs interactively, querying only for those items that arent all lines in a file that satisfy a pattern of the kind used in the editor ED. .op May print all lines that fail to match. .op not in its memory. .op Any item may call for the inclusion of other items. For example, full name, address, first name, title,  May print count of hits. .op Usable as a filter. .sh WC Count the lines and \*(lqwords\*(rq (blank-separated strings) in a file  .h0 "\\n+a Text Preparation" .nr b 0 1 .h0 "\na.\n+b Formatters" .sp .in0 High programming skill is required to exploit the formmn widths. .op Handles left- and right-justified columns, centered columns and decimal-point alignment. .op Places column titlesatting capabilities of NROFF, although unskilled personnel can easily be trained to enter documents according to canned formats.. .sh MS A standardized technical manuscript layout for use with NROFF/TROFF. .op Page numbers and draft dates. .op Cover sheet  .sh NROFF Advanced typesetting for terminals. Style similar to ROFF, but capable of much more elaborate feats of formatting, atand title page. .op Automatically numbered subheads. .op Footnotes. .op Single or double column. .op Paragraphing, display and i a price in ease of use. .op All ROFF capabilities available or definable. .op Completely definable page format keyed to dynamicndentation. .op Numbered equations. .sh Manual Printed manual for MS. .h0 "\na.\n+b U\s8NIX\s10 Programmer's Manual" .sh MAN Prially planted \*(lqinterrupts\*(rq at specified lines. .op Maintains several separately definable typesetting environments (e.g. nt specified manual section on your terminal. .sh Manual Machine-readable version of the U\s8NIX\s10 Programmer's Manual. .op Sone for body text, one for footnotes, and one for unusually elaborate headings). .op Arbitrary number of output pools can be comystem overview. .op All commands. .op All system calls. .op All subroutines in assembler, C and FORTRAN libraries. .op All devicbined at will. .op Macros with substitutable arguments, and macros invocable in mid-line. .op Computation and printing of numeries and other special files. .op Formats of file system and kinds of files known to system software. .op Boot procedures. .h0 "\\h COL Canonicalize files with reverse line feeds for one-pass printing. .op Usable as a filter. cal quantities. .op Conditional execution of macros. .op Tabular layout facility. .op Multicolumn output on terminals capable of reverse line feed, or through the postprocessor COL. .op Usable as a filter. .sh Manual Printed manual for NROFF. .sh NEQN A ma.h0 "\n+a Novelties" .in0 .sp Source code for game-playing programs is not distributed. .nr b 0 1 .sh CHESS This chess-playing pthematical typesetting preprocessor for NROFF similar to EQN (see Section 6). Prepares formulas for display on Model 37 Teletyperogram scored 1-2-1 and 3-0-1 in the 1973 and 1974 Computer Chess Championships. .sh CAL Print a calendar of specified month ands with half-line functions and 128-character font. .op For Diablo-mechanism terminals, filter output through GSI. .op Same facil year. .sh UNITS Convert amounts between different scales of measurement. Knows hundreds of units. For example, how many km/sec ities as EQN within graphical capability of terminal. .sh Manual Printed manual for NEQN/EQN. .sh TBL A preprocessor for NROFF/Tis a parsec/megayear? .sh QUIZ Test your knowledge of Shakespeare, Presidents, capitals, etc. ROFF that translates simple descriptions of table layouts and contents into detailed typesetting instructions. .op Computes colu   sufficiently similar to NROFF and NEQN that it is usually possible to define interchangeable formats to produce approximate prin a style like this: .ti10m sigma sup 2 ~=~ 1 over N sum from i=1 to N ( x sub i _ x bar ) sup 2 .br which produces this: .sp .oof copy on terminals. The preprocessors MS and TBL are fully compatible with TROFF as well as NROFF. .sh TROFF Provides facilit1 .ti 10m .EQ .nr 99 \n(.s .nr 98 \n(.f .ps 10 .ft I .ds 11 "\(*s .nr 11 \w'\*(11' .ps 8 .ds 12 "\fR2\fP .nr 12 \w'\*(12' .as 11ies like NROFF, augmented as follows. This Summary was typeset by TROFF. .op Vocabulary of several 102-character fonts (4 simult \v'-24u'\s8\|\*(12\s10\v'24u' .ps 10 .nr 11 \n(11+\n(12+\w'\s8\|' .ds 12 "\|\| .nr 12 \w'\*(12' .as 11 "\*(12 .nr 11 \w'\*(11' aneously) in 15 sizes. .op Positions expressible in inches, centimeters, ems, points, machine units or arithmetic combinations t.ds 12 "\|=\| .nr 12 \w'\*(12' .as 11 "\*(12 .nr 11 \w'\*(11' .ds 12 "\|\| .nr 12 \w'\*(12' .as 11 "\*(12 .nr 11 \w'\*(11' .ds 1hereof. .op Access to character-width computation for unusually difficult layout problems. .op Overstrikes, built-up brackets, h2 "\fR1\fP .nr 12 \w'\*(12' .ds 13 "N .nr 13 \w'\*(13' .nr 14 \n(12 .if \n(13-\n(14 .nr 14 \n(13 .nr 14 \n(14+.4m .ds 12 \v'42u'orizontal and vertical line drawing. .op Dynamic relative or absolute positioning and size selection, globally or at the charact\h'\n(14u-\n(13u/2u'\*(13\ \h'-\n(13u-\n(12u/2u'\v'-78u'\*(12\ \h'-\n(14u-\n(12u/2u'\v'18u'\l'\n(14u'\v'18u' .nr 12 \n(14 .as 11er level. .op Terminal output for rough sampling of the product, usually needs a wide platen. Not a substitute for NROFF. .op Us "\*(12 .nr 11 \w'\*(11' .ds 12 \v'.3m'\s16\(*S\s10\v'-.3m' .nr 12 \w'\*(12' 'ps 7 .ds 13 "i\|=\|\fR1\fP .nr 13 \w'\*(13' 'ps 7 able as a filter. .sh Manuals Printed manual and tutorial for TROFF. .sh EQN A mathematical typesetting preprocessor for TROFF. .ds 14 "N .nr 14 \w'\*(14' 'ps 10 .nr 15 \n(12 .if \n(13-\n(15 .nr 15 \n(13 .if \n(14-\n(15 .nr 15 \n(14 .ds 15 \v'60u'\h'\n(15uTranslates easily readable formulas, either in-line or displayed, into detailed typesetting instructions. Formulas are written -\n(13u/2u'\s7\*(13\s10\h'-\n(15u-\n(13u/2u'\v'-60u'\ \h'\n(15u-\n(12u/2u'\*(12\h'\n(15u-\n(12u/2u'\ \v'-66u'\h'-\n(15u-\n(14u/2IJKLMNOPRSTUVWu'\s7\*(14\s10\h'\n(15u-\n(14u/2u'\v'66u'\ .as 11 "\*(15 .nr 11 \w'\*(11' .ds 12 "\|\fR(\fP .nr 12 \w'\*(12' .as 11 "\*(12 .nr n+a Typesetting" .in 0 .sp This software generates output on a Graphic Systems System/1 phototypesetter. It is distributed separately as an enhancement to M\s8INI-\s10U\s8NIX\s10. .sp High programming skill is required to exploit the formatting capabilities of TROFF, although unskilled personnel can easily be trained to enter documents according to canned formats. TROFF and EQN are 11 \w'\*(11' .ds 12 "x .nr 12 \w'\*(12' .ps 8 .ds 13 "i .nr 13 \w'\*(13' .as 12 \v'18u'\s8\*(13\|\s10\v'-18u' .ps 10 .nr 12 \n(12+\n(13+\w'\s8\|' .as 11 "\*(12 .nr 11 \w'\*(11' .ds 12 "\|\(mi\| .nr 12 \w'\*(12' .as 11 "\*(12 .nr 11 \w'\*(11' .ds 12 "x .nr .TM "76-1352-7" 39394 39394-11 .po +6 .ND December 10, 1976 .TL The MINI-UNIX System .OK UNIX Operating Systems PDP11 .AU "MH 7C12 \w'\*(12' .nr 12 \w'\*(12' .nr 10 0 .if \n(ct-1 .nr 10 .25m .nr 14 .15m .if 2-\n(ct .nr 14 .1m .ds 13 \v'.15m'\l'\n(12u\(rn'\-211" 6170 H. Lycklama .AB The MINI-UNIX Operating System is basically the UNIX Operating System re-written in C to run on a PDPv'-.15m' .nr 13 \w'\*(13' .as 12 \h'-\n(12u-\n(13u/2u+\n(14u'\v'0-\n(10u'\*(13\v'\n(10u'\h'-\n(13u+\n(12u/2u-\n(14u' .as 11 "\*(-11 processor without a segmentation unit. The system supports all of the standard system calls of UNIX with the exception of: p12 .nr 11 \w'\*(11' .ds 12 "\|\fR)\fP .nr 12 \w'\*(12' .ps 8 .ds 13 "\fR2\fP .nr 13 \w'\*(13' .as 12 \v'-24u'\s8\|\*(13\s10\v'24trace, pipe, prof, getgid and setgid. The entire system resides in 12K words of memory and is written in the C language. An emulu' .ps 10 .nr 12 \n(12+\n(13+\w'\s8\|' .as 11 "\*(12 .nr 11 \w'\*(11' .ds 11 \x'0'\x'0-30u'\fI\s10\*(11\s\n(99\f\n(98\x'42u' .ifation package is included for those machines which do not support the extended instruction set (e.g. mul, div, ash, etc.). The s \n(11-\n(.l .tm too-long eqn, file junk, between lines 2-4 .if 168-\n(.v .ne 168u \*(11 .ps \n(99 .ft \n(98 .EN .br .op Automatystem will support up to 4 users using a simple round-robin time-slice scheduling algorithm. It provides an inexpensive softwareic calculation of size changes for subscripts, sub-subscripts, etc. .op Full vocabulary of Greek letters, such as `gamma', `GAMM development system in a UNIX time-sharing environment for those installations with insufficient hardware to support the full stA'. .op Automatic calculation of large bracket sizes. .op Vertical \*(lqpiling\*(rq of formulae for matrices, conditional alternandard UNIX Operating System. .AE .CS 8 2 10 0 0 4 atives, etc. .op Integrals, sums, etc, with arbitrarily complex limits. .op Diacriticals: dots, double dots, hats, bars. .op Eas.NH Introduction .PP The MINI-UNIX Operating System was written to run on all PDP-11 processors without the memory management unily learned by nonprogrammers and mathematical typists. .op Usable as a filter. .sh TMAN Typeset specified portions of UNIX manuit available on the PDP-11/40, 11/45 and 11/70 processors and is therefore restricted to a 28K word address space. The operatingal. .op Same capabilities as MAN (see Section 5.2). .sp .ti4i August, 1976 .sp .in0 * DEC, PDP and DECtape are registered tradem system itself (MX) is basically a modified version of the Version 6 UNIX Operating System (1) and as such supports most of the arks of Digital Equipment Corporation. standard UNIX "system calls". The system resides in 12K words of memory and is written in the C language. An instruction emulati he RF fixed-head disk (1 Megabyte) and the RP03 and RP04 moving-head disk controllers with 40M bytes and 80M bytes, respectivelypabilities are somewhat less than those of the standard UNIX system, especially in the area of inter-process communication and i. Other peripherals supported include line-printer, Dectape, magtape and various asynchronous and synchronous interface units. .nteractive debugging. The number of processes (and users) which MINI-UNIX (MX) can comfortably support is in general much less tPP The system is normally configured to be 12K words in size. This includes an emulation package for interpreting the 10 extendehan for the standard UNIX system. No more than four users are recommended for MX. Currently the number of processes allowed is ton package is included in the system for those machines which do not support the extended instruction set (e.g. mul, div, ash, ed instructions normally performed by the EIS hardware available as an option on some PDP-11 processors and standard on the PDP-1tc.). The system supports up to four users using a simple round-robin time-slicing algorithm. It supports all of the UNIX user p1/45 processor. A minimum system has room for 6 or 7 system buffers. As new drivers are added to the system, the number of systerograms unmodified. User programs which have been slightly modified are discussed in a later section. MINI-UNIX thus provides anm buffers must be decreased if the system size is maintained at 12K words. Thus it is recommended that for some applications it  inexpensive software development system in a UNIX time-sharing environment for those installations with a minimum amount of harmay be appropriate to add the drivers for only a few peripherals on any one version of the system and thus maintain a few versiodware which is insufficient to support the full Version 6 UNIX Operating System. .PP Other software tools are also available forns of the system, one for each set of drivers desired concurrently in the system. This keeps the system size at 12K words in ord easing the transition from software written under the DEC DOS Operating System. This includes a macro assembler and linker. .NHer to be able to support all of the user software of Version 6 UNIX.  Hardware .PP The MINI-UNIX system runs on any PDP-11 processor with 28K words of memory. The PDP-11 computer is a 16-bit word mini-computer with a UNIBUS for interfacing DEC peripherals to the CPU. The typical configuration consists of a PDP-11/10 CPU wit.NH System Features .PP The Operating System itself is written in the high-level language, C (2) and as such bears a strong reseh 28K words of memory, a console terminal and an RK05 moving-head disk controller with two removable disk cartridges for swappinmblance to the standard UNIX Operating System which runs on the PDP-11/40, 11/45 and 11/70 computers. Because of the memory addrg and file system storage. Each RK05 disk pack has 2.5 Megabytes (8-bit byte) of storage. However, the MX system also supports tess space limitation due to the lack of a segmentation unit, the system size is generally kept to 12K words in size. Thus its ca start at address 060000 and may occupy up to 16K words of memory. Up to 13 processes may exist at any one time, although only oniling of a process to determine where it is spending its time is also not permitted. Pipes have not been implemented in the MX se process may be in core and running. This should be sufficient to handle up to four simultaneous users. Since no memory relocatystem for two reasons. One is that it requires too much code in the system which is already butting its head against the top. Twion is available, the complete user program image must be swapped out to bring in a new user program. Hence no sharing of text io is that the overhead required in switching from the process writing the pipe to the process reading the pipe involves a process possible. No software memory management is required. Scheduling is done on a simple round-robin basis with each process in thes swap. Filters, however are simulated at the command level as discussed in the next section. .PP Some other features have been  run state receiving a two second time slice. .PP The file system supported by MX is identical to that provided by the UNIX timestripped out of the system in MX in the interest of minimizing system address space. Upon reading a file block, "read-ahead" is -sharing system. The structure of the super-block and of the file inodes is maintained. MX supports the identical file system hinot invoked. This contributes only slightly to a loss in throughput. Physical I/O has also not been implemented. This precludes hirteen. This is a 'sysgen' parameter. The address space available to a user program is 16K words. This enables almost all user erarchical structure and makes the same distinctions between ordinary files, directories and special files. Removable file systeprograms which run under Version 6 UNIX to run unmodified under MX. The exceptions are noted in a later section. The capabilitiems are supported as well. Hence 'mount' and 'umount' system requests are treated identical to those in standard UNIX. Under MX, s of MX fall somewhere in between those of standard Version 6 UNIX and those of the LSX operating system (3). LSX is a single-usa file's size is limited to one megabyte. Large files are supported, but huge files (two level indirect block) are not. Groups aer UNIX-compatible system for the LSI-11 micro-processor using floppy disks as secondary storage. .PP MX supports all of the UNIre not supported in MX. Thus a file has only a given owner user ID and no group ID. Read, write and execute permission bits are X system calls of the Version 6 UNIX operating system with the exception of: ptrace, pipe, prof, setgid and getgid. For the sakeavailable for both owner and non-owner of a file. The set-user ID bit is also supported in MINI-UNIX. .PP No interactive debuggi of completeness the status of implementation of the system calls are summarized in an Appendix. Thus MX supports all UNIX user ng is possible in MX since the 'ptrace' system call is not implemented. One may still use the C debugger 'cdb' but cannot plant programs with the exception of programs which use the above mentioned system calls. User programs are compiled and relocated to breakpoint traps in the running image of a child process. It may only be used for post-mortem debugging on core images. The prof the ability to read large contiguous pieces of disk directly into the user's address space without system side-buffering. The syeck\fR program is not described in the UNIX Programmer's Manual. However, it combines most of the individual features of \fBdchestem buffering scheme is much simpler than in standard UNIX but a maximum of only eight buffers may be allocated in a minimum syck, icheck\fR and \fBncheck\fR as described in the manual. A flag of \fI-l\fR will do the equivalent of \fBncheck\fR with no flastem configuration. gs. All other flags described for \fBdcheck, icheck\fR and \fBncheck\fR apply. .NH 2 Debugger .LP The debugger \fBdb\fR has been slightly modified in order to ease debugging under the MINI-UNIX system. The default relocation address of all programs is ass.NH UNIX User Program Modifications .PP Since the MX system uses no segmentation unit, all user programs must be compiled and reumed to be 60000(8). If the flag '-a' is given when the debugger is invoked, the relocation address is assumed to be zero. Thilocated to start at address 060000. Under MX, the C programs are relocated automatically using the 'ld' program which has been ms is useful for debugging the system. .PP The default address can be changed by editing 'db1.s' and setting the variable 'uorg'odified as described below. For assembly-language source programs, the 'a.out' program may be relocated either using the 'reloc' equal to the new relocation address. Then the source code should be re-assembled. If none of the changes are desired, the varia program or the 'ld' program. The various user programs which have been modified from the standard Version 6 UNIX or new programble \fImx\fR in \fIdb1.s\fR should be set to 0 and the source code re-assembled. .NH 2 Kdmp .LP This program is used to extract s which are supported but not mentioned in the UNIX Programmer's Manual (4) are described below. .NH 2 ar .LP The archive prograa dump of the complete system (28K words) from the swap area on disk. The core image produced in the file "kore" may then be deb`abcdefgim supported is a version which is updated from that described in the UNIX Programmer's Manual. It is written in the C language and has some new keys added. However the documentation still applies. .NH 2 bc .LP The 'bc' command works as in the standard UNIX system but cannot be used interactively since pipes are not implemented in the system. In generating the source for 'bc' using the 'yacc' compiler-compiler, the source must be edited slightly to make it simulate the use of pipes. .NH 2 check .LP The \fBch e system is written out to disk, the system should be booted up single-user. Immediately, one should execute "kdmp" (preferably jklmnopqstuvon an uncorrupted file system) before the swap area is over-written. .NH 2 Ld .LP The \fBld\fR program has been modified to relocate the program origin to 060000 automatically. This is to facilitate the compilation of C programs under the MINI-UNIX system. Note that all assembly programs, after being assembled, must be relocated to 060000 either by using the link editor \fBld\fR or the relocation program \fBreloc\fR. The relocation origin may be changed from 060000 by changing the value of the TOPSYS paramebler output programs if the link-editor is not required. .NH 2 Sh .LP Since the MINI-UNIX system does not support pipes, the sheter in \fIld.c\fR to the appropriate value. .PP Using the \fI'-a'\fR option flag with \fBld\fR turns off the relocation of a proll has been modified to simulate pipes through the use of disk files. When a command line which requires the use of a pipe is dgram's origin. The program is then assumed to start execution at location 0. This is useful for link editing the MINI-UNIX systeetected, a disk file is created and opened for reading and writing. The file is immediately unlinked, so that the name is availm itself or any other program which starts execution at location 0. .NH 2 Mkpt .LP The \fBmkpt\fR program constructs a prototypeable for another pipe right away. The file is called '.__pf'. Hopefully this name will not conflict with any user file names.  file given a specification file for direct input to the \fBmkfs\fR program. Run "man 8 mkpt" for details. .NH 2 Ps .LP The procThus, the symbol '|' in a shell command line becomes equivalent to \&'> .__pf ; < .__pf'. The command: .DS % prog1 | prog2 .DEess status command outputs basically the same information as that of the Version 6 UNIX \fBps\fR command. It has been modified t translates into: .DS % prog1 > .__pf ; prog2 < .__pf .DE The process writing on the pipe writes everything into the file, and o take into consideration the different process table layout and the different swapping technique used in MINI-UNIX. .NH 2 Relocwhen it exits, the reader process is swapped in. It reads what the writer has written on the pipe file. The only danger in thi .LP This Program is used to relocate all relocatable symbols in a program. Thus "reloc a.out 60000" will relocate all relocatabs type of implementation is due to the limitation of space on the file system being used. A very large amount of information goiugged post-mortem. Consult system source code for the actual disk tracks used. If a system crash occurs and the core image of thle symbols in "a.out" and relocate the starting address of the program (absolute zero) to 060000. It must be used with all assem s have its advantages. It means the user can directly access all I/O registers on the UNIBUS and does not have to write special dial-up line 60 cycle clock .DE is of the order of $20,000 at today's prices (December 1976). This provides an inexpensive tool device drivers interfaced with the file system to control the special peripherals. Thus in cases where a real-time program is tofor software development in a UNIX time-sharing environment for those configurations which have insufficient hardware to supportng through a pipe could fill up the disk. Except for this, the pseudo-pipe code is transparent to the user. .PP The \fBsync\fR c be run, one may disable the system clock to inhibit unwanted clock interrupts and also swapping of processes. One may also catcommand has been added to the shell. Thus the system call is made directly from the shell and no other process is spawned. .NH 2 h clock interrupts during the running of user programs if the clock is to be used for user program timing control. The clock shoTypo .LP This program checks for the most likely spelling errors in a document. It has been modified somewhat to enable it to fiuld then be restored to system control upon exit from the user program. .PP There is also another set of user programs availablet in 16K words of memory. .NH 2 Yacc .LP The source for the \fByacc\fR compiler has been edited to change some table sizes to ma under MX which may be used to ease transition from DOS, the DEC operating system, to UNIX for those installations now using theke it run in 16K words of memory. Further editing of symbols at the beginning of \fIy0.c\fR may be required to make up a \fByacc DEC DOS operating system on a PDP-11 CPU. This package consists of a macro-assembler and a linker-loader for assembling program\fR compiler with different table sizes for a particular application. s written under DOS for the DEC macro-assembler. The result is a UNIX 'a.out' file. .PP The normal configuration for MX includes a PDP-11/10 CPU with 28K words of memory and two RK05 disk cartridges for secondary. The PDP-11/10 processor is slower than the PDP-11/40 processor and does not have the full instruction set of the PDP-11/40 processor, thus requiring the emulation of the .NH Summary .PP Since MX uses no segmentation unit, no protection is provided for the user program. Thus new user programs must missing instructions. A typical C compilation requires about twice the total time of that required on the equivalent PDP-11/40 cbe debugged carefully. In practice, the use of the C language limits the user's program's use of the program counter and stack ponfiguration. However, response to the editor commands is not significantly longer than on a more powerful CPU. The cost of a miointer thus limiting damage and usually causing a bus error before anything drastic happens. The lack of a segmentation unit doenimum configuration: .DS PDP-11/10 CPU 28K words memory 2 RK05 disk drives KL11 interface to control console DL11E interface to  it, /* 7 = wait */ 2, &creat, /* 8 = creat */ 2, &link, /* 9 = link */ 1, &unlink, /* 10 = unlink */ 2, &exec, /* 11 = exec */ 1, &chdir, /* 12 = chdir */ 0, >ime, /* 13 = time */ 3, &mknod, /* 14 = mknod */ 2, &chmod, /* 15 = chmod */ 2, &chown, /* 1.po +6 .tr ~ .nf ~ ~ ~ .ta 50 MX - Mini-Unix for PDP-11/10 October 2, 1975 .sp 2 H. Lycklama .fi .sp 6 A version of the UNIX 6 = chown */ 1, &sbreak, /* 17 = break */ 2, &stat, /* 18 = stat */ 2, &seek, /* 19 = seek */ 0, &getpid, /* 20 = getpid */ 3, &operating system has been written for the PDP-11/10 computer. The system supports all of the standard "system calls" .he ""- % -smount, /* 21 = mount */ 1, &sumount, /* 22 = umount */ 0, &setuid, /* 23 = setuid */ 0, &getuid, /* 24 = getuid */ 0, &stime, /" of the PDP-11/40, PDP-11/45 and PDP-11/70 versions of UNIX with the exception of: trace, pipe, prof, getgid and setgid. The en* 25 = stime */ 3, &nullsys, /* 26 = ptrace */ 0, &alarm, /* 27 = alarm */ 1, &fstat, /* 28 = fstat */ 0, &pause, /* 29 = pause tire system resides in 12K words of memory and is written in the C-language. Since the PDP-11/10 computer does not support the e a full Version 6 UNIX system. */ 1, &nullsys, /* 30 = smdate; inoperative */ 1, &stty, /* 31 = stty */ 1, >ty, /* 32 = gtty */ 2, &nosys, /* 33 = access, not implemented */ 0, &nice, /* 34 = nice */ 0, &sslep, /* 35 = sleep */ 0, &sync, /* 36 = sync */ 1, &kill, /* 37 = kill */ 0, &g.bp .ce .ul References .sp 1. K.Thompson and D. M. Ritchie, "The UNIX Time-Sharing System", Comm. ACM 17, (July 1974), p365. .spetswit, /* 38 = switch */ 0, &nosys, /* 39 = x */ 0, &nosys, /* 40 = x */ 0, &dup, /* 41 = dup */ 0, &nosys, /* 42 = pipe, pseud 2. D. M. Ritchie, "C Reference Manual", TM-74-1273-1. .sp 3. H. Lycklama, "The LSI-UNIX System", TM-76-1352-4. .sp 4. K. Thompso-pipe in Shell */ 1, ×, /* 43 = times */ 4, &nosys, /* 44 = prof, not implemented */ 0, &nosys, /* 45 = x */ 0, &nullsys, on and D. M. Ritchie, "UNIX Programmer's Manual - 6th Edition", May, 1975. /* 46 = setgid, not implemented */ 0, &nullsys, /* 47 = getgid, not implemented */ 2, &ssig, /* 48 = sig */ 0, &nosys, /* 49 = x */ 0, &nosys, /* 50 = x */ 0, &nosys, /* 51 = x */ 0, &nosys, /* 52 = x */ 0, &nosys, /* 53 = x */ 0, &nosys, /* 54 = x */ 0, &.bp .DS C .ft B Appendix - MX System Calls .DE .LD .ta 13n 0, &nullsys, /* 0 = indir */ 0, &rexit, /* 1 = exit */ 0, &fork, /*nosys, /* 55 = x */ 0, &nosys, /* 56 = x */ 0, &nosys, /* 57 = x */ 0, &nosys, /* 58 = x */ 0, &nosys, /* 59 = x */ 0, &nosys, / 2 = fork */ 2, &read, /* 3 = read */ 2, &write, /* 4 = write */ 2, &open, /* 5 = open */ 0, &close, /* 6 = close */ 0, &wa* 60 = x */ 0, &nosys, /* 61 = x */ 0, &nosys, /* 62 = x */ 0, &nosys /* 63 = x */ .DE  he operating system supports all UNIX user programs which run on the PDP-11/40, PDP-11/45 and PDP-11/70 computers, with the exceder of $26,000 including an 18% discount. A minimum configuration with only one RK05 disk and no DL11-E interface can be obtaineption of programs which use the above mentioned system calls. A few user programs were modified to run on the PDP-11/10 version d for approximately $21,000. More recent price reductions on PDP-11/10 configurations may result in a total system cost of less of UNIX. These include "ps" to deal with the different process table structure and "ld" to relocate all user programs up to addrthan $20,000. This provides a very inexpensive tool for software development in a UNIX time-sharing environment. .sp4 MH-1352-HLess 060000. All user programs were recompiled in order to relocate them to start at address 060000. Filters may be simulated at -JER H. Lycklama .sp4 Copy to: .nf Dept. 8234 G.L. Baldwin M.D. McIlroy D.J. Lando G.L. Link G.W.R. Luderer J.F. Maranzano H.S.the command level by replacing the sh syntax "|" by ">sh.out;=<;:9876543210/.-,+*)('/ 0 1 2 3 4 5 6 7 8 9 : ; < = d> ? @ A B C D E F G H I J K L