<> <> <> <> <> DIRECTORY Disk USING [Channel, Label, PageNumber], PrincOps USING [PageValue]; VMBacking: DEFINITIONS = BEGIN <<>> <> <<>> RunTablePageNumber: TYPE = --File.PageNumber-- INT; FilePageCount: TYPE = --File.PageCount-- INT; RunTable: TYPE = REF RunTableObject; RunTableIndex: TYPE = CARDINAL; RunTableObject: TYPE = RECORD [ nDataPages: FilePageCount, nRuns: CARDINAL, runs: SEQUENCE length: RunTableIndex OF Run ]; Run: TYPE = RECORD [ filePage: RunTablePageNumber, diskPage: Disk.PageNumber, channel: Disk.Channel ]; AttachBackingStorage: PROC [ label: Disk.Label, firstDataPage: RunTablePageNumber, runTable: RunTable]; <> <<>> <<>> <> <<>> BriefPageState: TYPE = {free, killed, active}; StateFromPageValue: SAFE PROC [map: PrincOps.PageValue] RETURNS [BriefPageState]; <> <<>> RecoverRealMemory: PROC; <> <<>> END.