Cal TSS Archive
11 January 2024
April 19, 1980 reunion.
Left to right: Dave Redell, Bill Bridge, Paul McJones, Gene McDaniel, Bruce Lindsay, Vance Vaughan, Howard Sturgis.
December 14, 1991 reunion.
Left to right: Dave Redell, Jim Gray, Vance Vaughan, Gene McDaniel, Bruce Lindsay, Paul McJones, Charles Simonyi, Butler Lampson.
Abstract
This is an archive of scanned copies of most of the known records from the CAL Timesharing System project, which took place in the Computer Center of the University of California, Berkeley, between 1968 and 1971. The system ran on a Control Data Corporation 6400 with Extended Core Storage and Central Exchange Jump. For a history of the project, see [MR2023].
The physical records were donated to the Computer History Museum, Lot #2022.0154. Their organization is described in [McJ2022].
Contents
- Project plans and proposals
- Reports and announcements
- Design memos
- Prehistory
- ECS system
- Final system
- Architecture
- Disk files
- Directories
- Executive
- Documentation
- ECS system
- Bead
- SCOPE simulator
- User subsystems
- Programming languages
- Final system
- System operation
- Humor
- Chronological
- "A basic time sharing system"
- Designing the ECS system
- The ECS system begins to run
- Designing the disk system
- The disk system begins to run
- Development is discontinued
- Afterward
- Source code
- Theses
- Papers
- Hardware
- People
- Photos
- References
- Citations
1 Project plans and proposals
- Sturgis. May 4, 1967.
"This paper is a general description of what I think needs to be done to produce a time
sharing operating system for our CDC 6400 with ECS, that will be commensurate with the capabilities of the machine."
670504-timesharing-hes
- Sturgis. February 20, 1968. "This is the proposed body of a letter from
Prof. Graham to myself (HES). He wants approval or comments from Ken Hebert [and] Gene Albright. Phase 1: Design; Phase 2: Limited System; Phase III: Better System."
680220-mhg-to-hes
- [Malbrain.] "Proposal for batch system." Early 1970?
Early proposal for simple batch system: no tapes or job queuing;
low-level disk system to be implemented below the Bead; SNOBOL program used for ?
70-batch-proposal-km
- [Vaughan.] "Evaluation of work yet to be done on the ECS system as
of 30 March 70." Last page of memo dated April 13, 1970; followed by 4 pages
on allocation block operations, file page dirty bits, deliver of interrupt datum,
change unique name issues, and allocator issues.
March 30, 1970.
700330-evaluation-vv
- [Vaughan.] "September system." [June 1970?]
Notes on content of September system: low-level disk system, less swapping, pseudo-close, and space control; directory less subprocess descriptors, ECS goodies, global objects, and accounting; disk dump and load; command processor and subprocess descriptors ("a la bead"), line collector, login, logout, and accounting; Scope simulator; disk recovery.
7006-sept-sys-vv
- [Vaughan.] "Reconstituted list of things to be done on the ECS level of Cal TSS." June 1, 1970.
"Stuff needed for the operation of the 'September System'." Apparently distributed with a copy
of the first page of 700330-evaluation-vv attached.
700601-reconstituted-list-vv
- [Malbrain?] "Batch system." [June 1970?]
"It is planned to have a running TSS BATCH system by August 15, 1970,
running under the TSS 'September' system."
7006-batch-system-km
- [Malbrain.] "Peripheral Device Processor: Preliminary Specifications."
December 1, 1970.
Proposal for a batch system handling card reader, printer, job queues, tape, and operator console.
701201-pdp-km
- [Vaughan.] "General Discussion of the Initial User Version of CAL-TSS,
Available around 15 March '71." March 9, 1971.
"The whole project could conceivably be canceled because of computer center funding difficulties, but on the assumption that it is not cancelled, we proceed to discuss its availability, pas, present, and future."
710309-initial-user-version-discussion-vv
- [Sturgis.] "Immediate mopping up." March 15, 1971.
710315-mopping-up-hes
- [Sturgis.] "Major problems." March 17, 1971.
"L/D/R has error on final call; L/D/R opens too many files on dump (can't dump);
can't destroy directories."
710317-major-problems-hes
- [Vaughan.] "Considerations concerning CAL TSS support of users during spring quarter of '71."
March 18, 1971.
Lots of things still weren't ready but Vaughan was looking ahead to logistics for user support.
710318-support-considerations-vv
- [Sturgis.] "Projects related to command processor." May 5, 1971.
"I) Errors will be interpreted and fancy messages printed. ..." Section VI)C) says "Implement Pauls subprocess descriptor object. Use my specifications of Feb 24, 1971. Old style, as just a file will also be retained."
710505-cmmd-projects-hes
- [Vaughan]. "Proposed charges for TSS. October 8, 1971. "Effective Monday, 25 Oct 71." CPU $130/hour;
ECS $0.29/1000 words-hour, temporary disk $0.47 per 1000 sector-hours; connect time $2/hour;
permanent disk space $9.30/1000-sector-month.
711008-proposed-charges-vv
2 Reports and announcements
- Gray. "Progress Report on 6400 CAL Time-Sharing System." October 11, 1969.
691011-progress-jng
- Gray. "(Lack of Visible) Progress Report: CAL-6400-TSS." January 15, 1970.
700115-progress-jng
- Gray. "CAL Progress Report." April 15, 1970.
700415-progress-jng
- Gray. "Progress Report - CAL-TSS." June 1, 1970.
"I am resigning as director of CAL effective today, Howard Sturgis who, along with Butler Lampson,
was the principle architect of TSS is replacing me. The job is thankless, draining, mundane, and unpleasant."
700601-progress-jng
- Sturgis. "About Cal TSS." January 6, 1971.
Sturgis's first status report as project director.
710106-about-hes
- Subcommittee on Time Sharing. "Report to: Chancellor's Advisory Committee on Computing."
February 27, 1971.
710227-subcommittee-on-time-sharing-elw
- [Vaughan.] "Facilities available." March 15, 1971.
Status report on readiness of various subsystems.
710315-facilities-avail-vv
- [Vaughan.] "Where ECS space is going." July 22, 1971. Measurements.
710722-ecs-usage-vv-hes
- Sturgis. CAL TSS Report. August 1, 1971.
"The purpose of this report is two-fold: first, to make available detailed infocmation concerning the present status of CAL TSS, and second, to provide a basis for management discussion of the future course of development for CAL TSS. Since the TSS staff is small, not all projects can be pursued at once."
710801-cal-tss-report-hes
- [Vaughan.] August 1, 1971. Measurements of sizes of subprocesses in a "disk process".
710801-disk-proc-vv
- —. CAL Time-Sharing System: Status and Information. August 13, 1971.
"CAL TSS is currently available weekdays from 2-6 PM." [Room 227 has been changed to 223.]
710813-status-and-info-vv.pdf
- [Vaughan.] Memo to users of CAL TSS. Circa September 10, 1971.
Announces coming end of free use, new SYSMES feature, and "Introduction to CAL TSS" document; includes forms: Application for Use of CAL TSS; CAL TSS User Survey.
710910-memo-to-users-vv
- —. [System status.] November 1, 1971.
"1 NOV 71 COMMAND PROCESSOR NEWU COMMAND; 20 OCT 71 CHARGING FOR CAL TSS"
711101-status-vv
- —. CAL Time-Sharing System: Status and Information." October 19, 1971.
"CAL TSS will be run from 10:00 a.m. to 10:00 p.m. on weekdays.
The hours from 12 to 6:00 will be reserved for customers."
711019-status-and-info-vv
- [Vaughan or Sturgis.] "CAL TSS Rates: Effective 25 Oct '71." October 20, 1971.
From the SYSMES file.
711020-rates-vv
- —. CAL Time-Sharing System Status. November 29, 1971.
"CAL TSS has been discontinued pursuant to a decision formulated
in the Chancellor's office."
711129-status-vv
- Vaughan. "System staff et al." November 30, 1971.
711130-future-vv
- Sturgis. File system throughput. December 6, 1971.
"On Saturday I conducted some timing tests. I wrote a BCPL program to do
one word IO."
711206-file-system-timing-hes
- Kenneth J. Hebert "Staff notice." December 8, 1971.
"Effective immediately, Vance Vaughan will assume the responsibilities of Chief Programmer.
I hope that you all will give him your utmost support in this most trying position."
711208-promotion-kjh
- Richard Colman. "Computer System Cut."
Daily Californian, December 10, 1971.
711210-cut-dc
- M. Stuart Lynn. "CDC 6400 Departure". September 3, 1982.
"The CDC 6400 is no more."
820903-cdc-6400-departure-msl
3 Design memos
Design: Prehistory
- Sturgis. November 15, 1967."What follows is a description of a basic time sharing system,
as seen by a knowledgeable user." Last two pages are hand-drawn diagrams of process interactions, dated November 17, 1967.
671115-basic-timesharing-hes
- [Sturgis.] February 27, 1968. Early disk file system notes.
680227-filesystem-hes
- [Sturgis.] February 28, 1968.
More early disk file system notes.
680228-more-filesystem-hes
- [Sturgis.] February 29, 1968. Capabilities, basic objects.
680229-basic-objects-hes
- [Sturgis.] February 29, 1968. Calculations based on size of 6638 disk.
680229-disk-size-calculations-hes
- [Sturgis.] March 3, 1968. Notes on disk file representation.
680303-disk-file-rep-hes
- [Sturgis.] March 4, 1968. More notes on disk file representation.
680304-more-disk-file-rep-hes
Design: ECS system
- [Sturgis.] July 14, 1968. Map, operation, capability, objects.
680714-map-oper-capab-hes
- [Sturgis.] July 16, 1968.
Process, subprocess.
680716-proc-subproc-hes
- [Lampson.] July 18, 1968.
"Allocate ECS as follows: ..."
680718-alloc_ecs-bwl
- [Lampson.] "Scope compatibility for symbolic file." 1968?
Sample code and timing for conversion from eight seven-bit ASCII characters per word
to ten six-bit Display Code characters per word. The estimate was nine microseconds
per character.
68-scope-compat-bwl
- [Sturgis.] July 18, 1968. "Allocate fixed peripherals by list scheme ..."
680718-alloc-fixed-periphs-hes
- [Sturgis.] August 22, 1968. Timing estimates.
680822-timing-estimates-hes
- [Sturgis.] "Sensitive code versus interrupt routines." September 3, 1968.
680903-blocking-interrupts-hes
- [Sturgis.] "PPU interrupt procedure." September 3, 1968.
680903-ppu-interrupt-hes
- [Sturgis.] "Event channels." September 3, 1968.
680903-event-channels-hes
- [Sturgis.] "ECS System structure." September 5, 1968.
680905-ecs-system-struct-hes
- [Sturgis.] "Modification of operation; atomic action." September 10, 1968.
"See 7/14/68."
680910-modify-oper-hes
- [Lindsay.] "Subprocess error handler." September 11, 1968.
680911-error-handler-bgl
- [Sturgis.] "Error handling." September 11, 1968.
680911-error-handler-hes
- [Lampson.] "Swapping and charge for ECS." September 11, 1968.
680911-swapping-charge-ecs-bwl
- [Sturgis.] "Process." September 19, 1968.
680919-process-hes
- [Sturgis.] "Stack now contains." September 27, 1968.
Determination of new top of full path when a call or interrupt is being pushed onto the stack.
680927-top-of-full-path-hes
- [Sturgis.] Event channel algorithms. October 3, 1968.
681003-get-put-event-hes
- [Lindsay.] Implementation notes on processes, allocation blocks, etc. October 8, 1968.
Second page lists task assignments, listing Malbrain and Simonyi for the first time.
681008-process-alloc-block-etc-bgl
- [Sturgis.] ECS layer specification. November 1, 1968.
Suddenly the ECS system as we know it appears in a series of specifications for the various principal objects.
The specifications are typewritten, unsigned (but by Howard?), and follow a similar numbered outline format. Numbers 4, 5, and 7 have not been found.
681101-ecs-layer-spec-hes
- Introduction. SPEC series, undated, 2 pages. "This is a preliminary, unofficial description of the ECS
'layer' of the CAL time-sharing system on a 6400 with central exchange jump and Extended core storage."
#intro
- Event Channel. SPEC 1, October 28, 1968, 5 pages.
#event-channel
- Capability List. SPEC 2, October 28, 1968, 3 pages.
#capability-list
- Operations. SPEC 3, October 28, 1968, 8 pages.
#operations
- Subprocess. SPEC 6, October 28, 1968, 2 pages.
#subprocess
- Subprocess Map. SPEC 8, October 28, 1968, 5 pages.
#subprocess-map
- Process. SPEC 9, November 1, 1968, 11 pages.
#process
- File. SPEC 10, October 29, 1969, 5 pages.
#file
- Allocation Block. SPEC 11, October 29, 198, 3 pages.
#allocation-block
- [Lindsay.] Design notes. August–December 1968.
46 pages covering a variety of topics.
68-notes-bgl
- [Lindsay.] Blank compaction. January 9[, 1969?]
Various aspects of text file representation; notes "approved".
690109-blank-compaction-bgl
- [Sturgis.] Speed freaks. January 15[, 1969?]
"When speed freaks are running they will be permitted to only read files, write files,
put an event on an EC, hang on an EC."
690115-speed-freaks-hes
- [Lindsay.] "Scope Sim[ulator]." Undated, circa January 1969?
"Be able to run Compass & Fortran and load them with Fortran library."
Also describes a simple directory for ECS files (with a file type
indicating SCOPE or "system standard text") and a command processor
apparently integrated with SCOPE simulator. Instead, this became the Bead.
In a different hand is written "DO THE SIMPLE THING."
6901-scope-simulator-bgl
- [Lindsay.] ECS system data structure diagrams. Undated, circa winter 1969.
Process, subprocess, event channel, clocks, process in ECS.
69-ecs-sys-data-structures-bgl
- [McJones.] "Operations". Undated, circa winter 1969. Operation data structure diagram.
69-operations-prm
- [Lindsay.] Design notes. January–February 1969.
5 pages covering various topics.
69-notes-bgl
- —. "Controlling Extended Core Storage Access Limits." August 20, 1969. Explains why direct user access to ECS is hobbled by 64-word granularity of ECSRA and ECSFL. 690820-ecs-access-limits
- [Standiford?] "Option bit assignments." August 20, 1969.
Table of option bit assignments for the various object types.
690820-opt-bit-assign
- [Gray.] "[Addendum to] Systext standard." 1970?
70-systext-changes-jng
- [Vaughan.] "User interface, command processor, human engineering." 1970?
Sets down requirements for mechanism for user to control time used by subsystem, etc.
70-user-interface-vv
- [Sturgis.] "Tentative changes to ECS system." March 5, 1970.
Design notes for return parameter authorization.
Vaughan's copy notes: "He settled for return with parameters."
700305-new-sys-calls-hes
- [Sturgis.] "New ECS facility (version 3)." March 12, 1970.
Design notes for capability-creating authorizations.
700312-cca-hes
- [Sturgis.] "New ECS facility." March 12, 1970.
More design notes for return parameter authorization and block data and capability parameters.
700312-new-sys-calls-hes
- [Vaughan, Lindsay, and Redell.] "ECS-List." March 30, 1970.
List of changes (bug fixes, additions, etc.) to ECS system.
700330-ecs-list-vv
- [Gray.] "Disk meeting." April 1, 1970.
Scheme for blocking interrupts for a period of time.
700401-blocking-interrupts-jng
- [Vaughan.] "Interrupts." 1970? Notes for redesign.
70-interrupt-redesign-vv
- [Vaughan.] "Interrupts." April 2, 1970.
700402-interrupts-vv
- [Vaughan.] April 20, 1970.
Notes on various ECS system redesign issues: dirty bit, ECS compaction, bent files,
CPU time accunting, global interrupt inhibit, direct access to ECS, reallocation of ECS.
700420-ecs-sys-issues-vv
- [Vaughan.] "2 CP disaster sheet." Undated, circa early 1970?
70-2-cp-disaster-vv
- [Vaughan.] "Speed phreaques, scheduling, compactification, ECS code, DAE,
& other theological questions made simple." Undated, circa early 1970?
70-speed-freaks-vv
- [McJones.] "Operations." June 3, 1970.
Operation data structure diagram.
700603-operations-prm
- [Redell and Lindsay.] "EDITBIN specification file." September 22, 1970.
Diagram of file used to control editing of system tape? Also lists of module names. 700922-editbin-spec-ddr
- [Sturgis.] "Proposal: Observable states of a subprocess." November 18, 1970.
Proposal for redesign of return to a subprocess.
701118-observable-states-hes
- [Sturgis.] "Actions in the event of a panic." November 24, 1970.
"Bead 4.1 stuff. Later (4.2?) errors replaced with 'return with interrupt.'"
701124-bead-41-panic-hes
- [Sturgis.] "A proposal for the values of a call stack entry and their
manipulation by the return operations." November 30, 1970.
- [Sturgis.] "Interrupt handling code at the command level in the new system." December 4, 1970.
701204-interrupt-handling-hes
- [Lindsay.] 1970?
Proposal for interrupt priorities based on magnitude of high-order part of class code.
70-interrupt-proposal-bgl
- [Vaughan.] "Chapter XXimvldc of the continuing interrupt hassle."
December 7, 1970.
701207-interrupts-vv
- [Vaughan.] "ECS operation timing." December 7, 1970. For display user clocks and write file.
701207-ecs-action-timing-vv
- [Lindsay.] "User direct ECS access." Undated, circa 1970.
70-direct-ecs-access-bgl
- [Vaughan.] "Questions on which you are invited to express opinions in the next few days." February 1, 1971.
Includes updated version of
700601-reconstituted-list-vv.
710201-ecs-system-questions-vv
- [Vaughan.] "AB's Mark III." February 1971.
7102-ab-mk-iii-vv
- [Vaughan.] "New stack logic." February 22, 1971.
Call stack manipulation changes based on
701118-observable-states-hes.
710222-new-stack-logic
- [Vaughan.] Block gone from file in map problem. February 22, 1971.
Originally distributed with 710222-new-stack-logic.
710222-latest-on-maps-vv
- [Vaughan.] "Control of CPU time." February 22, 1971.
A process is now descheduled when its CPU time runs out. Originally distributed
with 710222-new-stack-logic.
710222-control-of-cpu-time-vv
- [Redell.] "CP time cutoff." Undated, circa February 1971?
Describes a mechanism similar to 710222-control-of-cpu-time-vv.
Did this precede or follow?
71-cp-time-cutoff-ddr
- [McDaniel.] "ECS global register and protection." July 22, 1971.
Cover note from Vaughan and proposal from McDaniel for storing some process state bits
in ECS global register.
710722-global-register-gam
- [Sturgis.] "Line collector." Undated, circa 1971.
Vaughan: "debeaded" line collector. "This line collector uses code
copied from GREYCODE,XTEXT the same as the old Bead.
71-debeaded-line-coll-hes
- [Sturgis.] "Calls on the TTY line collector." November 8, 1971.
711108-line-coll-hes
- [McDaniel.] "Modified scheduler."
- [McDaniel?] "Proposal for Modification of ECS System Timed Event Channels (TEVS)." November 4, 1971.
711104-timed-event-proposal-gam
Design: Final system
Design: Final system: architecture
- [Sturgis.] "Disk representation of file." May 1, 1969.
690501-file-rep-hes
- [Sturgis.] January 22, 1970.
"Objects in directories, note on ecs goodie, representation of files, directories,
access keys, ecs goodies, directory structure for an entry, directory operations,
subprocess descriptor."
700122-directories-hes
- [Sturgis.] "Subprocess descriptor." February 19, 1970.
700219-subproc-desc-hes
- [Sturgis.] "Directory object descriptions." February 19, 1970.
"Implementation algorithms another time."
700219-dir-objs-hes
- [Sturgis.] April 23, 1970.
"Open and close, general; directories; disk files;
subprocess descriptors; access keys; global ECS object; ECS goodie."
700423-disk-sys-objects-hes
- [Sturgis.] "[Global] ECS object implementation." March 5, 1970.
Design notes for representing ECS objects in disk system directories.
700305-ecs-goodie-api-hes
- [Sturgis.] "ECS goodie implementation." March 5, 1970.
700305-ecs-goodie-impl-hes
- [Sturgis.] "'Disk process' structure." March 19, 1970.
700319-disk-proc-struc-hes
- [Sturgis.] "General description of actions with respect to directories."
April 17, 1970.
700417-directory-actions-hes
- [Sturgis.] "Directory structure." April 17, 1970.
700417-directory-structure-hes
- [Sturgis.] "Specific actions for directories." April 17, 1970.
700417-directory-action-specifics-hes
- [Sturgis.] "Subprocess descriptors." April 30, 1970.
700430-subproc-desc-hes
- [Sturgis.] "Dump-load." June 1, 1970.
700601-dump-load-hes
Design: Final system: disk files
- [Redell.] "Disk Driver Buffer File." November 2, 1969. Hand-drawn diagram; compare with later
700728-disk-driver-spec-ddr.
691102-disk-driver-buffer-file-ddr
- [Vaughan.] Pseudo-close. Undated; circa spring 1970?
Table of good and bad properties of "magic" and manual pseudo-close.
70-magic-pseudo-close-vv
- [Vaughan.] Notes on new disk system. Undated, circa March 12, 1970.
7003-disk-system-notes-vv
- [Redell.] 3-D rendering of swappable file. Undated, circa spring 1970.
Pointer blocks, active blocks in ECS and on disk, and backup blocks on disk.
70-3d-swapped-file-drawing-ddr
- [Redell.] "Disk allocation routines." Undated, circa 1970?
Internal procedures to get or free disk space for file header blocks, pointer blocks, and data blocks; register-based parameter-passing conventions; and diagrams of disk allocation tables.
70-disk-allocation-ddr
- [Redell.] Disk allocation register-based parameter passing conventions? Undated, circa 1970?
This is very similar to the corresponding page of
70-disk-allocation-ddr;
presumably it is an earlier or later version.
70-disk-allocator-interface-ddr
- [Redell.] "Free DDS Block." Undated, circa 1970?
Diagram of free chain for DDS (Disk Data Structure) blocks.
70-free-dds-block-ddr
- [Lindsay.] "File Claim." Undated, circa mid 1970?
Complete design document for a per-file shared/exclusive "advisory" lock. Includes introduction,
programming interface, internal data structure, and flow charts.
70-file-claim-bgl
- [Lindsay.] Notes and flowchart for exchanging contents of two files ("shazam"). Undated, circa mid 1970?
See 700716-new-low-level-disk-file-actions-ddr.
70-shazam-notes-flowchart-bgl
- [Redell and Lindsay.] "Page Switch and Pointer Pages." July 5, 1970.
Diagram of ECS version (Disk Data Structure) of a pointer block, with detail views showing various
data-block and pointer-block situations.
700705-page-switch-and-ptr-pages-ddr-bgl
- Redell and Lindsay. "Low Level Disk System Actions." July 9, 1970.
This copy has Lindsay's annotations.
700709-low-level-disk-actions-ddr-bgl
- [Redell.] "New low-level disk file actions." July 16, 1970
Exchange contents of two files ("shazam"); fix current content of file (flush to disk).
700716-new-low-level-disk-file-actions-ddr
- [Redell?] "Disk driver specifications." July 28, 1970.
Describes format of disk driver buffer file, request events, and response events,
as well as the protocol for using them.
700728-disk-driver-spec-ddr
- [Lindsay.] File display actions. Undated, circa mid 1970?
Display disk file status, status of n-th open disk file, and n-th attached block of file.
Includes diagram of returned data, and copy of FHR record on which this was based.
70-file-display-actions-bgl
- [Lindsay.] File open flowchart. Undated, circa mid 1970?
Rough handwritten flowchart; compare with
70-file-action-flowcharts-bgl.
70-file-open-flowchart-bgl
- [Lindsay.] File action flowcharts. Undated, circa mid 1970?
Careful handwritten flowcharts for create, open, create data block, attach, and FRETURN read.
Includes list of low level disk system actions, diagram of Local File Table.
70-file-action-flowcharts-bgl
- [Lindsay.] Extract of file creation source code; some test cases.
Original coding sheets for portion of file creation action.
Compare with this label "create21" with label "CREATE20"
on page 14 of CREATE.
70-create-code-and-tests-bgl
- [Redell.] Flowcharts for disk system TERMINATOR process. Undated, circa 1970?
Flowcharts of Central TERMINATOR and Local/Driver interface for each of: header block write and read, pointer block read, data block read and write; also local/driver interface for header block write and read, pointer block read. Also register-based calling conventions and some data structure diagrams.
70-disk-sys-terminator-ddr
- [Redell.] "HELPER Internals." Undated, circa 1970?
Processing of pointer blocks for close and pseudo-close in Disk Data Structures (DDS).
70-helper-internals-ddr
- [Lindsay.] Design notes. April–August 1970.
19 pages covering various topics, mostly disk system related.
70-notes-bgl
- [Lindsay.] Design notes. 1970–1971.
79 pages covering various aspects of the disk system.
71-notes-bgl
- [Redell.] "Load; Recovery." November 9, 1970.
Enumerates steps to load file system from tape and to recover an inconsistent state of the file system.
701109-load-recovery-steps-ddr
- [Redell.] "Destroy in User-disk-service subproc." November 29, 1970.
Enumerates 7 steps, ending with sending an event to CLOSER daemon process to finish the work.
701129-destroy-file-ddr
- [Lindsay and Redell.] Dump tape management. Undated, circa late 1970?
First page is Lindsay's description of daily/weekly/monthly file system dumps (backups);
second page is Redell's diagram of the procedure.
70-dump-tape-mgmt-bgl-ddr
- [Redell.] New disk file actions. Undated, circa early 1971?
Audit, declare accounting file, disk contents ready.
71-new-disk-file-actions-ddr
- [Redell.] Disk system data structure diagrams. Mostly undated; one dated February 16, 1970 and one February 9, 1971.
Disk system global data overview, FHR (file header record), DAR (disk accounting record), LFH (local file header),
FHB (file header block), pointer block, and in-disk data structure.
7102-disk-sys-data-structures-ddr
- [Redell.] "Response event from TERMINATOR; I/O Table Entry; HELPER Request Event." February 9, 1971.
Diagrams of three one- or two-word structures. On this copy Redell has added
ACCOUNTANT request event and USER-INDEX field of disk-driver request event.
710209-terminator-helper-events-ddr
- [Redell.] "Disk Accounting Record; Disk System Internal Accounting Calls." February 9, 1971.
Disk accounting record diagram is hand-drawn; compare with (later?)
71-disk-accounting-record-ddr.
Calls are OPENDAR, CLODAR, DARSPA (adjust space).
710209-disk-acctng-records-and-calls
- [Redell.] "DAR: Disk Accounting Record." Undated, circa 1971.
Diagrams of Disk Accounting Record layouts.
- Version with accompanying descriptions of the fields; last word is unused.
71-disk-accounting-record-ddr
- Version with accompanying description of DF:EOCC (Display Process ECS Status (see ACCNT in disk system) and [allocation block?] diagram by Vaughan;
last word contains two fields.
71-disk-accounting-ddr-vv
- Redell. "Creation and destruction of accounting blocks."
February 9, 1971.
710209-accounting-blocks-ddr
- [Redell.] "DABUF: Disk Accounting Block/Record Buffer." February 18, 1971.
Assembly language declarations.
710218-dar-buf-ddr
- [Redell and Lindsay.] "Proposed actions relating to accounting."
- [Redell.] "To remove Allocator from FRETRW." Undated, circa 1971?
Enumerates steps to perform some restructuring of disk system code.
71-remove-allocator-from-fretrw-ddr
- [Redell.] "Notes: Pseudo-close; Exchange contents." Undated, circa 1971?
Proposes centralizing pseudo-close code in user subprocess to avoid deadlock with TERMINATOR daemon;
describes implementation of "Exchange contents of two files."
71-pseudo-close-and-exchange-notes-ddr
- Redell. Closing down a disk process. March 3, 1971.
710303-disk-proc-end-ddr-bgl
- Redell and Lindsay. Accounting block services.
- November 9, 1970. Create, destroy,
fund process, move space, display.
701109-acctng-block-svc-oper-ddr
- April 22, 1971; page 7 updated May 4, 1971. Create, activate, destroy, display, move disk space down/up,
increment charge meter, set accounting tag.
710422-actng-blk-svc-ddr-bgl
- [Redell or Lindsay.] "Declare process swapped-ECS cross-section." Undated, circa 1971.
Description of disk file action.
71-decl-proc-swapped-ecs-xsec
- [Lindsay.] Notes on forced swapping of a process. Undated, circa 1971?
71-swapping-bgl
Design: Final system: directories
- [McJones.] "Directory." June 29, 1970.
Preliminary interface specification and internal data structure.
- [McJones.] "Name tag system." December 10, 1970.
Design for static and dynamic name tag implementation; only the latter was implemented.
701210-name-tag-system-prm
- [McJones.] October 19, 1971. Instructions for building the directory system.
711019-maintaining-dir-sys-prm
Design: Executive system
- [Sturgis.] "System and system part of user process initialization."
- [Sturgis.] "Tentative basic command processor." September 11, 1970.
700911-tent-basic-cmmd-hes
- [Sturgis.] "Syntax of parameters [for new command processor.]" December 5, 1970. "Read gently."
701205-param-syntax-hes
- [Sturgis.] "WARNING: New syntax for commands." Undated, but after
701205-param-syntax-hes.
70-new-cmmd-syntax-hes
- [Sturgis.] "Bead naming conventions; Bead calls (directory actions)." December 7, 1970.
Simulating Bead calls in the new system.
701207-bead-sim-hes
- [Sturgis.] "Proposal for proprietary subprocesses." February 24, 1971.
710224-prop-subp-hes
- [Sturgis.] "Current root directory structure." February 24, 1971.
Subdirectories OPERATE, CLASS, S ("soon to be called PUBLIC"), and TDLIST;
also PUB.KEY (access key).
710224-current-rootd-hes
- Sturgis. "Preliminary proposal for testing system subprocesses of user processes."
June 8, 1971.
710608-testing-sys-subprocs-hes
- [Sturgis.] Multiprocess test framework: BCPL source code. Undated, circa summer 1971.
Coordination framework for running a command in multiple processes and retrieving the reports. Written in BCPL,
but probably not finished.
71-test-runner-hes
- Sturgis, “A note on charging.” August 17, 1971.
- [Vaughan.] "User Profile." Undated, circa 1971? Diagram of user profile data structure recording
user information including accounting. Includes note from Bridge to Vaughan proposing staffing
for dumping the dayfile (accounting information).
71-user-profile-vv-whb.pdf
- —. "List of privileged operations." November 3, 1971.
Covers ECS system and higher layers; line printer listing (edited on the system). 711103-priv-ops
- [Standiford.] "Proposed change to Builder." November 9, 1971.
New interpretation of scratch-file size.
711109-builder-proposal-kps
4 Documentation
Documentation: ECS system
- [Bentley, Gray, Lindsay, Redell, Sturgis.] Overview of the CAL Time Sharing System.
Unpublished draft, superseded by 691010-overview-bwl.
- Lampson. "An Overview of the CAL Time-Sharing System." October 10, 1969.
Reprint of [Lam69], with a progress report
(similar to 691011-progress-jng) appended.
691010-overview-bwl
- —. "CAL Time-Sharing System Users Guide." November 1969.
Actually, this is the programming reference manual.
- —. "CAL-TSS Internals Manual." November 1969.
- Draft, May-July 1969. Missing Allocation of ECS, Processes, Subprocesses, Class codes, and Maps.
6905-internals-draft
- Draft, September 1969.
6909-internals-draft
- Final. From yellow binder labeled "Teletype Room Copy," with various corrections. 6911-internals
- Annotated. From Vaughan's canvas 3-ring binder, with his errata and extensive notes
for work he did during 1970 and 1971. Includes original copies of various memos he issued during that period.
71-internals-annotated-vv
- [Sturgis.] TS Interrupt System. September 2, 1969.
Interface between peripheral processor code (device drivers) and user processes. Probably originally for inclusion in
Internals Manual.
- [Sturgis.] "S-device user interface." November 5, 1969.
Specification of device interface to be used for tape drives, printers, card readers,
card punches, and the console display.
691105-s-dev-hes
- [Standiford.] "TSS Display Driver - Revision A." July 6, 1970.
700706-disp-driv-rev-a-kps
- Vaughan. "Change to indirect C-list specifications." July 20, 1970.
700720-new-indir-clist-vv
- Vaughan. August 10, 1970.
Updates for ECS system documentation: capability-creating operations,
return with parameters, block data and capability parameters, indirect capability parameters.
700810-ecs-sys-updates-vv
- [Vaughan.] Undated; circa fall 1970?
Jump Call, Special Return, Find Nth Son of a given Subprocess, Zero a capability.
- [Vaughan.] Internal Changes. Undated. SUBPROC dostk,
CAPAB error modifier conventions, ECSACT,XTEXT conventions.
70-internal-changes-vv
- Vaughan. "Allocation blocks." January 4, 1971.
"Proposed User's Manual sections for allocation blocks."
710104-alloc-block-vv
- McDaniel. "The Cal TSS interrupt system." Circa spring 1971.
71-int-sys-gam
Documentation: Bead
- [Malbrain.] "The Bead." Undated, circa summer 1969.
"The Bead is the first subprocess created in every process when the system is initialized. Its function is to act as an interim monitor package to coordinate file activity and naming, elementary utilities, and be a command processor for the user."
69-bead-km
- —. The BEAD Users Guide. December 18, 1969.
691218-bead-ug-km
- [Malbrain.] "Interim system version 3.0." Undated, circa 1970.
"The primary changes occur in the BEAD and IPROC. Space is tightly controlled to alleviate garbage collection
problem. ... The BEAD has two new commands: 'SPACE, n' and 'TRIM'".
70-interim-system-30-km
- [Sturgis.] "Bead 4.0." Undated, circa 1970.
"Differences from Bead 3.1 (those that I can think of)."
Document apparently edited on Cal TSS and printed on TTY.
70-bead-40-hes
- [Sturgis.] "How to make a new system tape for Bead 4.0." Undated, circa 1970.
All-caps listing on TTY; edited on the system. First mention of Builder?
70-make-sys-tape-bead-40
- [McDaniel.] Bead error classes and numbers. Undated, circa 1970.
"One of the most frequent questions heard around TSS teletypes is
34.64.95 BEAD ERROR! BEAD HERE! What the hell does THAT mean???"
70-bead-errors-gam
- [Sturgis.] "Errors in BEADS." Undated, circa 1971.
71-errors-in-beads-hes
- [Vaughan.] "BEADS Errors." Undated, circa 1971?
71-beads-errors-vv
Documentation: SCOPE simulator
- —. "Preliminary SCOPE Manual." November 5, 1969.
The SCOPE simulator made it possible to run programs designed for
CDC's SCOPE batch system.
691105-scope-prelim-km
- —. "SCOPE Manual." January 21, 1970.
"This document describes the SCOPE simulator under the interim system.
A knowledge of the SCOPE 3.1 manual is assumed."
700121-scope-km
- [Malbrain.] "SCOPE 3.0." Undated, circa 1970.
70-scope-30-km
Documentation: User subsystems
- [Gray.] Line collector key bindings. Undated, circa 1969.
Key bindings for backing up, copying or skipping by various amounts.
69-line-collector-key-bindings-jng
- Morris. "Editor Commands." Undated, circa 1969.
Handwritten; has Substitute rather than Change.
69-ed-cmmds-jhm
- [Morris.] Handwritten editor documentation. Undated, circa summer 1969?
Subtitute is crossed out and replaced with Change.
69-editor-jhm
- —. Quick start guide. Undated, circa summer 1969?
"This is a preliminary description of the use of SNOBOL4 under the Time Sharing System."
Three-page guide to use of Bead, Editor, and SCOPE simulator to prepare and run a SNOBOL4 program .
69-short-guide
- [Standiford.] "TSS Printer Driver." November 5, 1969.
- [Standiford.] "TSS Display Driver." Late 1969?
69-disp-driv-kps
- [Sturgis.] "Interim Disk System: Preliminary Manual." Undated, circa January 1970.
7001-interim-disk-sys-hes
- [Standiford.] "TSS display driver: Programming considerations—an amendment
to previous document of late 1969." Undated.
Distributed with an attached copy of 69-disp-driv-kps.
70-disp-driv-amend-kps
- [Standiford.] "TSS Display Driver: Operators Guide." Undated.
70-disp-op-guide-kps
- [Standiford?] "TSS PP DUMP and TSS PP DUMP-TAPE SCANNER." Undated, circa 1970?
70-pp-dump-kps
- [Morris.] "The Text Editor." July 9, 1970.
700709-ed-jhm
- Morris. "The Idiot's Guide to TSS." Fall 1970?
7009-idiots-guide-jhm
- [Standiford.] "Savetss." Undated, late 1971?
"Savetss is a Fortran program for retrieving files from a TSS DISK DUMP TAPE."
Written after TSS was cancelled?
71-savetss-kps
Documentation: Programming languages
- [Malbrain and McJones.] "COOL-AID." 1969? Reference manual for unfinished PL/360-like assembler.
69-cool-aid-km-prm
- [Bridge.] "BASIC." May 1971.
Section E of Part 4 of Volume III (The 6400 Computer System) of the Cal Computer Center Users Guide. BASIC ran interactively under TSS and in batch mode on SCOPE.
7105-cal-basic-whb
- J. H. Morris[, Jr]. BCPL Users Guide. Computer Center, University of California, Berkeley. December 1969.
This initial port ran only under SCOPE;
see also 7105-cal-bcpl-jhm.
6912-bcpl-users-guide-jhm
- [Morris, borrowing from Canady and Ritchie.] "BCPL." May 1971.
Section F of Part 4 of Volume III (The 6400 Computer System) of the Cal Computer Center Users Guide.
This version ran natively under TSS.
7105-cal-bcpl-jhm
- Bridge, McDaniel, and McJones. "CAL Lisp: Preliminary Description." June 1971?
Incomplete design for a LISP 1.5 implementation for CAL TSS (class project).
7106-cal-lisp-whb-gam-prm
- Earley and Caizergues. "VERS Manual: Version 4". October 1971.
Documentation: Final system
- Sturgis. "Command processor preliminary document." 1971?
- [Redell.] Command processor complex preliminary document. 1971?
- [Sturgis.] Grammar for command language. Undated, circa 1971.
71-cmmd-grammar-hes
- [McJones.] Documentation of basic directory actions. Undated, circa January 1971.
Open, close, access, access via scan list, create disk file, create directory,
move space, increment charge meter, set accounting tag, display disk accounting record, return clocks.
7101-dir-actions-prm
- [McJones.] Documentation of directory display actions. February 9, 1971.
Display: n-th entry, named entry, access pairs, successor pointer.
710209-dir-actions-prm
- [Vaughan.] "Portrait of a subprocess descriptor." Spring 1971?
71-portrait-subproc-desc-vv
- —. "Summary documents." Brief summaries: Idiot's Guide, Editor, BASIC;
appendices: getting back to command processor; using line collector.
- [Sturgis.] "SPACE command in CMMD." May 5, 1971.
Command for controlling swapped ECS space, fixed ECS space, MOT slots,
and temporary disk space.
710505-space-cmmd-hes
- [Sturgis.] "New version of CMMD." May 17, 1971.
710517-new-cmmd-hes
- [Gould.] Instructions for running BASIC on the CAL Time-Sharing System. May 1971.
Prepared for her spring 1971 CS1 course. Covered finding a teletype,
logging in, editing, interpreting error messages, etc.
7105-instructions-for-basic-leg
- —. Time-Sharing System Manual. Part 3 of Volume III (The 6400 Computer System)
of the Cal Computer Center Users Guide.
- [Lindsay.] "Exclusively open a disk file (DF:XOPN)." Undated, circa January 1971.
Not "advisory", in contrast with file claim operations.
71-df-xopn-bgl
- [Bentley.] System calls and file actions draft pages, January-February 1971.
7102-tss-manual-draft-mab
- Published version, May 1971; Appendices C and D added in November.
7105-tss-manual
- [Sturgis.] "New facilities available from command processor." June 6, 1971.
New operations available to subsystems.
710606-new-cmmd-facilities-hes
- [Sturgis. "New commands in SERVICES." June 11, 1971.
New commands: SHAZAM, CHAIN, UNCHAIN, and SOFTL.
710611-new-services-cmmds-hes
- [Bentley and Vaughan, editors.] "Introduction to CAL TSS." July 1971; updated October and November 1971.
General concepts, examples, and subsystem summaries for Editor, BASIC, SCOPE simulator,
and command processor Services and Bead Ghost. Early drafts evolved out of Chapter 1 of
7105-tss-manual (see first section of
71-cookbook-vv).
7111-intro-mab-vv
- [Vaughan.] Assorted CAL TSS files. 1970-1971.
- "CAL TSS Cookbook." Undated, 1971.
Vaughan's personal copy of user-oriented information: documentation, status and information, bug reporting and diagnosis,
consulting, etc. Includes only surviving copy of 7111-intro-mab-vv.
71-cookbook-vv
- "Resource control and accounting on CAL TSS." Circa 1970
- "Current tasks". Blue notebook with to-do lists, list of changes to ECS system from December 1970 through June 1971, source code for tests of various ECS actions (see also TESTS source code).
71-blue-notebook-current-tasks-vv
- "Pending horrors, etc." Circa fall 1971. "Various considerations", "system uglies", and "pending changes."
71-pending-horrors-etc-vv
- "NEWSYS Notes." Circa 1970. Vaughan's data structure diagrams, flowcharts, and notes for his ECS system redesign
activities of 1970.
70-newsys-notes-vv
- "Oper Docs." March 13, 1971.
To-do list and originals for problem-diagnosis information in 71-operators-manual.
710313-oper-docs-vv
- "Users". 1971. Lists of users, multiplexor ports, and related information.
71-users-vv
- "User Surveys." October 1971. Filled-out surveys by users and potential users.
7110-user-surveys-vv
- "TSS Applications." October–November 1971. Filled-out applications for accounts on CAL TSS.
7111-user-applications-vv
- CAL TSS charging examples. September-November 1971.
15 TTY listings showing charges for various comomon actions.
7110-cal-tss-charging-examples
- REACT example. September 13, 1971.
Run of a SNOBOL haiku-writing program, with charging information.
710913-react-examples-vv
- [McJones.] Documentation of bulk directory actions. October 27, 1971.
Access multiple owned objects, get/put multiple disk addresses.
Were these to optimize LOAD/DUMP/RECOVER?
711027-dir-actions-prm
- [Sturgis.] "New features in CMMD." October 27, 1971.
TEST mode; TTYON, TTYSON, TTYOFF, NEWMASTER, SYSDOWN, FORCEOUT commands.
711027-new-cmmd-features-hes
- [McJones.] "Option bits". November 3, 1971.
Directory option bit assignments.
711103-dir-option-bits-prm
Documentation: System operation
- [?] ECS deadstart dump programs. Undated, circa early 1969.
A deadstart program was entered into a 12x12 array of toggle switches on the 6400. This one apparently
loaded a program from tape that would dump the contents of ECS to the printer.
69-ecs-dead-start-dump-info
- [Vaughan.] List of various documents in reverse chronological order. August 26, 1971. 710826-doc-list-vv
- Vaughan. System Maintenance. October 15, 1971.
"Currently the naive TSS systems programmer is unable to contruct arbitrary parts of the operating system or user subsystems unless he has ritten some or all of the code for that system."
711015-system-maintenance-vv
- [Vaughan.] "Accounting info." November 1, 1971.
Annotated TTY listing showing how to dump accounting information.
711101-actng-info-vv
- [Vaughan.] "SaveDF prior to load."
Accompanied 711101-actng-info-vv?
711101-savedf-notes-vv
- [Sturgis.] "To be done on Sunday 8pm." Undated, presumably before Sunday, November 24, 1971?
Outlines steps to create new user directories with funds, based on list from Jim Markison in the Computer Center Accounting Department.
7111-accounting-setup-hes
- —. CAL-TSS operator's manual. Initial version was September 10, 1970;
various updates through November 1971. Includes short procedures and trouble-shooting information,
deadstart tape log (one-page form for each time a system programmer wrote, tested,
and installed a new deadstart tape), and bug list/failure log (one-page form for each system crash).
71-operators-manual
5 Humor
- Richard Brautigan. All Watched Over by Machines of Loving Grace.
April 27, 1970.
Photocopied and distributed to the staff by Vaughan.
700427-brautigan-vv
- Redell. "Cal-TSS 20th Anniversary Trivia Quiz." December 14, 1991.
911214-trivia-quiz-ddr
- Redell. "Answers to Cal-TSS 20th Anniversary Trivia Quiz." September 2015.
201509-trivia-answers-ddr
6 Chronological order
This section repeats all the documents in the previous section in a single chronological sequence.
6.i "A basic time sharing system"
The earliest documents, by Howard Sturgis, take up various aspects of a time-sharing
system (including process scheduling, a disk-based file system, low-speed terminal i/o,
and capabilities), but don't mention subprocesses or (multilevel) operations.
- [Sturgis.] May 4, 1967. "This paper is a general description of what
I think needs to be done to produce a time sharing operating system
for our CDC 6400 with ECS, that will be commensurate with the capabilities of the machine.
670504-timesharing-hes
- [Sturgis.] November 15, 1967. "What follows is a description of a basic time
sharing system, as seen by a knowledgeable user." Last two pages are hand-drawn
diagrams of process interactions, dated November 17, 1967.
671115-basic-timesharing-hes
- [Sturgis.] February 20, 1968.
"This is the proposed body of a letter from Prof. Graham to myself (HES).
He wants approval or comments from Ken Hebert [and] Gene Albright.
Phase 1: Design; Phase 2: Limited System; Phase III: Better System."
680220-mhg-to-hes
- [Sturgis.] February 27, 1968. Early disk file system notes.
680227-filesystem-hes
- [Sturgis.] February 28, 1968. More early disk file system notes.
680228-more-filesystem-hes
- [Sturgis.] February 29, 1968. Capabilities, basic objects.
680229-basic-objects-hes
- [Sturgis.] February 29, 1968. Calculations based on size of 6638 disk.
680229-disk-size-calculations-hes
- [Sturgis.] March 3, 1968. Notes on disk file representation.
680303-disk-file-rep-hes
- [Sturgis.] March 4, 1968. More notes on disk file representation.
680304-more-disk-file-rep-hes
6.ii Designing the ECS system
In May 1968 Professor Martin Graham, (then Associate Director of the Computer Center) and Howard Sturgis met with Butler
Lampson to discuss his involvement in the timesharing project that they were about to initiate. [Graham to Vice-Chancellor Sammet, May 16, 1968, Chancellor's Office Records, Bancroft Library, CU-149. Box 121, folder 9]
In the next series of documents, by Howard Sturgis, Butler Lampson, and Bruce
Lindsay, Cal TSS begins to take shape: swapping controlled by a map, subbprocesses, errors and interrupts, and more.
- [Sturgis.] July 14, 1968. Map, operation, capability, objects.
680714-map-oper-capab-hes
- [Sturgis.] July 16, 1968. Process, subprocess.
680716-proc-subproc-hes
- [Lampson.] July 18, 1968.
"Allocate ECS as follows: ..."
680718-alloc_ecs-bwl
- [Lampson.] "Scope compatibility for symbolic file." 1968?
Sample code and timing for conversion from eight seven-bit ASCII characters per word to ten six-bit Display Code
characters per word. The estimate was nine microseconds per character.
68-scope-compat-bwl
- [Sturgis.] July 18, 1968.
"Allocate fixed peripherals by list scheme ..."
680718-alloc-fixed-periphs-hes
- [Sturgis.] August 22, 1968. Timing estimates.
680822-timing-estimates-hes
- [Sturgis.] "Sensitive code versus interrupt routines." September 3, 1968.
680903-blocking-interrupts-hes
- [Sturgis.] "PPU interrupt procedure." September 3, 1968.
680903-ppu-interrupt-hes
- [Sturgis.] "Event channels." September 3, 1968.
680903-event-channels-hes
- [Sturgis.] "ECS System structure." September 5, 1968.
680905-ecs-system-struct-hes
- [Sturgis.] "Modification of operation; atomic act[ion]." September 10, 1968.
"See 7/14/68."
680910-modify-oper-hes
- [Lindsay.] "Subprocess error handler." September 11, 1968.
680911-error-handler-bgl
- Sturgis. "Error handling." September 11, 1968.
680911-error-handler-hes
- [Lampson.] "Swapping and charge for ECS." September 11, 1968.
680911-swapping-charge-ecs-bwl
- [Sturgis.] "Process." September 19, 1968.
680919-process-hes
- [Sturgis.] "Stack now contains." September 27, 1968.
Determination of new top of full path when a call or interrupt is being pushed onto the stack.
680927-top-of-full-path-hes
- [Sturgis.] Event channel algorithms. October 3, 1968.
681003-get-put-event-hes
- [Sturgis.] ECS layer specification. November 1, 1968.
Suddenly the ECS system as we know it appears in a series of specifications for the various principal objects.
The specifications are typewritten, unsigned (but by Howard?), and follow a similar numbered outline format. Numbers 4, 5, and 7 have not been found.
681101-ecs-layer-spec-hes
- Introduction. SPEC series, undated, 2 pages. "This is a preliminary, unofficial description of the ECS 'layer' of
the CAL time-sharing system on a 6400 with central exchange jump and Extended core storage."
#intro
- Event Channel. SPEC 1, October 28, 1968, 5 pages.
#event-channel
- Capability List. SPEC 2, October 28, 1968, 3 pages.
#capability-list
- Operations. SPEC 3, October 28, 1968, 8 pages.
#operations
- Subprocess. SPEC 6, October 28, 1968, 2 pages.
#subprocess
- Subprocess Map. SPEC 8, October 28, 1968, 5 pages.
#subprocess-map
- Process. SPEC 9, November 1, 1968, 11 pages.
#process
- File. SPEC 10, October 29, 1969, 5 pages.
#file
- Allocation Block. SPEC 11, October 29, 198, 3 pages.
#allocation-block
Next the focus shifted to detailed design. Malbrain joined the group, and Simonyi attended a few meetings, but did not join the project, nominating his CAL SNOBOL partner McJones in his stead. Around the same time Gray and Morris began contributing. In the spring of 1969, Standiford joined. That summer Redell joined.
- [Lindsay.] Implementation notes on processes, allocation blocks, etc. October 8, 1968.
Second page lists task assignments, listing Malbrain and Simonyi for the first time.
681008-process-alloc-block-etc-bgl
- [Lindsay.] Design notes. August–December 1968.
46 pages covering a variety of topics.
68-notes-bgl
- [Lindsay.] Blank compaction. January 9[, 1969?]
Various aspects of text file representation; notes "approved".
690109-blank-compaction-bgl
- [Sturgis.] Speed freaks. January 15[, 1969?]
"When speed freaks are running they will be permitted to only read files, write files,
put an event on an EC, hang on an EC."
690115-speed-freaks-hes
- [Lindsay.] "Scope Sim[ulator]." Undated, circa January 1969?
"Be able to run Compass & Fortran and load them with Fortran library."
Also describes a simple directory for ECS files (with a file type
indicating SCOPE or "system standard text") and a command processor
apparently integrated with SCOPE simulator. Instead, this became the Bead.
In a different hand is written "DO THE SIMPLE THING."
6901-scope-simulator-bgl
- [Lindsay.] ECS system data structure diagrams. Undated, circa winter 1969.
Process, subprocess, event channel, clocks, process in ECS.
69-ecs-sys-data-structures-bgl
- [McJones.] "Operations". Undated, circa winter 1969.
Operation data structure diagram.
69-operations-prm
- [?] ECS deadstart dump programs. Undated, circa early 1969.
A deadstart program was entered into a 12x12 array of toggle switches on the 6400. This one apparently
loaded a program from tape that would dump the contents of ECS to the printer.
69-ecs-dead-start-dump-info
- [Lindsay.] Design notes. January–February 1969.
5 pages covering various topics.
69-notes-bgl
- [Sturgis.] "Disk representation of file." May 1, 1969.
690501-file-rep-hes
- —. "Controlling Extended Core Storage Access Limits." August 20, 1969.
Explains why direct user access to ECS is hobbled by 64-word granularity of ECSRA and ECSFL.
690820-ecs-access-limits
- [Standiford?] "Option bit assignments." August 20, 1969.
Table of option bit assignments for the various object types.
690820-opt-bit-assign
6.iii The ECS system begins to run
By the summer of 1969 enough of the ECS system existed to allow a public demonstration exhibiting editing, compiling and execution of Fortran programs from two teletypes simultaneously.
- [Malbrain.] "The Bead." Undated, circa summer 1969. "The Bead is the first subprocess created in every process when the system is initialized.
Its function is to act as an interim monitor package to coordinate file activity and naming,
elementary utilities, and be a command processor for the user." 69-bead-km
- [Gray.] Line collector key bindings. Undated, circa 1969.
Key bindings for backing up, copying or skipping by various amounts.
69-line-collector-key-bindings-jng
- [Morris.] "Editor Commands." Undated, circa 1969.
Handwritten; has Substitute rather than Change.
69-ed-cmmds-jhm
- [Morris.] Handwritten editor documentation. Undated, circa summer 1969?
Subtitute is crossed out and replaced with Change.
69-editor-jhm
- —. Quick start guide. Undated, circa summer 1969?
"This is a preliminary description of the use of SNOBOL4 under the Time Sharing System."
Three-page guide to use of Bead, Editor, and SCOPE simulator to prepare and run a SNOBOL4 program .
69-short-guide
- [Sturgis.] "TS Interrupt System." September 2, 1969.
Interface between peripheral processor code (device drivers) and user processes.
Probably originally for inclusion in Internals Manual.
- [Redell.] "Disk Driver Buffer File." November 2, 1969. Hand-drawn diagram; compare with later
700728-disk-driver-spec-ddr.
691102-disk-driver-buffer-file-ddr
- [Bentley, Gray, Lindsay, Redell, Sturgis.] Overview of the CAL Time Sharing System.
Unpublished draft, superseded by 691010-overview-bwl.
- Lampson. "An Overview of the CAL Time-Sharing System." October 10, 1969.
Reprint of [Lam69], with a progress report
(similar to 691011-progress-jng) appended.
691010-overview-bwl
- Gray. "Progress Report on 6400 CAL Time-Sharing System." October 11, 1969.
691011-progress-jng
- —. "CAL Time-Sharing System Users Guide." November 1969.
Actually, this is the programming reference manual.
- —. "CAL-TSS Internals Manual." November 1969.
- Draft, May-July 1969. Missing Allocation of ECS, Processes, Subprocesses, Class codes, and Maps.
6905-internals-draft
- Draft, September 1969. 6909-internals-draft
- Final. From yellow binder labeled "Teletype Room Copy," with various corrections. 6911-internals
- Annotated. From Vaughan's canvas 3-ring binder, with his errata and extensive notes
for work he did during 1970 and 1971. Includes original copies of various memos he issued during that period.
71-internals-annotated-vv
- —. "Preliminary SCOPE Manual." November 5, 1969.
The SCOPE simulator made it possible to run programs designed for
CDC's SCOPE batch system.
691105-scope-prelim-km
- [Standiford.] "TSS Printer Driver." November 5, 1969.
- [Standiford.] "TSS Display Driver." Late 1969?
69-disp-driv-kps
- [Sturgis.] "S-device user interface." November 5, 1969.
Specification of device interface to be used for tape drives, printers, card readers,
card punches, and the console display.
691105-s-dev-hes
- —. "The BEAD Users Guide." December 18, 1969.
691218-bead-ug
- [Malbrain and McJones.] "COOL-AID." 1969?
Reference manual for unfinished PL/360-like assembler.
69-cool-aid-km-prm
- J. H. Morris[, Jr]. BCPL Users Guide. Computer Center, University of California,
Berkeley. December 1969.
This initial port ran only under SCOPE;
see also 7105-cal-bcpl-jhm.
6912-bcpl-users-guide-jhm
- —. "SCOPE Manual." January 21, 1970.
"This document describes the SCOPE simulator under the interim system.
A knowledge of the SCOPE 3.1 manual is assumed."
700121-scope-km
- [Sturgis.] "Interim Disk System: Preliminary Manual." Undated, circa January 1970.
7001-interim-disk-sys-hes
- Gray. "(Lack of Visible) Progress Report: CAL-6400-TSS." January 15, 1970.
700115-progress-jng
- [Standiford.] "TSS display driver: Programming considerations—an amendment
to previous document of late 1969." Undated.
Distributed with an attached copy of 69-disp-driv-kps.
70-disp-driv-amend-kps
- [Standiford.] "TSS Display Driver: Operators Guide." Undated.
70-disp-op-guide-kps
- [Standiford?] "TSS PP DUMP and TSS PP DUMP-TAPE SCANNER." Undated, circa 1970?
70-pp-dump-kps
- [Malbrain.] "Interim system version 3.0." Undated, circa 1970.
"The primary changes occur in the BEAD and IPROC. Space is tightly controlled to alleviate garbage collection problem. ... The BEAD has two new commands: 'SPACE, n' and 'TRIM'".
70-interim-system-30-km
- [Malbrain.] "SCOPE 3.0." Undated, circa 1970.
70-scope-30-km
- [Malbrain.] "Proposal for batch system." Early 1970?
Early proposal for simple batch system: no tapes or job queuing;
low-level disk system to be implemented below the Bead; SNOBOL program used for ?
70-batch-proposal-km
- [Lindsay.] 1970?
Proposal for interrupt priorities based on magnitude of high-order part of class code.
70-interrupt-proposal-bgl
- [Gray.] "[Addendum to] Systext standard." 1970?
70-systext-changes-jng
6.iv Designing the disk system
In the fall Vaughan and McDaniel joined the project, completing the core team.
- [Vaughan.] "User interface, command processor, human engineering." 1970?
Sets down requirements for mechanism for user to control time used by subsystem, etc. 70-user-interface-vv
- [Sturgis.] January 22, 1970.
"Objects in directories, note on ecs goodie, representation of files, directories,
access keys, ecs goodies, directory structure for an entry, directory operations,
subprocess descriptor."
700122-directories-hes
- [Sturgis.] "Subprocess descriptor." February 19, 1970.
700219-subproc-desc-hes
- [Sturgis.] "Directory object descriptions." February 19, 1970.
"Implementation algorithms another time."
700219-dir-objs-hes
- [Sturgis.] "Tentative changes to ECS system." March 5, 1970.
Design notes for return parameter authorization.
Vaughan's copy notes: "He settled for return with parameters."
700305-new-sys-calls-hes
- [Sturgis.] "[Global] ECS object implementation." March 5, 1970.
Design notes for representing ECS objects in disk system directories.
700305-ecs-goodie-api-hes
- [Sturgis.] "ECS goodie implementation." March 5, 1970.
700305-ecs-goodie-impl-hes
- [Sturgis.] "New ECS facility (version 3)." March 12, 1970.
Design notes for capability-creating authorizations.
700312-cca-hes
- [Sturgis.] "New ECS facility." March 12, 1970.
More design notes for return parameter authorization and block data
and capability parameters.
700312-new-sys-calls-hes
- [Vaughan.] Notes on new disk system. Undated, circa March 12, 1970.
7003-disk-system-notes-vv
- [Sturgis.] "'Disk process' structure." March 19, 1970.
700319-disk-proc-struc-hes
- [Vaughan, Lindsay, and Redell.] "ECS-List." March 30, 1970.
List of changes (bug fixes, additions, etc.) to ECS system.
700330-ecs-list-vv
- [Vaughan.] "Evaluation of work yet to be done on the ECS system as
of 30 March 70."
Last page of memo dated April 13, 1970; followed by 4 pages
on allocation block operations, file page dirty bits, deliver of interrupt datum,
change unique name issues, and allocator issues.
March 30, 1970.
700330-evaluation-vv
- [Gray.] "Disk meeting." April 1, 1970.
Scheme for blocking interrupts for a period of time.
700401-blocking-interrupts-jng
- [Vaughan.] "Interrupts." 1970? Notes for redesign.
70-interrupt-redesign-vv
- [Vaughan.] "Interrupts." April 2, 1970.
700402-interrupts-vv
- Gray. "CAL Progress Report." April 15, 1970.
700415-progress-jng
- [Sturgis.] "General description of actions with respect to directories."
April 17, 1970.
700417-directory-actions-hes
- [Sturgis.] "Directory structure." April 17, 1970.
700417-directory-structure-hes
- [Sturgis.] "Specific actions for directories." April 17, 1970.
700417-directory-action-specifics-hes
- [Vaughan.] April 20, 1970.
Notes on various ECS system redesign issues: dirty bit, ECS compaction, bent files,
CPU time accunting, global interrupt inhibit, direct access to ECS, reallocation of ECS.
700420-ecs-sys-issues-vv
- [Vaughan.] "2 CP disaster sheet." Undated, circa early 1970?
70-2-cp-disaster-vv
- [Vaughan.] "Speed phreaques, scheduling, compactification, ECS code, DAE,
& other theological questions made simple." Undated, circa early 1970?
70-speed-freaks-vv
- [Sturgis.] April 23, 1970.
"Open and close, general; directories; disk files;
subprocess descriptors; access keys; global ECS object; ECS goodie."
700423-disk-sys-objects-hes
- Richard Brautigan. All Watched Over by Machines of Loving Grace.
April 27, 1970.
Photocopied and distributed to the staff by Vaughan.
700427-brautigan-vv
- [Sturgis.] "Subprocess descriptors." April 30, 1970.
700430-subproc-desc-hes
- [Vaughan.] Pseudo-close. Undated; circa spring 1970?
Table of good and bad properties of "magic" and manual pseudo-close.
70-magic-pseudo-close-vv
- [Redell.] 3-D rendering of swappable file. Undated, circa spring 1970.
Pointer blocks, active blocks in ECS and on disk, and backup blocks on disk.
70-3d-swapped-file-drawing-ddr
- [Vaughan.] "September system." [June 1970?]
Notes on content of September system: low-level disk system, less swapping, pseudo-close, and space control;
directory less subprocess descriptors, ECS goodies, global objects, and accounting; disk dump and load;
command processor and subprocess descriptors ("a la bead"), line collector, login, logout, and accounting;
Scope simulator; disk recovery.
7006-sept-sys-vv
- [Vaughan.] "Reconstituted list of things to be done on the ECS level of Cal TSS." June 1, 1970.
"Stuff needed for the operation of the 'September System'." Apparently distributed with a copy
of the first page of 700330-evaluation-vv attached.
700601-reconstituted-list-vv
- [Malbrain?] "Batch system." [June 1970?]
"It is planned to have a running TSS BATCH system by August 15, 1970,
running under the TSS 'September' system."
7006-batch-system-km
- Gray. "Progress Report - CAL-TSS." June 1, 1970.
"I am resigning as director of CAL effective today, Howard Sturgis who, along with Butler Lampson,
was the principle architect of TSS is replacing me. The job is thankless, draining,
mundane, and unpleasant."
700601-progress-jng
- [Sturgis.] "Dump-load." June 1, 1970.
700601-dump-load-hes
- [McJones.] "Operations." June 3, 1970.
Operation data structure diagram.
700603-operations-prm
- [McJones.] "Directory." June 29, 1970.
Preliminary interface specification and internal data structure.
- [Standiford.] "TSS Display Driver - Revision A." July 6, 1970.
700706-disp-driv-rev-a-kps
- Morris. "The Text Editor." July 9, 1970.
700709-ed-jhm
- [Redell.] "Disk allocation routines." Undated, circa 1970?
Internal procedures to get or free disk space for file header blocks, pointer blocks, and data blocks; register-based parameter-passing conventions; and diagrams of disk allocation tables.
70-disk-allocation-ddr
- [Redell.] Disk allocation register-based parameter passing conventions? Undated, circa 1970?
This is very similar to the corresponding page of
70-disk-allocation-ddr;
presumably it is an earlier or later version.
70-disk-allocator-interface-ddr
- [Redell.] "Free DDS Block." Undated, circa 1970?
Diagram of free chain for DDS (Disk Data Structure) blocks.
70-free-dds-block-ddr
- [Lindsay.] "File Claim." Undated, circa mid 1970?
Complete design document for a per-file shared/exclusive "advisory" lock. Includes introduction,
programming interface, internal data structure, and flow charts.
70-file-claim-bgl
- [Lindsay.] Notes and flowchart for exchanging contents of two files ("shazam"). Undated, circa mid 1970?
See 700716-new-low-level-disk-file-actions-ddr.
70-shazam-notes-flowchart-bgl
- [Redell and Lindsay.] "Page Switch and Pointer Pages." July 5, 1970.
Diagram of ECS version (Disk Data Structure) of a pointer block, with detail views showing various
data-block and pointer-block situations.
700705-page-switch-and-ptr-pages-ddr-bgl
- Redell and Lindsay. "Low Level Disk System Actions." July 9, 1970.
This copy has Lindsay's annotations.
700709-low-level-disk-actions-ddr-bgl
- [Redell.] "New low-level disk file actions." July 16, 1970
Exchange contents of two files ("shazam"); fix current content of file (flush to disk).
700716-new-low-level-disk-file-actions-ddr
- Vaughan. "Change to indirect C-list specifications." July 20, 1970.
700720-new-indir-clist-vv
- [Redell?] "Disk driver specifications." July 28, 1970.
Describes format of disk driver buffer file, request events, and response events,
as well as the protocol for using them.
700728-disk-driver-spec-ddr
- [Lindsay.] File display actions. Undated, circa mid 1970?
Display disk file status, status of n-th open disk file, and n-th attached block of file.
Includes diagram of returned data, and copy of FHR record on which this was based.
70-file-display-actions-bgl
- [Lindsay.] File open flowchart. Undated, circa mid 1970?
Rough handwritten flowchart; compare with
70-file-action-flowcharts-bgl.
70-file-open-flowchart-bgl
- [Lindsay.] File action flowcharts. Undated, circa mid 1970?
Careful handwritten flowcharts for create, open, create data block, attach, and FRETURN read.
Includes list of low level disk system actions, diagram of Local File Table.
70-file-action-flowcharts-bgl
- [Lindsay.] Extract of file creation source code; some test cases.
Original coding sheets for portion of file creation action.
Compare with this label "create21" with label "CREATE20"
on page 14 of CREATE.
70-create-code-and-tests-bgl
- [Redell.] Flowcharts for disk system TERMINATOR process. Undated, circa 1970?
Flowcharts of Central TERMINATOR and Local/Driver interface for each of:
header block write and read, pointer block read, data block read and write;
also local/driver interface for header block write and read, pointer block read.
Also register-based calling conventions and some data structure diagrams.
70-disk-sys-terminator-ddr
- [Redell.] "HELPER Internals." Undated, circa 1970?
Processing of pointer blocks for close and pseudo-close in Disk Data Structures (DDS).
70-helper-internals-ddr
- Vaughan. August 10, 1970.
Updates for ECS system documentation: capability-creating operations,
return with parameters, block data and capability parameters, indirect capability parameters.
700810-ecs-sys-updates-vv
- [Vaughan.] Undated; circa fall 1970?
Jump Call, Special Return, Find Nth Son of a given Subprocess, Zero a capability.
- [Vaughan.] Internal Changes. Undated. SUBPROC dostk,
CAPAB error modifier conventions, ECSACT,XTEXT conventions.
70-internal-changes-vv
- [Sturgis.] "Bead 4.0." Undated, circa 1970.
"Differences from Bead 3.1 (those that I can think of)."
Document apparently edited on Cal TSS and printed on TTY.
70-bead-40-hes
- [Sturgis.] "How to make a new system tape for Bead 4.0." Undated, circa 1970.
All-caps listing on TTY; edited on the system. First mention of Builder?
70-make-sys-tape-bead-40
- [Lindsay.] Design notes. April–August 1970.
19 pages covering various topics, mostly disk system related.
70-notes-bgl
- [Lindsay.] Design notes. 1970–1971.
79 pages covering various aspects of the disk system.
71-notes-bgl
- [McDaniel.] Bead error classes and numbers. Undated, circa 1970.
"One of the most frequent questions heard around TSS teletypes is
34.64.95 BEAD ERROR! BEAD HERE! What the hell does THAT mean???"
70-bead-errors-gam
- Morris. "The Idiot's Guide to TSS." Fall 1970?
7009-idiots-guide-jhm
- [Sturgis.] "Tentative basic command processor." September 11, 1970.
700911-tent-basic-cmmd-hes
- [Redell and Lindsay.] "EDITBIN specification file." September 22, 1970.
Diagram of file used to control editing of system tape? Also lists of module names.
700922-editbin-spec-ddr
- [Sturgis.] "System and system part of user process initialization."
- [Redell.] "Load; Recovery." November 9, 1970.
Enumerates steps to load file system from tape and to recover an inconsistent state of the file system.
701109-load-recovery-steps-ddr
- [Lindsay and Redell.] Dump tape management. Undated, circa late 1970?
First page is Lindsay's description of daily/weekly/monthly file system dumps (backups);
second page is Redell's diagram of the procedure.
70-dump-tape-mgmt-bgl-ddr
- [Sturgis.] "Proposal: Observable states of a subprocess." November 18, 1970.
Proposal for redesign of return to a subprocess.
701118-observable-states-hes
- [Sturgis.] "Actions in the event of a panic." November 24, 1970.
"Bead 4.1 stuff. Later (4.2?) errors replaced with 'return with interrupt.'"
701124-bead-41-panic-hes
- [Redell.] "Destroy in User-disk-service subproc." November 29, 1970.
Enumerates 7 steps, ending with sending an event to CLOSER daemon process to finish the work.
701129-destroy-file-ddr
- [Sturgis.] "A proposal for the values of a call stack entry and their
manipulation by the return operations." November 30, 1970.
701130-call-stack-with-vv-notes-hes
- [Malbrain.] "Peripheral Device Processor: Preliminary Specifications."
December 1, 1970.
Proposal for a batch system handling card reader, printer, job queues, tape,
and operator console.
701201-pdp-km
- [Sturgis.] "Interrupt handling code at the command level in the new system."
December 4, 1970.
701204-interrupt-handling-hes
- [Sturgis.] "Syntax of parameters [for new command processor.]" December 5, 1970. "Read gently."
701205-param-syntax-hes
- [Sturgis.] "WARNING: New syntax for commands." Undated, but after
701205-param-syntax-hes.
70-new-cmmd-syntax-hes
- [Vaughan.] "Chapter XXimvldc of the continuing interrupt hassle."
December 7, 1970.
701207-interrupts-vv
- [Vaughan.] "ECS operation timing." December 7, 1970.
For display user clocks and write file.
701207-ecs-action-timing-vv
- [Sturgis.] "Bead naming conventions; Bead calls (directory actions)." December 7, 1970.
Simulating Bead calls in the new system.
701207-bead-sim-hes
- [McJones.] "Name tag system." December 10, 1970.
Design for static and dynamic name tag implementation.
701210-name-tag-system-prm
- [Lindsay.] "User direct ECS access." Undated, circa 1970.
70-direct-ecs-access-bgl
- Sturgis. "Command processor preliminary document." 1971?
- [Redell.] Command processor complex preliminary document. 1971?
- [Sturgis.] Grammar for command language. Undated, circa 1971.
71-cmmd-grammar-hes
- [Sturgis.] "Errors in BEADS." Undated, circa 1971.
71-errors-in-beads-hes
- [Vaughan.] "BEADS Errors." Undated, circa 1971?
71-beads-errors-vv
- [Sturgis.] "Line collector." Undated, circa 1971.
Vaughan: "debeaded" line collector. "This line collector uses code
copied from GREYCODE,XTEXT the same as the old Bead.
71-debeaded-line-coll-hes
- Vaughan. "Allocation blocks." January 4, 1971.
"Proposed User's Manual sections for allocation blocks."
710104-alloc-block-vv
- Sturgis. "About Cal TSS." January 6, 1971.
Sturgis's first status report as project director.
710106-about-hes
- [McJones.] Documentation of basic directory actions. Undated, circa January 1971.
Open, close, access, access via scan list, create disk file, create directory,
move space, increment charge meter, set accounting tag, display disk accounting record, return clocks.
7101-dir-actions-prm
- [Vaughan.] "Questions on which you are invited to express opinions in the next few days." February 1, 1971.
Includes updated version of
700601-reconstituted-list-vv.
710201-ecs-system-questions-vv
- [Vaughan.] "AB's Mark III." February 1971.
7102-ab-mk-iii-vv
- [Redell.] New disk file actions. Undated, circa early 1971?
Audit, declare accounting file, disk contents ready.
71-new-disk-file-actions-ddr
- [Redell.] Disk system data structure diagrams. Mostly undated; one dated February 16, 1970 and one February 9, 1971.
Disk system global data overview, FHR (file header record), DAR (disk accounting record), LFH (local file header),
FHB (file header block), pointer block, and in-disk data structure.
7102-disk-sys-data-structures-ddr
- [Redell.] "Response event from TERMINATOR; I/O Table Entry; HELPER Request Event." February 9, 1971.
Diagrams of three one- or two-word structures. On this copy Redell has added
ACCOUNTANT request event and USER-INDEX field of disk-driver request event.
710209-terminator-helper-events-ddr
- [Redell.] "Disk Accounting Record; Disk System Internal Accounting Calls." February 9, 1971.
Disk accounting record diagram is hand-drawn; compare with (later?)
71-disk-accounting-record-ddr.
Calls are OPENDAR, CLODAR, DARSPA (adjust space).
710209-disk-acctng-records-and-calls
- [Redell.] "DAR: Disk Accounting Record." Undated, circa 1971.
Diagrams of Disk Accounting Record layouts.
- Version with accompanying descriptions of the fields; last word is unused.
71-disk-accounting-record-ddr
- Version with accompanying description of DF:EOCC (Display Process ECS Status (see ACCNT in disk system) and [allocation block?] diagram by Vaughan;
last word contains two fields.
71-disk-accounting-ddr-vv
- Redell. "Creation and destruction of accounting blocks." February 9, 1971.
710209-accounting-blocks-ddr
- [Redell.] "DABUF: Disk Accounting Block/Record Buffer." February 18, 1971.
Assembly language declarations.
710218-dar-buf-ddr
- [Redell and Lindsay.] "Proposed actions relating to accounting."
- [McJones.] Documentation of directory display actions. February 9, 1971.
Display: n-th entry, named entry, access pairs, successor pointer.
711027-dir-actions-prm
- [Vaughan.] "New stack logic." February 22, 1971.
Call stack manipulation changes based on
701118-observable-states-hes.
710222-new-stack-logic
- [Vaughan.] Block gone from file in map problem. February 22, 1971.
Originally distributed with 710222-new-stack-logic.
710222-latest-on-maps-vv
- [Vaughan.] "Control of CPU time." February 22, 1971.
A process is now descheduled when its CPU time runs out. Originally distributed
with 710222-new-stack-logic.
710222-control-of-cpu-time-vv
- [Redell.] "CP time cutoff." Undated, circa February 1971?
Describes a mechanism similar to 710222-control-of-cpu-time-vv.
Did this precede or follow?
71-cp-time-cutoff-ddr
- [Sturgis.] "Proposal for proprietary subprocesses." February 24, 1971.
710224-prop-subp-hes
- [Sturgis.] "Current root directory structure." February 24, 1971.
Subdirectories OPERATE, CLASS, S ("soon to be called PUBLIC"), and TDLIST;
also PUB.KEY (access key).
710224-current-rootd-hes
6.v The disk system begins to run
- Subcommittee on Time Sharing. "Report to: Chancellor's Advisory Committee on Computing."
February 27, 1971.
710227-subcommittee-on-time-sharing-elw
- [Redell.] "To remove Allocator from FRETRW." Undated, circa 1971?
Enumerates steps to perform some restructuring of disk system code.
71-remove-allocator-from-fretrw-ddr
- [Redell.] "Notes: Pseudo-close; Exchange contents." Undated, circa 1971?
Proposes centralizing pseudo-close code in user subprocess to avoid deadlock with TERMINATOR daemon;
describes implementation of "Exchange contents of two files."
71-pseudo-close-and-exchange-notes-ddr
- Redell. Closing down a disk process. March 3, 1971.
710303-disk-proc-end-ddr-bgl
- [Vaughan.] "General Discussion of the Initial User Version of CAL- TSS,
Available around 15 March '71." March 9, 1971.
"The whole project could conceivably be canceled because of computer center funding difficulties,
but on the assumption that it is not cancelled, we proceed to discuss its availability, pas, present, and future."
710309-initial-user-version-discussion-vv
- [Vaughan.] "Facilities available." March 15, 1971.
Status report on readiness of various subsystems.
710315-facilities-avail-vv
- [Sturgis.] "Immediate mopping up." March 15, 1971.
710315-mopping-up-hes
- [Sturgis.] "Major problems." March 17, 1971.
"L/D/R has error on final call; L/D/R opens too many files on dump (can't dump);
can't destroy directories."
710317-major-problems-hes
- [Vaughan.] "Considerations concerning CAL TSS support of users during spring quarter of '71."
March 18, 1971.
Lots of things still weren't ready but Vaughan was looking ahead to logistics for user support.
710318-support-considerations-vv
- McDaniel. "The Cal TSS interrupt system." Circa spring 1971.
71-int-sys-gam
- [Vaughan.] "Portrait of a subprocess descriptor." Spring 1971?
71-portrait-subproc-desc-vv
- —. "Summary documents." Brief summaries: Idiot's Guide, Editor, BASIC;
appendices: getting back to command processor; using line collector.
- Redell and Lindsay. Accounting block services.
- November 9, 1970. Create, destroy,
fund process, move space, display.
701109-acctng-block-svc-oper-ddr
- April 22, 1971; page 7 updated May 4, 1971. Create, activate, destroy, display, move disk space down/up,
increment charge meter, set accounting tag.
710422-actng-blk-svc-ddr-bgl
- [Gould.] Instructions for running BASIC on the CAL Time-Sharing System. May 1971.
Prepared for her spring 1971 CS1 course. Covered finding a teletype,
logging in, editing, interpreting error messages, etc.
7105-instructions-for-basic-leg
- —. Time-Sharing System Manual. Part 3 of Volume III (The 6400 Computer System)
of the Cal Computer Center Users Guide.
- [Lindsay.] "Exclusively open a disk file (DF:XOPN)." Undated, circa January 1971.
Not "advisory", in contrast with file claim operations.
71-df-xopn-bgl
- [Bentley.] System calls and file actions draft pages, January-February 1971.
7102-tss-manual-draft-mab
- Published version, May 1971; Appendices C and D added in November.
7105-tss-manual
- [Bridge.] "BASIC." May 1971.
Section E of Part 4 of Volume III (The 6400 Computer System) of the Cal Computer Center Users Guide. BASIC ran interactively under TSS and in batch mode on SCOPE.
7105-cal-basic-whb
- [Morris, borrowing from Canady and Ritchie.] "BCPL." May 1971.
Section F of Part 4 of Volume III (The 6400 Computer System) of the Cal Computer Center Users Guide.
This version ran natively under TSS.
7105-cal-bcpl-jhm
- [Sturgis.] "Projects related to command processor." May 5, 1971.
"I) Errors will be interpreted and fancy messages printed. ..."
710505-cmmd-projects-hes
- [Sturgis.] "SPACE command in CMMD." May 5, 1971.
Command for controlling swapped ECS space, fixed ECS space, MOT slots,
and temporary disk space.
710505-space-cmmd-hes
- [Sturgis.] "New version of CMMD." May 17, 1971.
710517-new-cmmd-hes
- [Sturgis.] "New facilities available from command processor." June 6, 1971.
New operations available to subsystems.
710606-new-cmmd-facilities-hes
- Sturgis. "Preliminary proposal for testing system subprocesses of user processes."
June 8, 1971.
710608-testing-sys-subprocs-hes
- [Sturgis.] "New commands in SERVICES." June 11, 1971.
New commands: SHAZAM, CHAIN, UNCHAIN, and SOFTL.
710611-new-services-cmmds-hes
- [Sturgis.] Multiprocess test framework: BCPL source code. Undated, circa summer 1971.
Coordination framework for running a command in multiple processes and retrieving the reports. Written in BCPL,
but probably not finished.
71-test-runner-hes
- Bridge, McDaniel, and McJones. "CAL Lisp: Preliminary Description." June 1971?
Incomplete design for a LISP 1.5 implementation for CAL TSS (class project).
7106-cal-lisp-whb-gam-prm
- [Redell or Lindsay.] "Declare process swapped-ECS cross-section." Undated, circa 1971.
Description of disk file action.
71-decl-proc-swapped-ecs-xsec
- [Lindsay.] Notes on forced swapping of a process. Undated, circa 1971?
71-swapping-bgl
- [Bentley and Vaughan, editors.] "Introduction to CAL TSS." July 1971; updated October and November 1971.
General concepts, examples, and subsystem summaries for Editor, BASIC, SCOPE simulator,
and command processor Services and Bead Ghost. Early drafts evolved out of Chapter 1 of
7105-tss-manual (see first section of
71-cookbook-vv).
7111-intro-mab-vv
- [Vaughan.] "Where ECS space is going." July 22, 1971. Measurements.
710722-ecs-usage-vv-hes
- [McDaniel.] "ECS global register and protection." July 22, 1971.
Cover note from Vaughan and proposal from McDaniel for storing some process state bits
in ECS global register.
710722-global-register-gam
- [Vaughan.] August 1, 1971. Measurements of sizes of subprocesses in a "disk process".
710801-disk-proc-vv
- Sturgis. "CAL TSS Report." August 1, 1971.
"The purpose of this report is two-fold: first, to make available detailed information
concerning the present status of CAL TSS, and second, to provide a basis for management
discussion of the future course of development for CAL TSS. Since the TSS staff is small,
not all projects can be pursued at once."
710801-cal-tss-report-hes
- —. CAL Time-Sharing System: Status and Information. August 13, 1971.
"CAL TSS is currently available weekdays from 2-6 PM." [Room 227 has been changed to 223.]
710813-status-and-info-vv.pdf
- Sturgis, “A note on charging.” August 17, 1971.
- [McDaniel.] "Modified scheduler."
- [Vaughan.] List of various documents in reverse chronological order. August 26, 1971.
710826-doc-list-vv
- [Vaughan.] "User Profile." Undated; circa 1971? Diagram of user
profile data structure recording user information including accounting.
Includes note from Bridge to Vaughan proposing staffing for dumping the dayfile (accounting information).
71-user-profile-vv-whb.pdf
- [Vaughan.] Memo to users of CAL TSS. Circa September 10, 1971.
Announces coming end of free use, new SYSMES feature, and "Introduction to CAL TSS" document; includes forms: Application for Use of CAL TSS; CAL TSS User Survey.
710910-memo-to-users-vv
- Earley and Caizergues. "VERS Manual: Version 4". October 1971.
- [Vaughan]. "Proposed charges for TSS. October 8, 1971. "Effective Monday, 25 Oct 71." CPU $130/hour;
ECS $0.29/1000 words-hour, temporary disk $0.47 per 1000 sector-hours; connect time $2/hour;
permanent disk space $9.30/1000-sector-month.
711008-proposed-charges-vv
- Vaughan. System Maintenance. October 15, 1971.
"Currently the naive TSS systems programmer is unable to contruct arbitrary parts of the operating system or user subsystems unless he has ritten some or all of the code for that system."
711015-system-maintenance-vv
- —. CAL Time-Sharing System: Status and Information." October 19, 1971.
"CAL TSS will be run from 10:00 a.m. to 10:00 p.m. on weekdays.
The hours from 12 to 6:00 will be reserved for customers."
711019-status-and-info-vv
- [McJones.] October 19, 1971. Instructions for building the directory system.
711019-maintaining-dir-sys-prm
- [Vaughan or Sturgis.] "CAL TSS Rates: Effective 25 Oct '71." October 20, 1971.
From the SYSMES file.
711020-rates-vv
- [McJones.] Documentation of bulk directory actions. October 27, 1971.
Access multiple owned objects, get/put multiple disk addresses.
Were these to optimize LOAD/DUMP/RECOVER?
711027-dir-actions-prm
- [Sturgis.] "New features in CMMD." October 27, 1971.
TEST mode; TTYON, TTYSON, TTYOFF, NEWMASTER, SYSDOWN, FORCEOUT commands.
711027-new-cmmd-features-hes
- —. [System status.] November 1, 1971.
"1 NOV 71 COMMAND PROCESSOR NEWU COMMAND; 20 OCT 71 CHARGING FOR CAL TSS"
711101-status-vv
- [Vaughan.] "Accounting info." November 1, 1971.
Annotated TTY listing showing how to dump accounting information.
711101-actng-info-vv
- [Vaughan.] "SaveDF prior to load."
Accompanied 711101-actng-info-vv?
711101-savedf-notes-vv
- [McJones.] "Option bits". November 3, 1971. Directory option bit assignments.
711103-dir-option-bits-prm
- —. "List of privileged [disk system] operations." November 3, 1971.
All-caps line printer listing; edited on the system.
711103-priv-ops
- [McDaniel?] "Proposal for Modification of ECS System Timed Event Channels (TEVS)." November 4, 1971.
711104-timed-event-proposal-gam
- [Sturgis.] "Calls on the TTY line collector." November 8, 1971.
711108-line-coll-hes
- [Standiford.] "Proposed change to Builder." November 9, 1971.
New interpretation of scratch-file size.
711109-builder-proposal-kps
- [Vaughan.] Assorted CAL TSS files. 1970-1971.
- "CAL TSS Cookbook." Undated, 1971.
Vaughan's personal copy of user-oriented information: documentation, status and information, bug reporting and diagnosis,
consulting, etc. Includes only surviving copy of 7111-intro-mab-vv.
71-cookbook-vv
- "Resource control and accounting on CAL TSS." Circa 1970
- "Current tasks". Blue notebook with to-do lists, list of changes to ECS system from December 1970 through June 1971, source code for tests of various ECS actions (see also TESTS source code).
71-blue-notebook-current-tasks-vv
- "Pending horrors, etc." Circa fall 1971. "Various considerations", "system uglies", and "pending changes."
71-pending-horrors-etc-vv
- "NEWSYS Notes." Circa 1970. Vaughan's data structure diagrams, flowcharts, and notes for his ECS system redesign
activities of 1970.
70-newsys-notes-vv
- "Oper Docs." March 13, 1971.
To-do list and originals for problem-diagnosis information in 71-operators-manual.
710313-oper-docs-vv
- "Users". 1971. Lists of users, multiplexor ports, and related information.
71-users-vv
- "User Surveys." October 1971. Filled-out surveys by users and potential users.
7110-user-surveys-vv
- "TSS Applications." October–November 1971. Filled-out applications for accounts on CAL TSS.
7111-user-applications-vv
- CAL TSS charging examples. September-November 1971.
15 TTY listings showing charges for various comomon actions.
7110-cal-tss-charging-examples
- REACT example. September 13, 1971.
Run of a SNOBOL haiku-writing program, with charging information.
710913-react-examples-vv
- —. CAL-TSS operator's manual. Initial version was September 10, 1970;
various updates through November 1971. Includes short procedures and trouble-shooting information,
deadstart tape log (one-page form for each time a system programmer wrote, tested,
and installed a new deadstart tape), and bug list/failure log (one-page form for each system crash).
71-operators-manual
- [Sturgis.] "To be done on Sunday 8pm." Undated, presumably before Sunday, November 24, 1971?
Outlines steps to create new user directories with funds, based on list
from Jim Markison in the Computer Center Accounting Department.
7111-accounting-setup-hes
6.vi Development is discontinued.
- —. CAL Time-Sharing System Status. November 29, 1971.
"CAL TSS has been discontinued pursuant to a decision formulated
in the Chancellor's office."
711129-status-vv
- Vaughan. "System staff et al." November 30, 1971.
711130-future-vv
- Sturgis. File system throughput. December 6, 1971.
"On Saturday I conducted some timing tests. I wrote a BCPL program to do
one word IO."
711206-file-system-timing-hes
- Kenneth J Hebert. "Staff notice." December 8, 1971.
"Effective immediately, Vance Vaughan will assume the responsibilities of Chief Programmer.
I hope that you all will give him your utmost support in this most trying position."
711208-promotion-kjh
- Richard Colman. "Computer System Cut."
Daily Californian, December 10, 1971.
711210-cut-dc
- [Standiford.] "Savetss." Undated, late 1971?
"Savetss is a Fortran program for retrieving files from a TSS DISK DUMP TAPE."
Written after TSS was cancelled?
71-savetss-kps
6.vii Afterward
- M. Stuart Lynn. "CDC 6400 Departure". September 3, 1982.
"The CDC 6400 is no more."
820903-cdc-6400-departure-msl
- Redell. "Cal-TSS 20th Anniversary Trivia Quiz." December 14, 1991.
911214-trivia-quiz-ddr
- Redell. "Answers to Cal-TSS 20th Anniversary Trivia Quiz." September 2015.
201509-trivia-answers-ddr
7 Source code
See source.
8 Theses
Three of the participants based their Ph.D. theses on aspects of CAL TSS:
9 Papers
A report ([GLLS72]) and several papers ([Lam69] and
[LS76]) were eventually published.
10 Hardware
CalTSS ran on a standard Control Data Corporation (CDC) 6400 with Extended Core Storage (ECS)
and the Central Processor Monitor features (Monitor Address Register, Monitor Flag Bit, and Monitor and Central Exchange Jump instructions). It used CDC controllers and
peripherals for disk, tape, card reader, and printers, but used a
locally-developed terminal multiplexor.
- Control Data Corporation.
Control Data 6400/6500/6600 Computer Systems Reference Manual. February 1967.
6400-cdc
- Control Data Corporation.
Control Data 6400 Systems Central Processor Monitor. Undated, circa 1968.
68-cp-mon-cdc
- Control Data Corporation. 6639-A Disk File Controller.
From Section IV of Control Data 6000 Series Computer Systems:
Peripheral Equipment Reference Manual. Publication Number 60156100, Revision B.
69-6639-a-disk-file-ctlr-cdc
- Control Data Corporation.
Control Data 6400/6500/6600 Computer Systems reference card. Pub. No. 60164500.
CDC 6000 reference card
- [David Wheeler.] "6400 Multiplexor Reference Manual." 1967?
Wheeler was on sabbatical from Cambridge in the mid 1960s and designed this multiplexor,
originally used with Berkeley's 7094.
Martin H. Graham completed the design and implementation.
6400-mux.djw
11 People
12 Photographs
13 References
- [GLLS72]
- James N. Gray, Butler W. Lampson, Bruce G. Lindsay, and Howard E. Sturgis.
The control structure of an operating system.
Technical Report RC 3949, IBM Thomas J. Watson Research Center,
Yorktown Heights, New York 10598, July 1972.
7207-control-structure-jng
- [Lam69]
- Butler W. Lampson. On reliable and extendible operating systems.
In Proceedings 2nd NATO Conference on Techniques in Software Engineering,
Rome, September 1969. Reprinted in
The Fourth Generation, State of the Art Report Number 1, pages 421-444.
Infotech, 1971.
Online at bwlampson.site /
71-reliable-os-Infotech-bwl
- [LS76]
- Butler W. Lampson and Howard E. Sturgis. Reflections on an operating system design.
Communications of the ACM, 19(5):251-265, January 1976.
Online at bwlampson.site /
ACM Digital Library
- [Lin77]
- Lindsay. Exception Processing in Computer Systems. 1977.
77-thesis-bgl
- [McJ2022]
- Paul McJones. CAL Timesharing System Collection. October 2022; updated January 2024.
20221023-labels-prm
- [MR2023]
- Paul McJones and David Redell. History of the CAL Timesharing System. IEEE Annals of the History of Computing, Volume 45, Issue 3, July-September 2023, pages 80-91. IEEE (open access)
- [Red74]
- David D. Redell. Naming and protection in extendible operating systems.
Technical Report MAC TR-140, Massachusetts Institute of Technology Project MAC, November 1974.
7409-thesis-ddr /
PDF at dtic.mil
- [Stu74]
- Howard E. Sturgis. A postmortem for a time-sharing system. Technical Report CSL 74-1,
Xerox Palo Alto Research Center, Palo Alto, California, January 1974.
7401-thesis-hes /
PDF at
bitsavers.org
14 Citations
Last updated October 12, 2022.