Table of Contents

DMSFRE Abstract

Statistics

Type ASSEMBLE
Source Lines : 2,181
Fixes Applied : 1
Most Recent Version : Tuesday, December 12, 1978
Last Fix ID : [R11833DS]

Synopsis

Module

      DMSFRE (FREE AND FRET)

Function

      MANAGEMENT OF FREE STORAGE.

Attributes

      NUCLEUS RESIDENT, RE-ENTRANT

Operation

      DMSFREB -- ALLOCATES OR RELEASES A BLOCK OF STORAGE DEPENDING
            UPON THE CODE IN NUCON LOCATION 'CODE203'.  THE EXACT
            METHOD OF OPERATION IS DESCRIBED IN THE PLM, IN THE
            SECTION ON FREE STORAGE MANAGEMENT.

      DMSFREES -- THE SIZE IS LOADED FROM THE PLIST, AND A DMSFREE
            MACRO IS EXECUTED.  UPON RETURN, THE ADDRESS OF THE
            ALLOCATED BLOCK IS STORED INTO THE PLIST.

      DMSFRETS -- THE SIZE AND ADDRESS OF THE BLOCK TO BE RELEASED
            ARE LOADED FROM THE PLIST, AND A DMSFRET MACRO IS
            EXECUTED.

      DMSFREEX -- A DMSFREE MACRO IS EXECUTED.

      DMSFRETX -- A DMSFRET MACRO IS EXECUTED.

      DMSFRES -- THE FOLLOWING SERVICE ROUTINES ARE EXECUTED:

      CKON: TURN ON FLAG WHICH CAUSES 'CHECK' TO BE EXECUTED WITH
            EACH CALL TO DMSFRE.

      CKOFF: TURN OFF THIS FLAG.

      INIT1: FIRST DMSFRE INITIALIZATION ROUTINE.  THIS ROUTINE
            INITIALIZES FREE STORAGE IN A TEMPORARY WAY, SO THAT
            THE SYSTEM DISK CAN BE LOGGED IN.

      INIT2: SECOND DMSFRE INITIALIZATION ROUTINE.  THIS ROUTINE
            IS CALLED AFTER THE SIZE OF VIRTUAL MEMORY IS KNOWN,
            TO PREPARE STORAGE FOR THE USUAL ACTIVITY IN FREE
            STORAGE ALLOCATION. ANY HIGH-CORE POINTERS ARE CLEARED,
            THE 'FREETAB' FREE STORAGE TABLE IS ALLOCATED (THIS
            TABLE CONTAINS ONE BYTE FOR EACH PAGE OF VIRTUAL
            MEMORY, WHICH INDICATES THE USE OF THAT PAGE), ALL
            STORAGE KEYS ARE INITIALIZED, AND THE CHAINS ARE
            CLEANED UP.

      CHECKS: CAUSE ALL CHAINS TO BE CHECKED FOR VALIDITY.

      UREC: RECOVERY ROUTINE CALLED BY DMSABN.  ALL USER FREE
            STORAGE BLOCKS ARE RELEASED.

      CALOC: COMPUTATION ROUTINE CALLED BY DMSABN.  THIS ROUTINE
            COMPUTES THE SIZE OF ALLOCATED STORAGE.

Calls to Other Routines

      DMSERR -- TO TYPE OUT ERROR MESSAGES