IBM originally used REFR in support of the mahine check handler; if you got a parity error in certain refreshable modules then MCH would read in a fresh copy. REFR did not reuire that the module be read-only, just that refreshing it would not cause errors. On modern processors, when there is a good copy of the page on DASD, discarding a page frame with an unrecoverable memory failure is a better solution for the same reliability concern.
As for RENT, if you share a module between a user task and a system task, integrity requires that the user task not be able to modify it, hence key 0. -- Shmuel (Seymour J.) Metz http://mason.gmu.edu/~smetz3 ________________________________________ From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of Steve Smith [sasd...@gmail.com] Sent: Sunday, August 15, 2021 6:47 PM To: IBM-MAIN@LISTSERV.UA.EDU Subject: Re: RENT binder option Seems like deja vu. For all practical purposes, RENT and REFR (which implies RENT) have the same effect (that may be a tautology). For whatever reasons, RENT & REFR were defined such that they didn't accurately describe how they were implemented. What the OS wanted was protected memory for programs (and good programmers want that too). In effect, both mean that program storage cannot be modified during execution. But the module attribute definitions go on about the ability for multiple tasks to simultaneously use the module, or for the ability to tolerate a refresh. Neither of those things absolutely requires non-modification, so one wonders why IBM wandered off into those tangents. On the converse, it's not that hard to write read-only code that is not reentrant (thread-safe in newspeak). And nothing in z/OS cares a bit... you just get unpredictable results. Actual reentrancy requires interlocked access to any shared memory; avoiding variables embedded within the program module is just the beginning. The bottom line is that Program Fetch allows RENT modules to be shared, REUS is just a weird ENQ trick, and otherwise you get multiple copies. I really don't know if REFR has any effect over RENT. Perhaps it's required for PLPA modules. sas On Sun, Aug 15, 2021 at 5:19 PM CM Poncelet <ponce...@bcs.org.uk> wrote: > BTW (off topic) REFR, not RENT, if a module's storage may *never* be > modified in any way. > > ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN