The LE Program management model provides a running framework for high-level language applications on z/OS, which is the foundation of other Le models, such as exception handling, message processing, and memory management. This article will introduce the basic concepts of Le Program management model, and the behavior and semantics of program execution entity--process/enclave/thread in this model.
1. Overview of the Program management model
The LE Program management model provides a running framework for high-level language applications on z/OS, which is the foundation of other Le models, such as exception handling, message processing, and memory management. Three program execution entities--process,enclave and thread--they are the core concepts of Le Program management model. First, let's start with an example. From Figure 1, you can see an example of the LE program model for a COBOL and pl/i mixed language program, from which we can see the direct relationship between Process,enclave and thread, and how resources such as memory are managed at different levels.
Figure 1
2. We will present the following entities for the implementation of these procedures
1) Processes:
It is the highest level component of the language Environment Program model. A process includes at least one enclave and is logically independent of other processes. Processes does not share memory and is equal to each other and has no inheritance relationship.
A process can create new processes and communicate between processes with the behavior defined by LE.
2) Enclaves:
The core feature of the program management model is enclave, which consists of a set of routines and an application. Under different scenes, the corresponding relationship of enclave is as follows:
-In COBOL, a running unit (run)
-in C and C + +, a program that contains the main function and its child functions
-In the pl/i, a main routine and its subroutines
-In Fortran, a routine and its subroutines
A enclave includes a main routine and 0 or more child routines. The first routine that a enclave is run is the primary routine, and all subsequent routines are called subroutines. Heap memory is directly managed by enclave. This part of memory can be shared by all routines within a enclave. Heap memory, which is requested by a routine of a programming language, can be freed by routines of another programming language.