[FreeVMS] pager question

Renee rmctwo at gmail.com
Sat Jun 29 22:38:28 CEST 2013


Guido... I hate doing this,,,but what does IPC stand for?
Renee

-----Original Message-----
From: FreeVMS [mailto:freevms-bounces at rayleigh.systella.fr] On Behalf Of
Guido
Sent: Saturday, June 29, 2013 3:03 PM
To: FreeVMS mailing list
Subject: Re: [FreeVMS] pager question

On Saturday 29 June 2013 18:10:16 BERTRAND Joël wrote:
> 	When a process try to access to a unmapped page, it generates a 
> pagefault IPC. This IPC is received by an event handler loop in its 
> parent (for example, PAGER.SYS sends L4_PAGEFAULT IPC to VMSKERNEL.SYS 
> and all IPC are caught in sys/sys_loop.c).
> 
> 	Child process does not know if its request can or will be done. It 
> only sends L4_PAGEFAULT IPC to its parent and waits for an answer. 
> This answer can be a new L4_MapItem() or a L4_AbortIpc_and_stop(). 
> Thus, I don't see why we need to separate L4_PAGEFAULT IPC in two IPC
calls.

The question is if the the process should try to access an unmapped page if
it actually tries to allocate memory. Shouldn't the process try to request
more pages first and wait for them to be mapped into its address space
before it tries to access them?

It seems to me that this makes the pagefault handling algorithm needlessly
complex. The algorithm could as simple as "if the page is mapped, load it
from cache or swap, otherwise kill the process". A pagefault should be an
exception not a function.

IMHO a page fault and a memory request are completely different and should
not be combined into one IPC call. I'm afraid that combining them will in de
long run this only hurt reliability, stability and maintainability of the
OS.

Regards,
Guido


_______________________________________________
FreeVMS mailing list
FreeVMS at rayleigh.systella.fr
https://www.systella.fr/cgi-bin/mailman/listinfo/freevms




More information about the FreeVMS mailing list