process - an execution environment that consists of instruction, user-data and system data segments. program - a file containing instructions and data used to initialize instruction and user-data segments of a process. segmentation fault (SIGSEGV) - Indicates an attempt to access a memory address that is not part of the process virtual memory. The address is not mapped to an object or the writer has invalid permission. In C, this error usually is caused by a pointer error. bus error (SIGBUS) - 1) an attempt to access a nonexistent physical device or bus address, perhaps caused by a hardware error. - 2) an attempt to make an incorrectly aligned transfer to an address. Most machines require that a multi-byte transfer only go to certain addresses, such as a 4 byte transfer can only go to addresses that are multiples of 4. In C, a typical cause is writing non-character data to an odd address. In C, this error usually is caused by a pointer error. stream - full duplex data path in kernel between user processes and driver routines - similar to pipe except data flow and processing is bidirectional effective UID - used to determine file access - same as read UID except is changed by setuid on file session leader - controlling terminal process group - subgroup of above === Somewhere it should be pointed out that there are two execution contexts for kernel: process context: kernel acts on behalf of process (e.g. getting date) exception handling: e.g. floating point exception; synchronously. Has access to u-area. May allowed to block. Software interupts, system calls are other examples. system context: kernel acts on behalf of system such as during interrupts. Interrupts are asynchronous, caused by peripherals, no process context - no access to u-area. Should not block.