Accent kernel

Accent kernel

Accent was an operating system kernel developed at Carnegie Mellon University (CMU). Accent was developed as a follow-on to the Aleph kernel developed at the University of Rochester, fixing several of its problems and re-targeting its hardware support for networks of workstation machines instead of minicomputers. Accent was part of the SPICE Project at CMU which ran from 1981 to 1985. Development of Accent led directly to the famous Mach kernel.

The original Aleph project used data copying to allow programs to communicate. Applications could open "ports", which would allow them to receive data sent to them by other programs. The idea was to write a number of "servers" that would control resources on the machine, passing data along until it reached an end user. In this respect it was similar in concept to Unix, although the implementation was much different, using messages instead of memory. Unfortunately this turned out to have a number of problems, notably that copying memory on their Data General Eclipse was very expensive.

In 1979 one of the Aleph engineers, Richard Rashid, left for CMU and started work on a new version of Aleph that avoided its problems. In particular, Accent targeted workstation machines featuring a MMU, using the MMU to "copy" large blocks of memory via "mapping", making the memory appear to be in two different places. Only data that was changed by one program or another would have to be physically copied, using the copy-on-write algorithm.

To understand the difference, consider two interacting programs, one feeding a file to another. Under Aleph the data from the provider would have to be copied 2kB at a time (due to features of the Eclipse) into the user process. Under Accent the data simply "appeared" in the user process for the cost of a few instructions sent to the MMU. Only if the user process changed the data would anything need to be copied, and even then, only the portions of the data that actually changed.

Another problem in Aleph was that its ports were identified by unique ID's that were assigned sequentially. It was simple for a program to "guess" them, thereby gaining access to resources on the computer that it had not been granted. This made the Aleph system rather insecure.

To address this, Accent made the port ID's internal to the kernel only. Programs opening ports were handed back a different ID, stored in a mapping in the kernel. Whenever a message was sent to the kernel for delivery, it would first check that the program had access to the port in question by comparing with the mapping table for that program. Guessing port numbers no longer worked, the program's port IDs gave no clue of the "real" IDs in the kernel, and any attempt to talk on one not explicitly handed out by the kernel was an error. Thus Accent's ports represented "capabilities", granting rights to use resources as the result of being handed a valid port ID.

After a few years the Accent project started looking less and less interesting. In the early 1980s many felt that future gains in performance would be made by adding more CPUs to machines, something the Accent kernel was not really equipped to handle. Adding to the problem was that a new generation of more powerful workstations were appearing, meaning that Accent would likely have to be ported to them anyway. Likewise Unix had grown into "the" operating system of choice for experimental work, both on operating system design, as well as a development platform for user applications.

In order to address these changes, it was decided to end work on Accent and start again. The new system would use Accent's ports system within a Unix kernel, creating the famed Mach kernel.

Some features of Accent:

* Port capabilities
* Copy-on-write virtual memory management
* Distributed file management
* Distributed process management
* Protected message-based inter-process communication

Trivia

Accent was based on the concept of passing "messages", often shortened to "msg". Accent was also part of the SPICE project. The name "Accent" was used for a spice sold by Accent Inc., which consisted entirely of monosodium glutamate -- better known as "MSG".

There were only six system calls that a process could invoke by trap instructions. All six were related to sending and receiving messages. All of the other system calls (e.g., to allocate memory or to spawn other processes) were invoked by sending messages to the kernel exactly as if the kernel was just another user-level server process.

External links

* [http://www.microsoft.com/presspass/exec/rick/default.asp Rick Rashid's page at Microsoft Research]


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Accent — may refer to:peech and language* Accent (linguistics), pronunciation common to a certain language dialect * Stress (linguistics), tone levels and emphasis used in many languages to provide information when using the language * Stress (phonology)… …   Wikipedia

  • Accent (noyau) — Pour les articles homonymes, voir Accent (homonymie). Accent est un noyau de système d exploitation développé au début des années 1980 à l université Carnegie Mellon, USA. Accent faisait partie du projet Spice, conduit de 1981 à 1985. Les… …   Wikipédia en Français

  • Mach (kernel) — Mach is an operating system microkernel developed at Carnegie Mellon University to support operating system research, primarily distributed and parallel computation. It is one of the earliest examples of a microkernel, and still the standard by… …   Wikipedia

  • Big Kernel Lock — Pour les articles homonymes, voir Verrou (homonymie). Le verrou global du noyau, en anglais Big Kernel Lock ou Giant Lock (littéralement le « verrou géant du noyau »), est un mécanisme qui permet de suspendre toutes les opérations du… …   Wikipédia en Français

  • Aleph kernel — Aleph was an operating system kernel developed at the University of Rochester as part of their RIG project in 1975. Aleph used inter process communications to move data between programs and the kernel, so applications could transparently access… …   Wikipedia

  • Mach — У этого термина существуют и другие значения, см. Мах. Необходимо проверить качество перевода и привести статью в соответствие со стилистическими правилами Википедии. Вы можете помочь улучшить эту статью …   Википедия

  • linguistics — /ling gwis tiks/, n. (used with a sing. v.) the science of language, including phonetics, phonology, morphology, syntax, semantics, pragmatics, and historical linguistics. [1850 55; see LINGUISTIC, ICS] * * * Study of the nature and structure of… …   Universalium

  • Микроядро Mach — Mach  микроядро операционной системы, разработанное в Carnegie Mellon University в исследовательских целях для решения задач с использованием распределенных вычислений. Это одно из первых микроядер, которое до сих пор используется во множестве… …   Википедия

  • Noyau Linux — Pour les articles homonymes, voir Noyau et Linux (homonymie). Linux …   Wikipédia en Français

  • Symbian OS — Infobox OS name = Symbian OS caption = developer = Symbian Ltd. source model = Shared kernel type = Microkernel supported platforms = ARM (can be emulatedFact|date=September 2008 on x86) ui = S60 platform, UIQ, MOAP family = Embedded operating… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”