Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

CTSS on non-7094 computers?

6 views
Skip to first unread message

Eric Fischer

unread,
Mar 24, 1999, 3:00:00 AM3/24/99
to
Were there ever any plans to port CTSS to computers other than the IBM
7094? A few of the pages in the second edition CTSS manual explicitly
say 7094 in the page header, as if to suggest that there were non-7094
versions of the pages that could be substituted in as needed.

eric

Tracy Nelson

unread,
Mar 24, 1999, 3:00:00 AM3/24/99
to

In Dennis Ritchie's paper "The Evolution of the UNIX Time-Sharing
System" [Bell Laboratories Technical Journal Vol 63, No. 8 Part 2], he
says that Multics development was performed on a GE 645 (originally a
635, I believe). He also states that development began under CTSS.
This seems to me to imply that CTSS was available for either the 635 or
the 645. Note that this is not explicitly said, and that early Multics
work certainly could have begun on IBM equipment. I'm sure someone who
knows better can set this straight.

Tom Van Vleck

unread,
Mar 24, 1999, 3:00:00 AM3/24/99
to
Eric Fischer wrote:
> Were there ever any plans to port CTSS to computers other than the IBM
> 7094? A few of the pages in the second edition CTSS manual explicitly
> say 7094 in the page header, as if to suggest that there were non-7094
> versions of the pages that could be substituted in as needed.

No. 95% of the CTSS supervisor was written in 7094 assembly language,
distinctly non-portable. The supervisor, which fit in 128K bytes
including tables, was very tightly coded, and had I/O subsystems
that depended on the 7094's channel architecture. Adding features
to CTSS was hindered by the necessity to find core space for them.

(Two modules of the scheduler were written in MAD for clarity,
and there was one module written in AED-0. (In the late 60s,
the scheduler modules were rewritten in FAP by Dave Anderson,
I think, and the MAD kept as comments, in part to gain a few
hundred more words for features.))

Tom Van Vleck

unread,
Mar 24, 1999, 3:00:00 AM3/24/99
to
Lisa or Jeff wrote:
> What is CTSS? I guess a predecessor to CICS?

The Compatible TimeSharing System, one of the first mainframe
timesharing operating systems, written at MIT. CTSS was
first demonstrated in 1962, and was used by MIT's Project MAC
as the development platform for Multics. For more info, see
"The IBM 7094 and CTSS," http://www.multicians.org/thvv/7094.html

Tom Van Vleck

unread,
Mar 24, 1999, 3:00:00 AM3/24/99
to
d...@bell-labs.com wrote:
> In case Van Vleck is doing real work instead of netnews or is on
> vacation: check http://www.multicians.org/history.html .

(I am doing real work on another keyboard, and typing this
while waiting for my PC to reboot AGAIN.)

> But briefly: CTSS probably did move from the 7090 to 7094 (not exactly
> a "port.") Much of the approach and culture of CTSS gave rise to
> Multics,
> and CTSS was used heavily in cross-compiling early Multics programs.

By the time I first used CTSS in 1963, it was on the 7094 with dual
core banks and memory protect. I think that the 7090 version, lacking
these features, was mostly a demonstration project.

> However, CTSS itself was never ported to the GE kit. One could
> write and compile Multics PL/1 programs on CTSS and prepare a magtape
> to be could be carried across the room to the GE machine. (If I recall
> correctly, the CTSS command was approximately "636tape", where the 636
> was an incorrect guess as to the numerology of machine naming.)

The CTSS command MRGEDT prepared IMCV tapes on the 7094 for input to
GECOS on the GE-635, using a CTSS supervisor entrypoint invoked by
TIA =H636TAP

(I'll translate the above.. MRGEDIT was the "merge editor." It
read control files which said "compile X, compile Y, link it, run it,
take a dump, and return the output" and expanded into huge virtual
card decks full of GECOS control cards. The tape written was a
batch input tape carried by the operator from a 7094 tape drive
to a GE635 tape drive and fed into Input Media ConVersion. CTSS
supervisor entrypoints were invoked by executing the TIA instruction,
illegal in user slave programs, with an address that pointed at a
BCD (i.e. Hollerith) string that named the entrypoint.)

> I distantly
> recall the name 6.36, which referred to an observation that the
> simulated, name-guessed "GE 636" was 1% the speed of the real machine.
>
> The GE 635, early on, was used to simulate the 645 (The original
> "Multics Machine.") Their basic instruction sets were the same,
> and the 645 mainly added the segmentation ("appending") mechanisms,
> with some other stuff as well.

6.36 was the name of the simulator program, running on the 635,
that simulated a 645 CPU. Standard merge-editor runs would invoke
it. There was a time when we ran GECOS on the 645, and had a
sort of "free run" simulator that actually used the real 645.
The idea was to run both ways and compare results. As I remember
this was used for a few months in 1967.

