When using the frame scheduler, the basic design unit: a piece of work that can be done by one thread or process without interruption. You partition the real-time program into activities and use the frame scheduler to invoke them in sequence within each frame interval.
The set of memory addresses that a process may legally access. The potential address space in Linux is 264; however, only addresses that have been mapped by the kernel are legally accessible.
Advanced programmable interrupt controller.
A segment of memory used as a pool for allocation of objects of a particular type.
I/O performed in a separate process so that the process requesting the I/O is not blocked waiting for the I/O to complete.
The rate at which data arrives at a data collection system, averaged over a given period of time (seconds or minutes, depending on the application). The system must be able to write data at the average rate, and it must have enough memory to buffer bursts at the peak data rate.
Base address register.
A measure of time determined by the resolution of the real-time clock.
A type of stimulator provides the effects of laws of physics to a machine.
A top-level process that handles startup and termination.
Central Processing Unit refers to cores (not sockets).
Code that operates a specific hardware device and handles interrupts from that device.
The time the device driver spends processing the interrupt and dispatching a user thread.
The symbolic name of a device that appears as a filename in the /dev directory hierarchy. The file entry contains the device numbers that associate the name with a device driver.
A hardware signal from an I/O device that is generated in response to a voltage change on an externally accessible hardware port.
A version of a function call that has been optimized in assembler in order to bypass the context switch typically necessary for a full system call.
A number returned by open() and other system functions to represent the state of an open file. The number is used with system calls such as read() to access the opened file or device.
A program that experiences a significant error if it misses a deadline but can recover from the error and can continue to execute. See also hard real-time program and soft real-time program.
The amount of time that a program has to prepare the next display frame. A frame rate of 60 Hz equals a frame interval of 16.67 milliseconds.
The frequency with which a simulator updates its display, in cycles per second (Hz). Typical frame rates range from 15 to 60 Hz.
A process execution manager that schedules activities on one or more CPUs in a predefined, cyclic order.
The thread or process that creates a frame scheduler. Its thread or process ID is used to identify the frame scheduler internally, so a thread or process can only be identified with one scheduler.
The thread that creates a frame scheduler.
A rate of data transfer, in bytes per second, that definitely is available through a particular file descriptor.
A program that experiences a catastrophic error if it misses a deadline. See also firm real-time program and soft real-time program.
The time required to make a CPU respond to an interrupt signal.
A simulator in which the role of operator is played by another computer.
A hardware signal from an I/O device that causes the computer to divert execution to a device driver.
An array of frs_intr_info_t data structures, where each element in the array represents a minor frame.
See hardware latency.
The process of directing certain interrupts to specific real-time processors and directing other interrupts away from specific real-time processors in order to minimize the latency of those interrupts.
The total time from the arrival of an interrupt until the user process is executing again. Its main components are hardware latency, software latency, device service time, and mode switch.
A routine that is called each time an interrupt occurs to handle the event.
A 64-bit counter that is scaled from the CPU frequency and is intended to allow an accounting for CPU cycles.
A register that allows the generation of an interval timer when a certain ITC value has been reached.
Interprocessor interrupt.
Interrupt request.
Individual-rack unit.
To remove the Linux CPU from load balancing considerations, a time-consuming scheduler operation.
Numerous short interruptions in process execution.
Memory objects that represent the exclusive right to use a shared resource. A process that wants to use the resource requests the lock that (by agreement) stands for that resource. The process releases the lock when it is finished using the resource. See semaphore .
Linux security model.
The basic frame rate of a program running under the frame scheduler.
The first frame scheduler, which provides the time base for the others. See also slaves and sync group.
1 microsecond is .000001 seconds. Abbreviated as us or usec.
1 millisecond is .001 seconds. Abbreviated as ms or msec.
The scheduling unit of the frame scheduler, the period of time in which any scheduled thread or process must do its work.
The time it takes for a thread to switch from kernel mode to user mode.
Message passing interface.
1 nanosecond is .000000001 seconds. Abbreviated as ns or nsec.
The Linux pthreads library shipped with 2.6 Linux.
When incoming data arrives faster than a data collection system can accept it and therefore data is lost.
When a thread or process scheduled by the frame scheduler should have yielded before the end of the minor frame but did not.
The hardware event that results when a process attempts to access a page of virtual memory that is not present in physical memory.
The units of real memory managed by the kernel. Memory is always allocated in page units on page-boundary addresses. Virtual memory is read and written from the swap device in page units.
The instantaneous maximum rate of input to a data collection system. The system must be able to accept data at this rate to avoid overrun. See also average data rate.
The entity that executes instructions in a Linux system. A process has access to an address space containing its instructions and data.
A thread defined by the POSIX standard. Pthreads within a process use the same global address space. Also see thread .
A technique for analyzing a program based on the periodicities and deadlines of its threads and events.
A technique for choosing scheduling priorities for programs and threads based on the results of rate-monotonic analysis .
To prevent a CPU from running scheduled processes.
The rules under which an activity thread or process is dispatched by a frame scheduler, including whether or not the thread or process is allowed to cause overrun or underrun exceptions.
Any contiguous range of memory addresses. Segments as allocated by Linux always start on a page boundary and contain an integral number of pages.
A memory object that represents the availability of a shared resource. A process that needs the resource executes a p operation on the semaphore to reserve the resource, blocking if necessary until the resource is free. The resource is released by a v operation on the semaphore. See also locks.
To switch off the timer (scheduler) interrupts that would normally be scheduled on a CPU.
An application that maintains an internal model of the world. It receives control inputs, updates the model to reflect them, and outputs the changed model as visual output.
The other schedulers that take their time base interrupts from the master scheduler. See also sync group.
A program that can occasionally miss a deadline with only minor adverse effects. See also firm real-time program and hard real-time program.
The time required to dispatch an interrupt thread.
The distribution of I/O interrupts across all available processors as a means of balancing the load.
An application that maintains an internal model of the world. It receives control inputs, updates the model to reflect them, and outputs the changed model as nonvisual output.
A portion of a CPU buffer. The size of the CPU buffer equals the number of sub-buffers multiplied by the sub-buffer size.
The combination of a master scheduler and slaves.
An independent flow of execution that consists of a set of registers (including a program counter and a stack). Also see pthread.
Translation lookaside buffer, which translates CPU virtual memory addresses to bus physical memory addresses.
The time it takes for a simulator to reflect a control input in its output display. Too long a transport delay makes the simulation inaccurate or unpleasant to use.
time-stamp counters
User-level interrupt
A user process that has registered a function with the kernel, linked into the process in the normal fashion, to be called when a particular interrupt is received.
When a thread or process scheduled by the frame scheduler should have started in a given minor frame but did not (owing to being blocked), an underrun exception is signaled. See overrun exception .
Systems with processors that run at the same speed but do not have the same clock source and therefore their ITC values may experience drift relative to one another.
Microsecond (1 us is .000001 seconds).
A facility that allows a hardware interrupt to be handled by a user process.