[cap-talk] Long lost Keykos paper

Jed Donnelley capability at webstart.com
Tue Jan 16 13:39:20 CST 2007


At 11:36 AM 1/15/2007, Norman Hardy wrote:
>I just found a paper copy of a 1972 paper on Keykos.
>It is now online at: <http://cap-lore.com/CapTheory/KK/Jordan/>.
>It describes early proposed architecture and rationale.

Fascinating.  Thanks for sharing that.

Just looking at the requirements, it appears that emulating other OS 
environments was an important motivating factor for this new system:
_____________________

2.2.1. Emulate Operating Systems

Time-sharing is the best way to debug almost any program. It is of 
considerable practical advantage to allow systems programmers to 
debug new versions of the operating system by simulating the effects 
of privileged operations and letting the rest of the system run 
normally. The basic requirement for this is for one program to have 
absolute control over the traps or unusual conditions produced by another.

2.2.2 Simulate Obsolete Monitor Environments

Considerable software is generated by computer manufacturers and 
others which often cannot be used without extensive revision because 
it was written to be executed under a different monitor system. A 
program which can intercept and interpret another's monitor calls can 
provide the necessary insulation to allow the foreign program to 
execute. This may not be a desirable long term mode of operation, but 
it supplies an interim means to utilize foreign software.

2.2.3 Provide Multiple Executive Modes

Most time-sharing systems have, in the past, concentrated on the 
development of the "best" command structure or executive features 
because only one was possible. A system should provide alternative 
executive structures for different purposes and different users.
____________________________

Can you describe how those objectives played out in the development 
and later production use of Gnosis(?)/KeyKos over the years?


I also see objectives for checkpoint/restart (persistence), file 
sharing and perhaps the most relevant for this list:

____________________________

2.2.10 Provide Selective Distribution of Privileged Capabilities

Most systems have a few broad status categories to which privileged 
functions are assigned. Inevitably the need arises to allow a user to 
access one element of a class but not the others. A mechanism for 
identifying individual capabilities and distributing them without 
undue overhead is needed. A similar problem exists for files and file 
directories.
____________________________

I assume that term "capabilities" wasn't the technical term we've 
come to use at that time?  The term "Key" appears in the system overview:
_____________________

3.2.1 Key

A key is the protected name of a system entity whose possession by a 
program implies the authorization to access that entity. Keys are 
protected in the sense that they cannot be directly modified by a 
program even though they appear within its memory; they can only be 
manipulated through a well-defined set of system calls. A program has 
keys to each of its memory pages; conversely, a program may only 
access memory to which it has a key.
_____________________

Gosh, I can see how Charlie becoming available to work on that system 
in 1975 was a great match.

Can you tell us anything more about Dale Jordan and Bill 
Weiher?  What happened to them after this document was written?

Here's one item on Bill Weiher from a quick Googling:

>Bill Weiher went to Tymshare and helped design Tymnet.  He later 
>went on to a Seattle timesharing company along with Dick Gruen and 
>Steve Russell.  There they allowed some smart high school kids to 
>play on their computer, including Billy Gates and Paul Allen.  Billy 
>said much later that the SAIL programming language was the best he 
>had seen.  Too bad he didn't provide comparable quality in the 
>products he sold.

from: http://www.stanford.edu/~learnest/net.htm

that's billed as "Internet creation myths".  Do you know how much 
truth there is to the above?

I didn't know this:
________________________
About that time Tymshare acquired the NLS group from Stanford 
Research Institute. That is the much fabled Engelbart hypertext 
system. That system was quickly adapted to Tymnet. Doug Engelbart 
came with the deal. Our design group seemed to be typical of the sort 
of collaboration that Augment (new name for NLS) was designed for. We 
got access to Augment and quickly converted our design documentation 
to Augment. (It had been in a markup language from IBM called 
Script.) We were never sorry.
_________________________

That's an interesting connection.  I also found the description of 
the "object" term on:

http://www.agorics.com/Library/KeyKos/Gnosis/2.html

of interest.

There's quite a bit of time between 1975 and 1984 when McDonnell 
Douglas bought Tymshare (what an odd purchase.  What prompted 
that?).  Can you give a brief description of what was happening with 
KeyKOS during that 1975-1984 time period?  Perhaps add that description to:

http://cap-lore.com/CapTheory/KK/EKK.html

Can you tell me (us) if Tymshare considered BCC a serious competitor 
when it was operating?

Regarding:

"...the virtual machines provided a luxuriant environment to build a 
new capability kernel which indeed we commenced in 1975."

Perhaps you could add a calendar of events (as requested above) for 
major milestones after 1975?


Thanks for being such a great source for KeyKOS related information on the Web!

--Jed http://www.webstart.com/jed/ 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/cap-talk/attachments/20070116/36ed85eb/attachment-0001.html 


More information about the cap-talk mailing list