An openUTM production application requires the following global system resources.
Shared memory area
A UTM application requires three shared memory areas for the configuration data and global application administrative data (KAA), the cache, and the internal UTM process communication (see also section "Improving performance: Changing the size of the dataarea in the IPC shared memory").
For communication via OSI TP, OSS and XAPTP shared memory are also required.
Semaphores
A UTM application requires semaphores for controlling and synchronizing processes of the UTM application.
In openUTM, the semaphores are organized as semaphore arrays where each semaphore array contains exactly 20 semaphore entries. A semaphore array contains one or more semaphores. A UTM application requires at least one semaphore array. The maximum number of semaphores in the system is limited.
In the openUTM environment, the semaphore entries are allocated as follows:
nine entries for IPC shared memory
one entry for KAA shared memory
one entry for CACHE shared memory
one entry for CACHE access lock
one entry for PCMM access lock
one entry for OSS and one entry for XAPTP shared memory
one entry for each work process as a task bourse
one entry for each attached external process (utmtimer, utmdtp, utmprint and local UTM client program) for communication between work process and the external process.
two entries for each connected network process of type utmnet, utmnets or utmnetssl, to permit communication between work process and the network processes.
The number of network processes started depends on the type of network connection of a UTM application:
Connection via PCMX
One process (utmnet) is started for each listener ID generated with KDCDEF (BCAMAPPL or ACCESS-POINT statement).
Connection via the socket interface (native TCP/IP)
One socket network process (utmnets) is started for each Socket listener ID generated with KDCDEF (BCAMAPPL statement with T-PROT=SOCKET and SECURE=NO).
One TLS socket network process (utmnetssl) is started for each Socket listener ID generated with KDCDEF (BCAMAPPL statement with T-PROT=SOCKET and SECURE=YES).
This means:
At least one dialog terminal process (utmdtp) can be connected for a minimum production application (single-process application) for which one key for the semaphores is generated.With MAX...,SEMARRAY= you can define a range of up to 1000 sequential keys. KDCDEF generation with MAX...,SEMKEY= allows you to define up to 10 separate keys for semaphores.
File descriptors
A work process of a UTM application always allocates the following file descriptors for:
stdin
stdout
stderr
the KDCFILE file
the SYSLOG file
the IPC shared memory
the KAA shared memory
the CACHE shared memory
a named pipe to the main process (utmmain)
a named pipe to the logging process (utmlog)
Additional file descriptors for communication via OSI TP for:
the OSS shared memory
the XAPTP shared memory
Further file descriptors are required if dual-file operation is implemented for the KDCFILE, if PAGEPOOL files are used (specification for MAX ...,PGPOOLFS=), or if the restart area is divided into a number of files (specification for MAX ...,RECBUFFS=).
In UTM cluster applications, additional file descriptors are required for the files that are global to the cluster:
Cluster configuration file
Cluster user file
Cluster page pool administration file
Cluster page pool file(s)
Cluster GSSB file
Cluster ULS file
Cluster administration Journal
Cluster lock file
Cluster start serialization file
A work process of the application briefly allocates further file descriptors for:
the current user log file (USLOG)
dump files in the event of errors
startup of a node application in a UTM cluster application
The applifile
This file is created in the installation directory when openUTM is installed and contains the names of all applications started in the system since then, along with their status information and keys of the semaphore and shared memory segments used for communication between the external processes (dialog terminal, printer and timer process and local UPIC client programs) and the work processes. The keys must be assigned uniquely throughout the entire system.
CAUTION!
The applifile is an internal UTM administration file. You may not open this file with an editor. You may destroy the applifile if you do.