Type ASSEMBLE
Source Lines : 1,349
Fixes Applied : 10
Most Recent Version : Thursday, December 14, 1978
Last Fix ID : [HRC106DK]
Module
DMKPAG
Function
TO CONSTRUCT THE IOBLOKS AND SCHEDULE THE TASKS THAT MOVE VIRTUAL MEMORY PAGES BETWEEN AUXILIARY DASD STORAGE AND REAL MAIN STORAGE, AND TO CALCULATE TOTAL SYSTEM PAGING LOAD AT USER SPECIFIED INTERVALS
Attributes
SERIALLY REUSABLE, RESIDENT, ENTERED VIA GOTO
Operation
A. PROCESSING FOR CALL TO DMKPAGIO 1. IF A PREFORMATTED PAGING IOBLOK EXISTS, GET ITS ADDRESS AND SKIP TO STEP 2; OTHERWISE, CALL DMKFREE FOR FREE STORAGE AND FORMAT A SKELETON IOBLOK A. EXAMPLE OF A PAGING IOBLOK PAGESK X'07',PAGESEEK,CC,6 SEEK CCW PAGESS X'23',PAGESECT,CC,1 SET SECTOR CCW PAGESRCH X'31',PAGESEEK+2,CC,5 SEARCH ID EQUAL CCW PAGESTIC X'08',PAGESRCH TIC *-8 (4 BYTES) PAGEIOB X'00000000' POINTER TO SLOT SORTED IOBLOK X'06'/X'05',DATA ADDRESS,CC,4096 RD/WR CCWS PAGESNS X'04'/X'08',0,SILI+SKIP,1 SENSE CCW OR TIC CCW TO THE NEXT SORTED IOBLOK 2. INSERT THE CORRECT PAGE FRAME ADDRESS AND DASD OPCODE INTO THE PAGING IOBLOK AND INSERT THE DASD ADDRESS INFORMATION FROM THE SWPTABLE ENTRY INTO THE SEEK ARGUMENT FIELD 3. USE THE VOLUME INDEX IN THE COMPRESSED DASD ADDRESS TO IN- DEX INTO THE SYSTEM OWNED VOLUME LIST, LOCATE THE DEVICE INDEX AND POINT TO THE RDEVBLOK FOR THE PAGING DEVICE 4. SEARCH THE QUEUE OF IOBLOKS ON THE RDEVBLOK FOR A PAGING IOBLOK FOR THE SAME CYLINDER AS THE NEW REQUEST; IF ONE IS FOUND, GO TO STEP 5, OTHERWISE GO TO STEP 7. 5. IOBLOK SORT ROUTINES BY DEVICE TYPE: 5A. 2314/2319 - THE IOBLOKS FOR 2314/2319 ARE SORTED BY SLOTS, USING SLOT VALUES 0 TO 7, REPRESENTING PAGES 1 TO 8, 9 TO 16, 17 TO 24, AND 25 TO 32. SLOTS 0 1 2 3 4 5 6 7
Calls to Other Routines
DMKFREE - TO OBTAIN STORAGE FOR PAGING IOBLOKS DMKIOSQR - TO SCHEDULE THE I/O OPERATION ON THE REAL DEVICE DMKDSPCH - EXIT VIA GOTO TO WAIT FOR INTERRUPTS DMKOPRWT - WRITE ERROR MESSAGE DMKPAG415E TO OPERATOR DMKCVTBH - BINARY TO HEX CONVERT ROUTINE DMKSTKCP - TO STACK FOR EXECUTION CPEXBLOKS QUEUED ON PAGES DMKFRET - TO RETURN PAGING IOBLOK IN DYNAMIC PAGING AREA DMKSCNRD - FIND 'CUU' DEV ADDRESS GIVEN RDEVBLOK