OpenEdge provides a dynamic environment for loading and executing r-code from operating system files, standard procedure libraries, and memory-mapped procedure libraries. This execution environment consists of the following components:
Execution buffer — The portion of local memory that OpenEdge allocates and uses to store the chain of loaded r-code segments for all standard r-code executing in local memory.
R-code swap file (.rcd) — A file that OpenEdge uses to dynamically swap standard r-code segments in and out of the execution buffer.
Shared memory buffer — The portion of shared memory that the operating system allocates and uses to store and execute the r-code segments for all memory-mapped members.
Segment descriptor table — An in-memory table that references the r-code segments required by all executing r-code, including the location of each r-code segment in local or shared memory and usage count information.
R-code directory — An in-memory table that contains information about all r-code executing in local or shared memory, including r-code size, usage count, segment descriptions, and a reference to the segment descriptor table for each segment.
OpenEdge loads and executes r-code in different ways, depending on whether you access the r-code file directly or store the r-code in either a standard or memory-mapped procedure library. The following sections provide an overview of how OpenEdge loads and executes r-code from each of these sources.