Edge Rewrite
// HTMLRewriter · presentation

This page was redesigned at the edge.

Cloudflare fetched the original article and streamed it through HTMLRewriter to apply an entirely new visual system without rebuilding the source page.

// request.cf · coarse context

A page that knows where it met you.

Only coarse request metadata is shown. This demo does not display or persist visitor IP addresses.

Country
US
Cloudflare location
CMH
Connection
HTTP/2
Language
Not provided

Ray ID: a24d13570f34a140

Jump to content

Talk:TSS/8

Page contents not supported in other languages.
Add topic
From Wikipedia, the free encyclopedia
Latest comment: 8 years ago by Snezzy in topic Re-entrancy bug

Re-entrancy bug

[edit]

Footnote 4 to the TSS-8 paper by van de Goor, Bell and Witcraft (https://pdfs.semanticscholar.org/a353/7908df82b90c2f7390ae9f9cf27d78bca2b2.pdf) makes the ominous remark that, "Reentrant programs cannot easily be written. The subroutine calling instruction JMS places the return address in the subroutine. Also, the PDP-8 does not have index registers, thus it is difficult to access different data areas associated with a common process."

Nevertheless, the TSS-8 operating system attempted to handle certain cases of re-entrancy, such as when a file request occurred during the processing of another file request. The system placed the registers (PC, L, AC, MQ) describing the state into a set of temporary memory locations--not onto a stack, processed the new request, restored the registers, and returned to the previous request. In retrospect, this was clearly a blunder, because if the machine had enough memory to support several users (such as a full 32k word system) several simultaneous file requests could occur in real time, rather than being queued for swapping.

The usual error in such cases would be the loss of a return point within a user program, crashing only the user's virtual machine, but if a system field's return point (field 0, RMON) were lost, privileged control would pass to an incorrect place within field 0, resulting in a system crash.

The error was discovered through laborious crash-dump analysis about 1973 by a high-school student working a summer job at Systems for Educational Time Sharing (SETS) in Waltham, Massachusetts, where crashes were occurring about once per day. Snezzy (talk) 10:16, 23 August 2017 (UTC)Reply