TOC PREV NEXT INDEX

LynxOS User's Guide


Glossary

API - Application Programming Interface - A language interface used by programs to access the operating system and/or applications.

Assembler - A program that converts assembly language into machine-executable code.

Assembly language - A human-readable version of machine code or instructions executed by a computer or microprocessor - A compiler produces assembly language, and an assembler converts it into machine code for execution.

ATM - Asynchronous Transfer Mode - A family of communications protocols.

Binary semaphore - A type of semaphore that only has two states, also called a Mutex - Also see Counting semaphore.

Board Support Package - See BSP.

Boot - The sequence of events, from system power up to starting an operating system and/or application on a system - In order to boot, a boot loader must retrieve a bootable image (OS or application executable) from disk, EPROM, or over a network.

Breakpoint - Used when debugging code, breakpoints halt execution of a program at a certain point, allowing programmers to trace through their application.

BSP - Board Support Package - A collection of programs and device drivers that allow an operating system or other piece of software to execute on a particular hardware platform.

CDK - See Cross development kit.

Compiler - A program or collection of programs that converts source code into either assembly language or executable machine code.

Context switch - The process of suspending a currently running thread, task, or process, and beginning or resuming the execution of another thread - In LynxOS there are at least three kinds of context switches: User threads within a virtual address space (process), User threads across virtual address spaces (inter-process), and LynxOS kernel threads.

Counting semaphore - A semaphore with several states that can be increased or decrease - Also see Binary semaphore.

Critical section - A section of code that must be executed without interruption - If two critical sections run at the same time, it is called a race condition.

Cross development - The process of developing an application or kernel on a host system configuration (Linux or Windows, for example) that is different from the target system configuration where the application is to be deployed.

Cross development environment - The cross development environment includes LynxOS-specific compilers, linkers, libraries, and other development tools. For example, GDB - the LynuxWorks version of the GNU debugger, is provided with LynxOS. The LynxOS cross development environment allows for creating LynxOS applications and kernels from a variety of platforms.

Cross development kit - A suite of LynxOS cross development tools specific to a particular host system configuration - Supported cross development kit platforms include Windows, Linux, and Sun/Solaris.

Device driver - Software that facilitates the interfacing of applications or programs with system hardware.

Debugger - A tool for debugging - Specifically, one that facilitates the controlled execution of a program and the inspection of program data.

Determinism - The attribute of a system displaying known and measurable performance characteristics - The kinds of determinism of interest to real-time developers include maximum blocking times, interrupt latencies, and context switch times.

DMA - Direct Memory Access - Protocol allowing for data transfers between two peripherals (memory or I/O devices) without passing it through the processor.

DRM - Device Resource Manager - LynxOS module that manages buses and devices on a system - The DRM provides a standard set of services and calls used to access buses and devices.

EEPROM - Electrically Erasable Programmable Read-Only Memory -
Non-volatile ROM that the user can program, erase and reprogram as needed - EEPROM memory is erased with a small electrical charge.

EPROM - Erasable Programmable Read-Only Memory - Non-volatile ROM that the user can program, erase and reprogram as needed - EPROM memory is erased with exposure to ultraviolet light.

Embedded system - A combination of hardware and software designed to perform a specific function.

Fault tolerance - The characteristic of a system enabling it to recover from hardware and software faults, usually through the use of redundant hardware.

Firmware - Software that has been written to ROM.

Flash memory - EPROM that can be erased and rewritten by software.

Hard real-time - A hard real-time system must always meet specific deadlines. In a soft real-time system, deadlines can be missed. A hard real-time system is used to denote a critical environment where deadlines cannot be missed. See also Real-time operating system.

High availability - The utilization of distributed computer resources to maximize system uptime and provide failsafe mechanisms for hardware or software failures

Host - A computer or operating system that communicates with a target system via a serial port or network connection - In cross development environments, the host system is where applications are developed. Also see Target.

Hot swap - The act of inserting and extracting hardware boards to/from a system chassis without having to cycle system power.

In-circuit emulator - A hardware device that either substitutes or augments the functioning of a microprocessor - Emulation enables the controlled execution of software programs and the exercising of system hardware. In-circuit emulation is useful when porting LynxOS to new hardware, or creating a BSP.

Inter-process communication - The act and the mechanisms for communication and synchronization among threads, tasks, or processes - IPCs include control variables, mutexes, queues, and semaphores.

