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

Reply via email to