

DC/UCF Concepts › Storage Protection
Storage Protection
DC/UCF storage protection protects pages in the system region/partition from being overwritten.
Generally, storage protection is used for developing, debugging, and testing new programs to ensure that the programs do not overwrite the storage allocated to production programs. To preserve operating system integrity and protect CA IDMS from user written code, storage protect should always be used. A special form of storage protect is available for the production system which provides negligible processing overhead yet protects CA IDMS and the operating system from user written code.
How to Implement Storage Protection
Storage protection is implemented through storage protect keys provided in the hardware. The DC/UCF system uses a primary protect key and an alternate protect key:
- When the system nucleus has control of the DC/UCF region/partition, all storage pages in the region/partition are set to the primary protect key. The nucleus executes with the program status word (PSW) set to the primary protect key which allows the system nucleus to modify any page in the region/partition.
- When a program is executing in user mode, all non-fully reentrant pages used by the program are set to the alternate protect key. All other pages remain set to the primary protect key. The program executes with the PSW set to the alternate protect key which allows the program to modify only those pages set to the alternate key. If the program attempts to modify a page set to the primary protect key, the program is terminated abnormally.
- When key 9, the default, is used as the alternate protect key, all user storage and non-reentrant programs are swapped into key 9 at startup, and only the PSW key is changed during program execution. Thereby, providing negligible CPU overhead compared to running without storage protection, while still protecting both the CA IDMS system and the operating system from user written code. The non-reentrant programs and the user storage are not protected from each other. This is explicitly intended for the high performance requirements of the production CV. Program development should not be done with key 9 as the alternate protect key.
System Generation Parameters
Use the following system generation parameters to control the use of storage protection:
- STORAGE KEY parameter of the SYSTEM statement—defines the value of the alternate protect key.
- PROTECT/NOPROTECT parameter of the SYSTEM statement—enables or disables the use of storage protection.
- PROTECT/NOPROTECT parameter of the PROGRAM statement—specifies whether the program being defined runs with the alternate protect key when the SYSTEM statement specifies PROTECT.
More Information:
Enabling High Performance Storage Protect
This feature is explicitly intended for servicing the high performance requirements of the production CV. Assuming that a storage protected system has already been successfully created, the following steps can be used to enable this feature:
- On the existing system, display all the storage pools (DCMT DISPLAY ALL STORAGE POOLS), taking note of what pools support any type of user storage, that is, user, user-kept, shared, shared-kept, or ALL.
- Follow the instructions under Segregating User and System Storage.
- In SYSGEN, on the system statement, specify STORAGE KEY IS 9.
- Generate and start the system. If the storage pool definitions have not been properly set, message DC004001 HPSPO HAS BEEN DISABLED DUE TO INCORRECT STORAGE POOL DEFINITIONS is issued at startup.
Copyright © 2014 CA.
All rights reserved.
 
|
|