ChorusOS 4.0 Introduction



An actor is the unit of modularity for both applications and subsystems. The actor is also the unit of resource encapsulation used by the various ChorusOS operating system features. For example, at the Core Executive level, threads are resources attached to actors. Memory management features attach address spaces to actors.

actor capability

An actor capability is an unique handle, the possession of which grants the possessor the right to perform operations on the actor, such as modifying its address space, creating and deleting threads, removing it, and so forth. It is the concatenation of a Unique Identifier which is 64 bits long, and of a key which is also 64 bits long.

actor identifier

An actor identifier is a short 32-bit identifier used to identify dynamically loaded actors. Used as an argument to the akill and await commands. Only trusted actors may convert an actor identifier into an actor capability through the acap() service call.


See actor identifier


An application is a program that enables you to do something useful with the ChorusOS operating system.


A board is another name for a simple target system.

boot actor

A boot actor is an actor which is loaded at boot time as part of the system image with the ChorusOS operating system.

boot server

A boot server is a system that stores the system image and makes it available for downloading by one or more target systems.


Berkeley Software Distribution is a version of the Unix operating system, developed at the University of California at Berkeley.


A Board Support Package is a set of target-specific files that contain information needed by the operating system to operate a particular board architecture.

core executive

The core executive is the central part of the ChorusOS operating system, with the ability to support multiple, independent applications running in both user and supervisor address space.

credentials structure

A credentials structure is a set of identifiers defining the privileges of a user.

debug server

A debug server is a program that is dedicated to providing information to a debugging tool in response to external requests.

device driver

A device driver is a software component that represents, to the operating system, a hardware component. The operating system interacts with the device driver to use the hardware component. This means that the operating system does not interact directly with the hardware of your system. For example, if your system communicates over Ethernet, your operating system must include an Ethernet device driver.

ELF files

Executable and Linking Format files are the dominant object, or executable, formats for UNIX.


The Enhanced System Device Interface is an obsolete interface standard for hard disk drives.

event flags set

An event flags set is a set of bits in memory associated with a thread wait queue. Each bit, or event flag, is associated with an event. When the bit is set, the event is said to be posted, and the event is considered to have occurred. Otherwise the event has not yet occurred. A thread may wait on a conjunctive or disjunctive subset of the events in one event flags set.


A File Allocation Table is a hidden table in the MS-DOS file system of every cluster on a floppy or hard disk. The FAT records how files are stored in distinct, not necessarily contiguous, clusters (the basic unit of logical storage).

file system

In a computer, a file system is the way in which files are named and where they are placed logically for storage and retrieval. The UNIX-based operating system has a file system in which files are placed somewhere in a hierarchical (tree) structure. A file is placed in a directory or subdirectory at the desired place in the tree structure.


The Fast File System was developed by the University of California at Berkeley to address performance problems with the existing file system.

flat memory

Flat memory is an implementation of memory management suited for platforms without an MMU. A single address space is managed, and virtual addresses match physical addresses. In this implementation, the memory management interface set is limited.

home actor

The home actor of a thread is the actor in which the thread was created, which may be different from the actor which created the thread.


A host is the system which provides services to the target, and where the development of the ChorusOS operating system and applications takes place.


Integrated Drive Electronics is a hard disk interface standard that offers high performance at low cost.


A kernel is the central module of an operating system. It is the part of the operating system that loads first, and remains in main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications.

main thread

A main thread is the first thread running in an actor, created implicitly by the system in every boot actor, as well as in every dynamically loaded actor.

memory region

A memory region is a contiguous range of virtual addresses within an actor, treated as a unit by the memory system.


A Memory Management Unit is the part of a microprocessor responsible for mapping logical address space (as seen by programs) on to physical address space.


Microsoft Disk Operating System is the standard, single-user operating system of IBM and IBM-compatible computers, introduced in 1981.


A mutex is a mutual exclusion lock. When this type of lock has been acquired and not released by a thread, another thread will be blocked and sleep if it tries to acquire the same lock. The thread will be awakened when the first thread releases the mutex.


