On 2017-04-11, at 12:47, Jesse 1 Robinson wrote:
> 
> Part of the problem, I learned some time back at SHARE, is that there is no 
> mechanism to 'reclaim' page slots that no longer need to remain on disk. Once 
> storage gets paged out, it sits there like a sandbag until the owning task is 
> stopped. ...
>  
My understanding, ancient, probably outdated, and certainly naive is that
there is little communication between GETMAIN/FREEMAIN and the paging
subsystem.  If a program touches a page that was never GETMAINed no error
occurs; simply a page slot is allocated up to the limit of the REGION
parameter.  Conversely, on FREEMAIN the page slots are not released.

Programmers with a strong UNIX/C background loathe this.  They are
accustomed to do needed malloc()s up front and handle errors at that
point; their code is not designed to handle out-of-storage conditions
that occur unexpectedly, later when a page is touched.

From the other point of view, traditional OS programmers are accustomed
to code enormous fixed GETMAINs in case they need the storage years in
the future -- just adjust the REGION and the program works again.

Culture clash.

Repairing this to make paging substem aware of FREEMAIN and release the
slots would be an enormous and risky design change.

-- gil

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to