Glossary

Asynchronous
An event that may take place at any time. See synchronous.
BASIC
Beginners All-purpose Symbolic Instruction Code. A simple computer language.
Blocked
Refers to a process waiting for some event to occur. Processes can block on terminal I/O, signals, and other IPC and I/O functions.
Console
The terminal which represents the IIGS's keyboard and monitor.
Context
The attributes which define the state of a process. This includes the program counter, stack pointer, and other machine registers (both CPU and other computer hardware).
Controlling terminal
The terminal which “controls” a process or process group; processes can receive keyboard signals (such as SIGTSTP, or ˆZ) only from their controlling terminal.
Critical Section
A piece of code inside which only one process at a time may be allowed to execute. Critical sections are usually protected by semaphores.
Daemon
A process that runs in the background and waits to act on an asynchronous event. These can be anything: waiting for a caller on a modem, waiting for spooled files to print, etc. Daemons are usually started at boot time by the initd(8) process.
Deadlock
A situation where two or more communicating processes are blocked, waiting on each other. See Chapter 5, “Deadlock”.
Errno
A variable which holds a descriptive numeric error code, returned from C libraries and system calls.
Foobar, foo, bar
Foobar derives from an old military acronym FUBAR. In it's politest interpretation it stands for Fouled Up Beyond All Recognition. Computer scientists borrowed the term and created foobar. When a name for an object in a code fragment is needed but the name itself is not important, foo and bar are first choice among computing science types. They should not be used in production code.
Executable
A program as it resides on disk. Executables can be compiled or assembled programs, or shell scripts. Executables are run by typing their name on the shell's command line and frequently take paramters to determine what data they operate on and particulars of how they do it.
GNO/ME
GNO Multitasking Environment. The complete package including the GNO kernel and the GNO Shell.
GNO Kernel
Heart of GNO/ME. Executes processes when asked by the GNO Shell.
GNO Shell
Provides an interface between the user and the GNO kernel.
gsh
GNO Implementation of a UNIX-like shell.
GS/OS
A 16 bit Operating System for the Apple IIgs.
IPC
“Inter-Process Communication”. Any method by which processes can pass information to other processes.
Job
A set of related processes. Jobs are generally composed of processes with a common parent and the same controlling terminal.
Manpage
Refers to the system call and utility documentation provided with GNO. Manpages exist on disk as either nroff(1) or aroff(1) source. They can also be preformatted by catman(1). They can be viewed by various utilites on a variety of output devices.
Master
Refers to the .PTYxx side of a pseudo-terminal, and also the process controlling that device. The master is usually responsible for setting up the PTY and running a process on it.
Message
A 32-bit value that is passed via the Messages IPC mechanism to another process.
Mutex
Short for mutual exclusion, a term that refers to protecting a critical section.
Panic
An unrecoverable kernel error, usually indicating that an internal data structure has become corrupted.
Parent
When talking about a process, the parent of a process is the one that spawned it; i.e., made the fork(2) system call.
Pipe
A unidirectional IPC mechanism. Pipes transmit binary 8-bit data.
Pipeline
Two or more processes connected by pipes.
Port
A flow-controlled IPC mechanism that can pass longwords of data.
Process
A program in execution.
Process Group
An identifying code for a job. Process groups are also assigned to TTYs, which allows the TTY to differentiate background jobs from foreground jobs when sending interrupt signals.
Pseudo-terminal
A bidirectional communications channel, normally used in windowing systems or for advanced control and testing applications.
PTY
See 'pseudo-terminal'.
Semaphore
A data object used to synchronize concurrent processes.
Sequentialization
The task of ensuring that critical sections are only executed by one concurrent process at a time.
Signal
A software interrupt and IPC mechanism.
Slave
1. A good term to describe the relationship of Joe Citizen to the IRS. 2. The .TTYxx side of a pseudo-terminal; the slave is usually an application program of some kind, like a shell.
Suspended
Refers to a process whose execution has been stopped.
Synchronous
An event that takes place at a predetermined time or sequence of times. Also used to indicate the act of waiting for an event to happen. See asynchronous.
Terminal
Any device that looks like a terminal; this includes pseudo-ttys. By definition, a terminal supports all of the tty(4) ioctl calls.
Tty
Short for Teletype. TTY is an anachronistic term; in modern usage it is taken to mean “terminal”.
UNIX
Popular operating system which has growing use in education and business. One of the first operating systems to support multitasking.

Feedback