HOME

TheInfoList



OR:

Accent was an
operating system An operating system (OS) is system software that manages computer hardware, software resources, and provides common daemon (computing), services for computer programs. Time-sharing operating systems scheduler (computing), schedule tasks for ef ...
kernel Kernel may refer to: Computing * Kernel (operating system), the central component of most operating systems * Kernel (image processing), a matrix used for image convolution * Compute kernel, in GPGPU programming * Kernel method, in machine lea ...
developed 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 ...
(CMU). Accent was developed as a follow-on to the
Aleph kernel Aleph is a discontinued operating system kernel developed at the University of Rochester as part of their RIG project in 1975. Aleph was an early set on the road to the creation of the first practical microkernel operating system, Mach. Aleph us ...
developed at the
University of Rochester The University of Rochester (U of R, UR, or U of Rochester) is a private university, private research university in Rochester, New York. The university grants Undergraduate education, undergraduate and graduate degrees, including Doctorate, do ...
, fixing several of its problems and re-targeting its hardware support for networks of
workstation A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''worksta ...
machines (specifically, the Three Rivers PERQ) instead of
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. 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 Unix (; trademarked as UNIX) is a family of multitasking, multiuser computer operating systems that derive from the original AT&T Unix, whose development started in 1969 at the Bell Labs research center by Ken Thompson, Dennis Ritchie, a ...
, 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 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 mem ...
was very expensive. In 1979 one of the Aleph engineers,
Richard Rashid Richard Farris Rashid is the founder of Microsoft Research, which he created in 1991. Between 1991 and 2013, as its chief research officer and director, he oversaw the worldwide operations for Microsoft Research which grew to encompass more than ...
, 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 Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource-management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is dupl ...
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'', granting rights to use resources as the result of being handed a valid port ID. This kind of capability system, using
subject Subject ( la, subiectus "lying beneath") may refer to: Philosophy *''Hypokeimenon'', or ''subiectum'', in metaphysics, the "internal", non-objective being of a thing **Subject (philosophy), a being that has subjective experiences, subjective cons ...
-specific identifiers for capabilities, is called a C-list system. 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 Copy-on-write (COW), sometimes referred to as implicit sharing or shadowing, is a resource-management technique used in computer programming to efficiently implement a "duplicate" or "copy" operation on modifiable resources. If a resource is dupl ...
virtual memory In computing, virtual memory, or virtual storage is a memory management technique that provides an "idealized abstraction of the storage resources that are actually available on a given machine" which "creates the illusion to users of a very ...
management * Distributed file management * Distributed process management * Protected message-based inter-process communication * Ability to run processes with different
microcode In processor design, microcode (μcode) is a technique that interposes a layer of computer organization between the central processing unit (CPU) hardware and the programmer-visible instruction set architecture of a computer. Microcode is a la ...
d instruction sets.


References


External links

* {{cite book , url=https://dl.acm.org/doi/10.1145/800216.806593 , title=Accent: A communication oriented network operating system kernel , authorlink=Richard Rashid , last=Rashid , first=Richard F. , author2=George G. Robertson , series=Sosp '81 , date=December 1981 , pages=64–75 , doi=10.1145/800216.806593 , isbn=9780897910620 , s2cid=15890135 , format=PDF Monolithic kernels Carnegie Mellon University software