Browse Prior Art Database

Managing Virtual Storage Using Bit Maps

IP.com Disclosure Number: IPCOM000101514D
Original Publication Date: 1990-Aug-01
Included in the Prior Art Database: 2005-Mar-16
Document File: 2 page(s) / 71K

Publishing Venue

IBM

Related People

Mansker, JL: AUTHOR [+3]

Abstract

Disclosed is a method for managing virtual storage using bit maps to determine if an element of storage (a buffer) is allocated or free.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 73% of the total text.

Managing Virtual Storage Using Bit Maps

       Disclosed is a method for managing virtual storage using
bit maps to determine if an element of storage (a buffer) is
allocated or free.

      As shown in Fig. 1, a storage pool consists of zero or more
non-contiguous blocks of storage, each divided into some number of
fixed-length buffers.  Each block of storage is placed on a chain
anchored off a pool header.  Blocks are placed on chains according to
the size of the buffers they contain.  A block header is allocated
for each block.  To allocate a buffer, the storage manager scans the
pool header until it finds a buffer size large enough to satisfy the
request.  The blocks on the chain for that buffer size are then
scanned for a free buffer.

      A bit map, containing a bit for each buffer within the block,
is located in the block header and is used to manage the buffers
within the block.  A zero bit indicates a free buffer.  The CLCL
instruction is used to scan the bit map to determine if there is a
free buffer within a block.  The instruction is initialized so that
each byte of the bit map, starting with the first byte, is compared
with a X'FF'.  The execution of the instruction continues until
either an unequal byte is found or the end of the bit map is reached.
If an unequal byte is found, the unequal byte is used as an index
into a table.

      The table contains 256 two-byte entries.  Byte one contains a
value that is ORed, using Compare an...