Table of Contents

DMKPAG Abstract

Statistics

Type ASSEMBLE
Source Lines : 1,349
Fixes Applied : 10
Most Recent Version : Thursday, December 14, 1978
Last Fix ID : [HRC106DK]

Synopsis

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