VMRemotePaging.mesa
Copyright © 1986 by Xerox Corporation. All rights reserved.
Bob Hagmann, April 29, 1986 1:48:19 pm PDT
This interface registers procedures to be used by VM for paging over the net.
DIRECTORY
VM USING [Interval, PageNumber];
VMRemotePaging: DEFINITIONS
= BEGIN
Types
LaundryWriteProc: TYPE = PROC[interval: VM.Interval] RETURNS [success: BOOL];
PageInProc: TYPE = PROC[faultedPage: VM.PageNumber, writePointer: LONG POINTER] RETURNS [success: BOOL];
RemotePageState: TYPE = {valid, stickyInvalid, invalid};
valid - the remote page is valid if it is on the server
stickyInvalid - the page was a dirty victim: concurrent laundry request cannot make it valid
invalid - the remote page is not valid even if there is a copy on the server
ValidPageSeq: TYPE = RECORD[ PACKED SEQUENCE COMPUTED NAT OF RemotePageState];
Variables
MaxRemotePage: INT;
RemotePageValid: LONG POINTER TO ValidPageSeq;
Establish/Disestablish paging procs
To establish, call EstablishLaundryWriteProc then EstablishPageInProc. To Disestablish, call in reverse order with NIL.
EstablishLaundryWriteProc: PROC[proc: LaundryWriteProc];
EstablishPageInProc: PROC[proc: PageInProc];
END.
Bob Hagmann April 18, 1986 3:58:03 pm PST
created