APPENDIX C: BANK STORAGE
The layout of storage for a YBOS array is as follows:-
+---------------------------+
| System Data |
+---------------------------+
| Indices for Named Banks |
+---------------------------+ |
| Named Bank | |
+---------------------------+ |
| Named Bank | | Region of named banks
+---------------------------+ |
| Named Bank | |
+---------------------------+ |
| |
| Free Space |
| |
+---------------------------+ |
| Work Bank | |
+---------------------------+ |
| Work Bank | | Region of work banks
+---------------------------+ |
| Work Bank | |
+---------------------------+ |
Named banks are stored in the low index part of each
array, sequentially created banks having increasing indices,
while work banks are stored from the high index part of the
array, sequentially created banks having decreasing indices.
During garbage collection operations named banks will be
shuffled towards decreasing indices while work banks will be
shuffled towards increasing indices so as to maximise the free
space. Within each array the first words are used for system
data, to which the user has limited access via function calls.
next page