The Network File System is a network file-access utility, developed by Sun Microsystems and subsequently released to the public as an open standard, that enables users of UNIX and Microsoft Windows NT workstations to access files and directories on other computers as if they were physically present on the user's workstation.

operating system

An operating system controls a computer system. It provides the common services used by every application running on the system, such as time keeping, or inter-process communication. In an embedded system, it is important to keep the operating system as small as possible while still providing all the services required. The ChorusOS operating system is configurable, so you do not need to include the components that are not necessary for your application or system.

owning actor

See home actor


The Peripheral Component Interconnect is a 32-bit expansion bus specification which supports Plug and Play.


The Point-to-Point Protocol is one of the two standards (the other is SLIP) for directly connecting computers to the Internet via dialup telephone connections. Unlike the older SLIP protocol, PPP incorporates superior data negotiation, compression, and error correction. PPP can also route non-IP traffic, for example IPX for Novell networks.

region descriptor

A region descriptor is a data structure used by actors to describe memory areas on which they want to perform a given operation. A region descriptor is only meaningful as part of a ChorusOS operating system invocation.


A Real-Time Operating System is a system that responds to input immediately, rather than taking a few seconds, or minutes, to react. It offers response times which are predictable, or deterministic.


The Small Computer Systems Interface is an interface in which you can plug devices such as hard disk drives, CD-ROM drives, scanners and laser printers.

secured mode

A secured mode is a mode of execution of the system, where checks are performed on credentials structures to determine the validity of an operation. In this mode, only the super user may load supervisor actors.


A semaphore is an integer counter associated with a thread wait queue. Two atomic operations are available on semaphores: P (or pass) and V (or free). The P operation decrements the counter, and blocks the thread if the counter has reached a negative value. The V operation increments the counter and wakes up a thread, if any, in the semaphore wait queue.


The Serial Line Internet Protocol is the earliest of two Internet standards (the other standard is PPP) specifying how a workstation or personal computer can link to the Internet by means of a serial line.


A subsystem is a set of operating system components running above the micro-kernel which defines a self-contained, high-level API (or personality) for programs. The OS subsystem in ChorusOS, comprising the AM, IOM, ADMIN and C_INIT actors and associated libraries, defines the POSIX personality.

supervisor actor

A supervisor actor is a process, the threads of which are always supervisor threads. Supervisor actors only contain regions within the shared system address space.

super user

A super user is a privileged user whose identifier in the credentials structure is set to 0. When the system is running in secured mode, only the super user may load supervisor actors.

system actor

A system actor is a privileged process run by the ChorusOS operating system. A privileged user actor running in its own address space can also issue privileged requests.

system image

A system image is the binary or executable image that will be loaded on the target system. It includes the operating system and, optionally, application actors.


A target is the system where the ChorusOS operating system will run.


On the Internet, the Transmission Control Protocol is the protocol standard that permits two Internet-connected computers to establish a reliable connection.


A thread is the flow of control within an actor. Each thread is associated with an actor and defines a unique execution state. An actor may contain multiple threads; the threads share the resources of that actor, such as memory regions or message spaces, and are scheduled independently.

thread identifier

A thread-identifier is a 32-bit context-dependent identifier, used to identify a thread within a given actor.


The User Datagram Protocol is one of the fundamental Internet protocols. UDP operates at the same level as the Transmission Control Protocol (TCP), but has a much lower overhead and is much less reliable. Unlike TCP, it does not attempt to establish a connection with the remote computer, but simply hands the data down to the connectionless IP protocol.


The UNIX File System, or UFS, designates the superior BSD-UNIX file system, as apposed to the System V file system.

user actor

A user actor is a process without any special privileges, run by the user. User actors have private user address spaces.


Execution In Place is the name given to object code that does not have to be relocated before being executed.


The ChorusOS operating system debugger from Mentor Graphics Corporation.