Accent kernel
Encyclopedia
Accent was an operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...

 kernel developed at Carnegie Mellon University
Carnegie Mellon University
Carnegie Mellon University is a private research university in Pittsburgh, Pennsylvania, United States....

 (CMU). Accent was developed as a follow-on to the Aleph kernel
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 resources on any machine on the local area network...

 developed at the University of Rochester
University of Rochester
The University of Rochester is a private, nonsectarian, research university in Rochester, New York, United States. The university grants undergraduate and graduate degrees, including doctoral and professional degrees. The university has six schools and various interdisciplinary programs.The...

, fixing several of its problems and re-targeting its hardware support for networks of workstation
Workstation
A workstation is a high-end microcomputer designed for technical or scientific applications. Intended primarily to be used by one person at a time, they are commonly connected to a local area network and run multi-user operating systems...

 machines (specifically, the Three Rivers
Three Rivers Computer Corporation
The Three Rivers Computer Corporation was a spinoff of the Computer Science department at Carnegie-Mellon University, and was founded in 1974 by Brian Rosen, James Teter, Bill Broadley, Stan Kriz, Raj Reddy and Paul Newbury. The company was located in Pittsburgh, Pennsylvania, USA. The company's...

 PERQ
PERQ
The PERQ, also referred to as the Three Rivers PERQ or ICL PERQ, was a pioneering workstation computer produced in the early 1980s....

) instead of minicomputer
Minicomputer
A minicomputer is a class of multi-user computers that lies in the middle range of the computing spectrum, in between the largest multi-user systems and the smallest single-user systems...

s. 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
Mach (kernel)
Mach is an operating system kernel developed at Carnegie Mellon University to support operating system research, primarily distributed and parallel computation. Although Mach is often mentioned as one of the earliest examples of a microkernel, not all versions of Mach are microkernels...

.

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
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

, although the implementation was much different, using messages instead of memory. This turned out to have a number of problems, notably that copying memory on their Data General Eclipse
Data General Eclipse
The Data General Eclipse line of computers by Data General were 16-bit minicomputers released in early 1974 and sold until 1988. The Eclipse was based on many of the same concepts as the Data General Nova, but included support for virtual memory and multitasking more suitable to the small office...

 was very expensive.

In 1979 one of the Aleph engineers, Richard Rashid
Richard Rashid
Richard F. Rashid oversees Microsoft Research's worldwide operations. Previously, he was the director of Microsoft Research. He joined Microsoft Research in 1991, and was promoted to vice president in 1994. In 2000, he became senior vice president...

, 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
Memory management unit
A memory management unit , sometimes called paged memory management unit , is a computer hardware component responsible for handling accesses to memory requested by the CPU...

, 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
Copy-on-write
Copy-on-write is an optimization strategy used in computer programming. The fundamental idea is that if multiple callers ask for resources which are initially indistinguishable, they can all be given pointers to the same resource...

 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. Instances of a program opening ports were handed back different IDs, 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
Capability-based security
Capability-based security is a concept in the design of secure computing systems, one of the existing security models. A capability is a communicable, unforgeable token of authority. It refers to a value that references an object along with an associated set of access rights...

, granting rights to use resources as the result of being handed a valid port ID. This kind of capability system, using subject-specific identifiers for capabilities, is called a C-list system
C-list (computer security)
In capability-based computer security, a C-list is an array of capabilities, usually associated with a process and maintained by the kernel. The program running in the process does not manipulate capabilities directly, but refers to them via C-list indexes—integers indexing into the C-list.The...

.

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
Central processing unit
The central processing unit is the portion of a computer system that carries out the instructions of a computer program, to perform the basic arithmetical, logical, and input/output operations of the system. The CPU plays a role somewhat analogous to the brain in the computer. The term has been in...

 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
    Inter-process communication
    In computing, Inter-process communication is a set of methods for the exchange of data among multiple threads in one or more processes. Processes may be running on one or more computers connected by a network. IPC methods are divided into methods for message passing, synchronization, shared...


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
Monosodium glutamate
Monosodium glutamate, also known as sodium glutamate or MSG, is the sodium salt of glutamic acid, one of the most abundant naturally occurring non-essential amino acids....

 -- better known as "MSG".

There were only six system calls that a process could invoke by trap instructions
Trap (computing)
In computing and operating systems, a trap, also known as an exception or a fault, is typicallyThere is a wide variation in the nomenclature...

. 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

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK