Storage Management

The operating system provides storage support for the ILE high-level languages. This storage support removes the need for unique storage managers for the runtime environment of each language. It avoids incompatibilities between different storage managers and mechanisms in high-level languages.

The operating system provides the automatic, static, and dynamic storage used by programs and procedures at runtime. Automatic and static storage are managed by the operating system. That is, the need for automatic and static storage is known at compilation time from program variable declarations. Dynamic storage is managed by the program or procedure. The need for dynamic storage is known only at runtime.

When program activation occurs, static storage for program variables is allocated and initialized.

When a program or procedure begins to run, automatic storage is allocated. The automatic storage stack is extended for variables as the program or procedure is added to the call stack.

As a program or procedure runs, dynamic storage is allocated under program control. This storage is extended as additional storage is required. You have the ability to control dynamic storage. The remainder of this topic concentrates on dynamic storage and the ways in which it can be controlled.