Terminology specifications

Terminology specifications
SchemeStation documentation

1 Purpose

The purpose of this document is to identify and define certain terminology that appears frequently in the documents of the SCHEMESTATION project. This document is assumed to evolve during the project.

2 Terminology

Term Definition
SCHEMESTATION An intended operating system under development in HUT CS lab.

CDK core domain kernel agent

DKI domain kernel interface agent

TCA Terminal controlling agent; that part of a terminal driver that runs on the top of the SCHEMESTATION virtual machine.

[SCHEMESTATION] byte code (1) The input language of the SCHEMESTATION virtual machine. (2) Any specific word of the language, i.e. a sequence of byte code instructions in symbolic or binary form.

[SCHEMESTATION] domain (1) A region of execution, inside which all executing agents share a local address space and have mutually different local addresses. (2) A workstation running the SCHEMESTATION operating system. (3) Any other software/hardware unit that has the external behaviour of the SCHEMESTATION operating system.

actor agent

agent An individual process, capable of sending and receiving messages.

core domain kernel agent The special agent controlling a SCHEMESTATION domain as a whole. Commonly abbreviated as CDK.

core file In the SCHEMESTATION context, a UNIX file system file that contains the internal state of a domain that has been previously shut down.
domain kernel interface agent A normal agent that interfaces between the local CDK and the rest of the world. Commonly abbreviates as DKI.

external agent A process that does not run inside any SCHEMESTATION domain but on a non-SCHEMESTATION platform, and provides services to SCHEMESTATION domains from there via the SCHEMESTATION external agent interface.

garbage collection The technical act of reclaiming physical storage in a memory system that corresponds to objects that in principle reside in a heap but that cannot be referenced any more.

heap (1) Any list-structured amount of data. (2) The abstract data type containing all list-structured amounts of data, and nothing else. (3) A software unit that is able to maintain the heap ADT on the top of a conventional linear memory architecture.

kernel-implementing agent Any agent that runs on the top of the SCHEMESTATION virtual machine and can be considered a part of the kernel implementation. The only kernel-implementing agent currently is the DKI, but others could exist if, for example, the functionality of DKI were split into many smaller agents.

migration The act of an agent changing its domain of execution during its lifetime.

persistence In the SCHEMESTATION context, persistence denotes the fact that SCHEMESTATION domain instances can be completely shut down and later revived so, that the internal state of the domain immediately after the wake-up is equivalent to the state just before the shutdown, to the applicable extent.

special agent An agent that cannot run as a standard [user] program on the top of the SCHEMESTATION virtual machine due to e.g. needs to communicate directly with hardware. For example, the core domain kernel agent (CDK) is a special agent, and device drivers are also.

transparent migration Migration that does not create any qualitative changes in the environment observed by the subject of the migration, or any other normal agents.

virtual machine Software unit that is able to execute programs described in a low-level language, e.g. as sequences of byte code instructions.