Aleph Kernel
   HOME

TheInfoList



OR:

Aleph is a discontinued operating system kernel developed at the University of Rochester as part of their
RIG Rig may refer to: Objects and structures * Rig (fishing), an arrangement of items used for fishing * Drilling rig, a structure housing equipment used to drill or extract oil from underground * Rig (stage lighting) * rig, a horse-drawn carriage ...
project in 1975. Aleph was an early set on the road to the creation of the first practical microkernel operating system,
Mach Mach may refer to Mach number, the speed of sound in local conditions. It may also refer to: Computing * Mach (kernel), an operating systems kernel technology * ATI Mach, a 2D GPU chip by ATI * GNU Mach, the microkernel upon which GNU Hurd is bas ...
. Aleph used
inter-process communication In computer science, inter-process communication or interprocess communication (IPC) refers specifically to the mechanisms an operating system provides to allow the processes to manage shared data. Typically, applications can use IPC, categori ...
s to move data between programs and the kernel, so applications could transparently access resources on any machine on the local area network (which at the time was a 3-Mbit/s experimental Xerox Ethernet). The project eventually petered out after several years due to rapid changes in the computer hardware market, but the ideas led to the creation of Accent at
Carnegie Mellon University Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania. One of its predecessors was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools; it became the Carnegie Institute of Technology ...
, leading in turn to
Mach Mach may refer to Mach number, the speed of sound in local conditions. It may also refer to: Computing * Mach (kernel), an operating systems kernel technology * ATI Mach, a 2D GPU chip by ATI * GNU Mach, the microkernel upon which GNU Hurd is bas ...
. Applications written for the RIG system communicated via ''ports''. Ports were essentially message queues that were maintained by the Aleph kernel, identified by a ''machine'' unique (as opposed to globally unique) ID consisting of a process id, port id pair. Processes were automatically assigned a process number, or ''pid'', on startup, and could then ask the kernel to open ports. Processes could open several ports and then "read" them, automatically blocking and allowing other programs to run until data arrived. Processes could also "shadow" another, receiving a copy of every message sent to the one it was shadowing. Similarly, programs could "interpose" on another, receiving messages and essentially cutting the original message out of the conversation. RIG was implemented on a number of Data General Eclipse
minicomputer A minicomputer, or colloquially mini, is a class of smaller general purpose computers that developed in the mid-1960s and sold at a much lower price than mainframe and mid-size computers from IBM and its direct competitors. In a 1970 survey, ...
s. The ports were implemented using memory buffers, limited to 2 kB in size. This produced significant overhead when copying large amounts of data. Another problem, realized only in retrospect, was that the use of global ID's allowed malicious software to "guess" at ports and thereby gain access to resources they should not have had. And since those IDs were based on the program ID, the port IDs changed if the program was restarted, making it difficult to write servers with clients that could rely on a specific port number for service.


References

{{cite conference , author= Rashid, Richard F , s2cid=1114881 , title=From RIG to Accent to Mach: the evolution of a network operating system , book-title=Proceedings of 1986 ACM Fall joint computer conference , year=1986 , pages=1128–1137 , ISBN=0-8186-4743-4 Monolithic kernels