362 Chapter 21: Memory and Variable Management
21MEMORY.DOC TI-89/TI-92 Plus:Memory & Variables Mgmt (English) Susan Gullord Revised: 02/23/01 1:20 PM Printed: 02/23/01 2:19 PM Page 362 of 16
When you see the message to the
right:
¦
To continue archiving,
press
¸
.
– or –
¦
To cancel, press
N
.
After garbage collection, depending on how much additional space is
freed, the variable may or may not be archived. If not, you can
unarchive some variables and try again.
The message:
¦ Lets you know why an archive will take longer than usual. It also
alerts you that the archive may fail if there is not enough memory.
¦ Can alert you when a program is caught in a loop that repetitively
fills the user data archive. Cancel the archive and investigate the
reason.
The user data archive is divided into sectors. When you first begin
archiving, variables are stored consecutively in sector 1. This
continues to the end of the sector. If there is not enough space left in
the sector, the next variable is stored at the beginning of the next
sector. Typically, this leaves an empty block at the end of the
previous sector.
Each variable that you archive is
stored in the first empty block large
enough to hold it.
This process continues to the end of
the last sector. Depending on the size of individual variables, the
empty blocks may account for a significant amount of space.
If a Garbage Collection Message Is Displayed
If you use the user data archive extensively, you may see a
Garbage Collection message. This occurs if you try to archive
a variable when there is not enough free archive memory.
However, the TI
-
89 / TI
-
92 Plus will attempt to rearrange the
archived variables to make additional room.
Responding to the
Garbage Collection
Message
Why not Perform
Garbage Collection
Automatically,
without a Message?
Why Is Garbage
Collection
Necessary?
Sector 1
Sector 2
Sector 3
Note: An archived variable
is stored in a continuous
block within a single sector;
it cannot cross a sector
boundary.
Note: Garbage collection
occurs when the variable
y
ou are archiving is larger
than any empty block.
variable A
variable B
variable C
Empty
block
variable D
Depending on its size,
variable D is stored in
one of these locations.