Deploying the pointer swizzling method will cause
2 problems
Helpful fact to understand
problem 1
Block/record address
after performing
pointer swizzling
We cannot write
the data block
to disk
Problem 1:
"unswizzle"
all references in block when block is written back to disk
We must
unswizzle
all (virtual) memory address
before write back
Helpful definition (referenced/
pinned block) to understand
problem 2
A referenced block in memory is
also called
a
pinned block
The
referenced block
causes problem 2
We cannot free the
memory space used to
store a referenced block !!
Some record references will
reference to
non-existing data
after the release !!!
Problem 2:
"unswizzle"
all references
to a block
when removing that block from memory
We must
first unswizzle
all (virtual) memory addresses
that point to the freed block
This will unpin a
pinned block....
❮
❯