On 11 July 2015 at 18:47, Rob Scott <[email protected]> wrote:
> For the archives, here is the current key usage of IBM software that I am > aware of : > > 0Supervisor > 1Job scheduler > 3Availability manager > 5Data management > 6Communications (VTAM, TCP/IP) > 7DB2, IMS and MQ > 8,9V=V problem programs > 10-15V=R problem programs It's worth making clear that running with a PSW and/or storage key that is officially used by some IBM component, or by a prominent ISV product, is still safer than using key 0. There is no conflict in having multiple products/components using the same system key, unless one of them behaves exceptionally stupidly and high-handedly -- something like freeing all storage of key n under a TCB on the assumption that it owns it all. Writing new code to use a non-zero system key is one thing; modifying existing code to do so potentially brings conflict with old design and/or ignorance in implementation. I have worked on a product that made no distinction between supervisor state and key 0. There was a macro to go to "privileged mode" and one to go to "user mode". Generally these expanded to "MODESET MODE=SUP,KEY=ZERO" and "MODESET MODE=PROB,KEY=NZERO" respectively. Various local tests would be made for arbitrarily one or the other of state and key, with generally unpleasant results when in key 0 problem state (rare and probably always unwise) or a non-zero system key and supervisor state. The notion of using multiple system keys came in MVS; in SVS and previous systems all the non-zero keys were used to separate each user's storage from the others', because DAT was not available to do so. Any program that works like the one I described is designed using pre-MVS principles, even if written much more recently than 1972. Tony H. ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
