ICL 1900 Series George 3 Operating System Macros

CHAPSAMP

Function

Gives an estimate of which chapters should be put on the Supplementary Chapter File of the Split Chapter Residence.

Format

CHAPSAMP a,b,c,d

  1. a = INIT (initialises the program for the collection run

    b is the GEORGE core address of the Chapter Table. This can be obtained by looking at a postmortem or inserting #DEF 20?=KTAB+1 in a restore pack, for the GEORGE under which CHAPSAMP is to be run

    c is the error label if b is incorrect; if absent, EXITs from the macro

  2. a = COLL (runs the collection part of the macro

    b is the number of snapshots per sample

    c is the time the macro will wait between each sample

    d is the number of samples

  3. a = ANAL (analyses the data previously collected

    b is the filename of the output file from the analysis run; if absent, the macros will CREATE, use, LISTFILEand ERASE a workfile

Forbidden contexts

NO USER
USER without both HLSEXT privilege and REALTIME budget

Execution

The initialisation run loads an embedded program and reads in the GEORGE core address of the Chapter Table. Although the Chapter Address Table varies with the version of GEORGE and between GEORGE 3 and 4, the word before the Chapter Table contains a constant. This is used to check the address given and, if incorrect, EXITs to the error label. If correct, the program initialises arrays and constants, and saves the program in a file named SAVECHAPSAMP.

The collection run loads SAVECHAPSAMP and reads GEORGE Chapter Table %B times. If a chapter is in core, and was in core for the previous reading, one is added to that chapter's reference. If a chapter is in core, but was not in core for the previous reading, one will also be added to that chapter's references. The chapter's name and size will also be read from core whenever possible. The core image is saved in SAVECHAPSAMP and then deleted. The macros will then wait %C minutes. The proceeding will be repeated %D times. As the program is saved, the collection part of the macros can be run many times; if GEORGE breaks during collection, it can be restarted without loss of the previously accumulated information.

Note: As the references to a chapter are stored in a single-length word, ∑%B*%C must be less than 8,388,608.

The analysis part of the program sorts the chapters into descending order of chapter transfers and outputs the information in that order. Part of the information output is an accumulation of the percentage transfers, so that if it is required to move chapters which constitute n% of the chapter transfers to the Supplementary Chapter File, these chapters can readily be seen. Also output is an accumulated size of chapters column. The individual chapter sizes have been rounded up to the nearest 128 words for this column as each chapter statrs on a bucket boundary on the chapter devices. This column will indicate the size of the Supplementary Chapter File required which will take n% of the transfers.