Keykos and Documentation

About 1970 IBM introduced versions of their 370 series machines with dynamic address translation and Tymshare began to contemplate using them for timesharing service. I was already familiar with the 360 and indeed the model 67 of the 360 which included address mapping. The promise of a mainline system with mapping seemed strategic for Tymshare regardless of our own plans for a new operating system. IBM’s VM/370 provided efficient virtual machines which provided a conceptually simple timesharing function that was becoming broadly popular even without IBM’s strategic sales support. (IBM provided source for VM/370.) VM/370 provided an ideal platform to serve some of our current customers and a new class of customers that were already oriented towards IBM technology for whatever reasons. IBM’s hardware was also available in more powerful versions than the PDP-10 from DEC.

I began to read the 370 manual. I was impressed with the precision that I found. I gradually dawned on me that all of the hardware information that I needed to write correct privileged code was there in the manual. Previous hardware systems had required auxiliary information. (Perhaps the Stretch manual was also complete.) The kernel was to occupy a layer next to the hardware and the kernel might be thought to extend the hardware. We hopped to document the extension as carefully as IBM had documented the machine. We did not adopt the particular style that IBM had used but we did attempt to match the precision. The result may be found here.

As Bill Weiher reminded me in a recent (1999) phone conversation, the original impetus for Gnosis was to provide a substrate for the operating system so that more sophisticated OS like functionality would be feasible. An OS for the OS sort of. The term kernel or micro-kernel has been used more recently. As development proceeded we saw no reason to restrict general programs from these more primitive system functions.