Interrupt - A hardware event, such as the arrival of data on an I/O port, that causes a specific asynchronous software response, that is, the program stops its current activity to service the interrupt. The LynxOS model of interrupt processing is to field the interrupt in the device driver, but to perform actual processing in LynxOS kernel threads.

KDI - Kernel Downloadable Image - KDIs combine a LynxOS kernel and associated applications into bootable images designed for easy downloading to target systems.

Kernel - The core of the operating system that handles thread or task creation, scheduling, and synchronization.

Kernel threads - In LynxOS, kernel threads provide processing service to device drivers.

Linker - A utility program that combines the object code output of a compiler or an assembler to create an executable program.

Microcontroller - Similar to microprocessors, microcontrollers are designed specifically for use in embedded systems.

Microkernel - A type of kernel architecture that breaks kernel functionality and services into modules - Users can select only the required kernel modules, reducing the kernel footprint size, and removing unneeded services.

Microprocessor - A silicon chip that contains a general-purpose CPU

MMU - Memory Management Unit - The circuitry present in a microprocessor or sometimes in a separate device to allow for the protection of regions of system memory and for the mapping & translation of logical (program) addresses into physical memory address to implement virtual addressing.

Mutex - A multitasking-aware flag used to protect critical sections from interruptions - Mutexes are also called Binary semaphores. Also see Critical sections.

Mutual exclusion - Achieved through use of semaphores or mutexes, mutual exclusion allows for exclusive access to a shared resource.

Native development - The process of developing applications on the same platform and environment that the application is to be deployed on - Also see Cross development.

Netboot - Booting an application or kernel image across a network instead of from ROM or a disk.

ODE - Open Development Environment - The native LynxOS development environment - An ODE consists of LynxOS native versions of GNU compilers, the LynxOS/GNU linker, libraries, ROMing tools, utilities, and other utilities. Also see Cross development kit.

Policy - A set of user-defined behaviors in a system - In real-time, policy usually refers to the rules for scheduling threads of like priority. LynxOS supports three scheduling policies: Round-robin (time-slice), Quantum (N time-slices), and FIFO (run to completion). In high availability systems, policy can also mean the specific responses to failure conditions.

POSIX - Portable Operating System Interface - A family of standards based on UNIX system V and Berkeley UNIX that defines the interface between applications and an operating system for maximum compatibility and portability across implementations.

Preemption - The interruption of thread execution by the operating system for the purpose of rescheduling - Preemption occurs when a program's time-slice or quantum has expired, or when a higher-priority thread becomes ready to run. In LynxOS, the operating system itself is preemptible.

Priority - The relative importance of a thread of execution - Priorities are represented in numerical values. LynxOS offers 256 unique priorities. In a hard real-time system, the thread with the highest priority that is ready to run always runs.

Process - An executing program - In LynxOS, processes are virtually addressed containers for globally structured threads.

PROM - Programmable Read-Only Memory.

Real-time operating system - An operating system that responds to events and input immediately - General operating systems, such as DOS or UNIX, are not real-time.

RAM - Random Access Memory - Volatile memory type that allows data to be written to and erased to/from it

ROM - Read Only Memory - Non-volatile memory type that only allows
read-access.

RTOS - See Real-time operating system.

Scheduling - The process of determining which thread or task is allowed to run on a system - Hard real-time scheduling is based on priority. If two threads exist at the same priority, scheduling is then based on policy.

Semaphore - A hardware or software flag that indicates the status of a resource

Target - The system on which an application is deployed - Typically, the target system is synonymous with embedded system. Also see Host.

Task - The basic schedulable entity in most operating systems, especially real-time operating systems - Usually synonymous with process.

Thread - Part or parts of a program that can be executed independent of the parent process.

Virtual addressing - The use of an MMU to provide applications the illusion of a logical address space - Each virtual address space is isolated from other applications and their virtual address spaces, except as requested by memory sharing inter-process communications. Virtual addressing translates the program-local logical addresses into physical addresses, and maps blocks of physical memory into logical address spaces only as needed.

Virtual memory - The extension of physical memory (RAM) onto long-term storage, typically a disk drive, through the use of virtual addressing and swapping.

Volatile - Memory that loses its contents after system power is cycled - The contents of non-volatile memory do not change after system power is cycled.

X Windows - A graphical user interface and windowing environment for UNIX systems.



LynuxWorks, Inc.
855 Branham Lane East
San Jose, CA 95138
http://www.lynuxworks.com
1.800.255.5969
TOC PREV NEXT INDEX