Free Virtual Page Structures
VPI=0d3e pVP=ff1e8ee8 free FLink=00000000 BLink=fff13280
VPI=0d3f pVP=ff1e8ef4 free FLink=ff1e9fec BLink=ff1e8cf0
VPI=0d40 pVP=ff1e8f00 free FLink=ff1e9fec BLink=ff1e8cf0
VPI=0d41 pVP=ff1e8f0c free FLink=00001000 BLink=02450030
VPI=0d42 pVP=ff1e8f18 free FLink=00000000 BLink=ff1e8f00
Free Virtual Page Structures.
Notes
- Free Page Frame Structures are grouped in bundles
that are chained in a circular double link list. Each bundle comprises contiguous
free VPs in the VP array. The chain pointers are only used by the head and
tail of each bundle as follows:
- For bundles of greater than one VP:
- Blink of the head points to the tail
- Flink of the head points to the head
of the next bundle
- Blink of the tail points to the head
of the previous bundle
- Flink of the tail is set to zero
-
For
single VP bundles:
- Blink points to the head of the previous
bundle
- Flink points to the head of the next
bundle
The free VP chain is headed
by a pseudo-VP whose Blink points to the head of the first true free
bundle and whose Flink points to the last VP in the VP array. The
pseudo-VP is located at global symbol:
_pgVPHead
Unless a free VP is the
head or tail of a bundle then its Flink and Blink will retain
values from its previous use. In particular it may be possible to glean
information about a previous allocation as the Flink field overlays
the Flg and Block fields and the Blink field overlays
the HobPg and Hob fields of an In-use VP. In the example
above VPI d41 was probably allocated to page 30 of hob
245. Using the following .MOC
command might reveal who the owner was and who allocated this storage
as follows:
.MOC 245
For a description of the fields formatted by .MV select .MV
Output Field Descriptions
For more examples using of the .M family of commands see: Exploring
Memory Management.
[Back: .MV - Format Memory Virtual Page Structures (VPs)]
[Next: In-use Virtual Page Structures]