Last Updated on: 23rd August 2023, 12:52 pm
Web site: cis.upenn.edu/~KeyKOS/Gnosis/Gnosis.html (not active)
Desktop environment: CLI
Based on: Independent
The last version | Released:
GNOSIS (Great New Operating System In the Sky) – an example of a completely different kind of operating system. Gnosis was developed by TYMSHARE as a proprietary control program and it also developed proprietary application packages to run on it. GNOSIS was based on the research of Norman Hardy, Dale E. Jordan, Bill Frantz, Charlie Landau, Jay Jonekait, et al. McDonnell Douglas bought Tymshare, Inc. and then sold it in 1984 to Key Logic.
Programs under Gnosis are built out of protection domains with firewalls between them. Domains are small, simple, and cheap.
Domains communicate through doors in the firewalls, called capabilities. Capabilities are a simple, uniform, efficient means of representing authority.
There are several significant factors which make it possible.
* First, and foremost, the Gnosis concept of distinct domains without implicit interactions between them results in simpler programs. Because of this, we have had to spend a great deal of time designing the interfaces between these domains to insure that adequate function exists in each; but perhaps even that is a benefit since we will know exactly how the system goes together. The basic design of Gnosis will ensure that no compromises to the design occur during the implementation.
* Second, because individual components are completely isolated from each other, except for the prescribed interfaces, it is a simple matter to implement each domain independently of the remainder of the operating system. Very little scaffolding is required. We went to install the CMS editor in Gnosis and noted all of the things we thought ought to be there as co-requisites, things like a command language to call the editor, a file system, a loader, catalog facilities, and so on. To our surprise, we discovered that we didn’t need any of those facilities. We could just connect the editor directly to the terminal handler and test it. This made development go much quicker.
* Third, we have been able to coexist with, and take advantage of, CMS during the early going. We expect to use CMS services for quite some while for compiling programs and so forth. Thus our “critical mass” of code is very much smaller that it would otherwise be.
* Fourth, the basic design of Gnosis allows us to write most of the operating system as user code, which means we will be able to eliminate a lot of duplication of effort in terms of testing tools, etc. The system will also be much simpler because all of the details of the hardware are masked in the kernel. Consequently no domain programmer need ever deal with them, which makes the domains simpler, and also greatly reduces the impact of any hardware changes. We have tended to follow the advice of Fred Brooks in the Mythical Man-month, where he suggests “be prepared to throw the first one away.” We have implemented each domain with the simplest possible algorithms in order to test the design. Later we will have to discard many of these domains and rewrite them with high performance algorithms which obey the same interface specifications. Most of these first attempt domains can be implemented In a matter of days.
* Last, but certainly not least, we have a relatively high technology “office of the future” system called AUGMENT which we are using to keep all of our design notes as well as our user documentation. The use of this system,will save us a significant amount of labor as we develop a user community over the next several years.
The combination of these facilities has made it possible for us to implement a great deal of function very quickly. As Norm mentioned earlier, we have only just started running our first domains recently. Yet we expect to be able to have a significant online database application operational within a year.