Managing

 

Dynamically-Allocated Storage

 

 

 

 

For

more

information

on the RCLRSC command, referCL

Referenceto the

 

 

 

(Abridged).

For

more

information

on

the

RCLRSC

and

activation

groups, refe

ILE

Concepts.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Managing Dynamically-Allocated

Storage

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ILE

allows

you

to

directly manage run-time

storage

from your

program

heaps. heapA

is

an

area

of

storage

used

for

allocations

of

dynamic

amount of dynamic storage required by an application depends on the

processed

by

the

programs

and

procedures

that

use the

heap.

You

manage

heaps

by using the storage management operations ALLOC,

REALLOC, and

DEALLOC

or by using

ILE

bindable

APIs.

 

 

 

 

You

are

not required to

explicitly

manage

run-time storage. However,

to do so if you

want to make use of dynamically allocated run-time

example, you may want to do

this

if

you

do not know exactly how la

multiple-occurrence data structure should be. You could define the a

structure

as

BASED,

and acquire the actual storage for the array o

once

your

program

determines

 

how

large

it

should

be.

 

 

 

There are two types of heaps available on the system: a default created heap. The RPG storage management operations use the default following sections show how to use RPG storage management operations wi default heap, and also how to create and use your own heap using management APIs. For more information on user-created heaps and other storage management concepts referILE Conceptsto .

Managing the Default Heap Using RPG Operations

The first request for dynamic storage within an activation group res

ation ofdefault heap from which the storage allocation takes place. Addi requests for dynamic storage are met by further allocations from th there is insufficient storage in the heap to satisfy the current storage, the heap is extended and the additional storage is alloca

Allocated dynamic storage remains allocated until it is explicitly free heap is discarded. The default heap is discarded only when the o group ends.

Programs in the same activation group all use the same default heap. program accesses storage beyond what has be allocated, it can caus another program. For example, assume that two programs, PGM A and PGM B running in the same activation group. 10 bytes are allocated for PGM bytes are changed by PGM A. If the extra byte was in fact alloc problems may arise for PGM B.

You can use the following RPG operations on the default heap:

¹

The

ALLOC

operation

allocates

storage within

the default heap.

¹

The

DEALLOC

operation

frees

one

previous

allocation of

heap storage

 

any

heap.

 

 

 

 

 

 

¹

The

REALLOC

operation

changes

the

size

of

previously

allocated stor

 

any

heap.

 

 

 

 

 

 

Chapter 9. Running a Program113

Page 137
Image 137
IBM AS/400 manual Managing the Default Heap Using RPG Operations, Referenceto Abridged

AS/400 specifications

The IBM AS/400, now known as the IBM iSeries, is a midrange computer system that has been a cornerstone of enterprise computing since its introduction in 1988. Designed to provide a robust platform for business applications, the AS/400 is celebrated for its reliability, scalability, and integrated database capabilities.

One of the key features of the AS/400 is its Integrated Operating Environment, which blends hardware and software resources seamlessly. This integration allows businesses to execute diverse workloads, ranging from traditional applications to modern web-based services, all on a single platform. The operating system, OS/400 (now IBM i), offers a rich set of APIs and tools for developers, simplifying application development and management.

Another standout characteristic of the AS/400 is its built-in database, DB2 for i. This powerful relational database management system allows for efficient data handling and provides advanced features such as support for SQL, XML, and JSON, making it easier for businesses to manage their data and integrate it with other systems. The database's tight integration with the operating system enables high performance and security.

In terms of scalability, the AS/400 can accommodate small businesses as well as large enterprises, with the ability to support hundreds of users simultaneously. Its architecture allows for easy upgrades in hardware, meaning that organizations can scale their systems without replacing the entire infrastructure.

Security is another critical attribute of the AS/400. With a sophisticated security model, it offers built-in user authentication, access control, encryption, and auditing capabilities to protect data and applications from unauthorized access.

The AS/400 also supports multiple programming languages, including RPG, COBOL, Java, and PHP, giving organizations the flexibility to choose the development tools that best fit their needs. This diversity helps maintain legacy applications while also developing new ones that leverage modern technologies.

Moreover, the platform supports both traditional green-screen interfaces and modern graphical user interfaces, allowing organizations to transition smoothly into contemporary user experience paradigms.

Overall, the IBM AS/400 stands out as a resilient, flexible, and secure computing platform that enables organizations to effectively manage their business operations, streamline processes, and adapt to changing market demands. Its unique combination of integrated features and capabilities ensures that it remains relevant in today's fast-paced technology landscape.