(About this time Nguyen Van Binh was working on the real bootstrap
loader for Multics. He was a Bull employee and had to rotate back
to France, and so Noel Morris and I got to work on bootstrap1.
The design had been done by Andre Bensoussan, another Bull employee
working at GE in Cambridge. But I digress.)

Back to the merge-editor. The 635 used special tape drives that
were self-loading, but which requred a 150 foot leader before
the load point reflector. So we used special tapes for IMCV, with
two load points, one at the normal 7094 length, 15 feet or so,
and another way in. One of the many hacks in the 636TAP program
was a way of skipping the tape way out and then rewinding it to
the second load point. Lee Varian worked on this.

Bell Labs had a 635 too, and we had an IBM 7711 link, tape drives
connected by synchronous modems, between Cambridge and Murray Hill,
so the BTL researchers could dial into CTSS from New Jersey,
use a special argument to MRGEDT and have their tapes sent to
the Bell machine room, run on the simulator there, and then send
the dump tape back to Cambridge for input into the 7094 so they
could use the interactive debugger on CTSS. Complicated, but it worked.

Lisa or Jeff

unread,
Mar 25, 1999, 3:00:00 AM3/25/99
to
> Were there ever any plans to port CTSS to computers other than the IBM
> 7094? A few of the pages in the second edition CTSS manual explicitly
> say 7094 in the page header, as if to suggest that there were non-7094
> versions of the pages that could be substituted in as needed.

What is CTSS? I guess a predecessor to CICS?

Dennis Ritchie

unread,
Mar 25, 1999, 3:00:00 AM3/25/99
to
Tracy Nelson wrote:

>
> Eric Fischer wrote:
> >
> > Were there ever any plans to port CTSS to computers other than the IBM
> > 7094? ...

> In Dennis Ritchie's paper "The Evolution of the UNIX Time-Sharing
> System" [Bell Laboratories Technical Journal Vol 63, No. 8 Part 2], he
> says that Multics development was performed on a GE 645 (originally a
> 635, I believe). He also states that development began under CTSS.
> This seems to me to imply that CTSS was available for either the 635 or
> the 645. Note that this is not explicitly said, and that early Multics
> work certainly could have begun on IBM equipment. I'm sure someone who
> knows better can set this straight.

In case Van Vleck is doing real work instead of netnews or is on

But briefly: CTSS probably did move from the 7090 to 7094 (not exactly


a "port.") Much of the approach and culture of CTSS gave rise to
Multics,
and CTSS was used heavily in cross-compiling early Multics programs.

However, CTSS itself was never ported to the GE kit. One could


write and compile Multics PL/1 programs on CTSS and prepare a magtape
to be could be carried across the room to the GE machine. (If I recall
correctly, the CTSS command was approximately "636tape", where the 636

was an incorrect guess as to the numerology of machine naming.) I


distantly
recall the name 6.36, which referred to an observation that the
simulated, name-guessed "GE 636" was 1% the speed of the real machine.

The GE 635, early on, was used to simulate the 645 (The original
"Multics Machine.") Their basic instruction sets were the same,
and the 645 mainly added the segmentation ("appending") mechanisms,
with some other stuff as well.

Dennis

Sarr J. Blumson

unread,
Mar 25, 1999, 3:00:00 AM3/25/99
to
In article <thvv-24039...@thvv.vip.best.com>,

Tom Van Vleck <th...@multicians.org> wrote:
>
>Bell Labs had a 635 too, and we had an IBM 7711 link, tape drives
>connected by synchronous modems, between Cambridge and Murray Hill,
>so the BTL researchers could dial into CTSS from New Jersey,
>use a special argument to MRGEDT and have their tapes sent to
>the Bell machine room, run on the simulator there, and then send
>the dump tape back to Cambridge for input into the 7094 so they
>could use the interactive debugger on CTSS. Complicated, but it worked.

And then there was the "BTL Bootstrap" that the Bell Labs folks in
Whippany built, which did sort of time sharing on the two console
typewriters on the 635 (originally intended for the system operator and
the tape operator); it could do assemblies from cards and had an octal
debugger, but no long term storage.

And then, of course, we (Dartmouth) used _that_ as a bootstrap to build
MOLD (Multiple On Line Debugging) which talked to a Datanet-30 to run up
to 15 Teletype terminals, from which DTSS grew. But that was on a 635;
we couldn't afford the 645 hardware.

--
--------
Sarr Blumson sa...@umich.edu
voice: +1 734 764 0253 home: +1 734 665 9591
ITD, University of Michigan http://www-personal.umich.edu/~sarr/

0 new messages