Re: A89: Ram vs. Archive


[Prev][Next][Index][Thread]

Re: A89: Ram vs. Archive




But why would i get these g. collection errors only w/ the newer doors when i 
have never had this problem w/ the older version...i mean its not like doors 
changes the behavior of the archive...

...Steven

In a message dated 99-10-11 01:46:49 EDT, you write:

> >>  When a program is to be run, it is moved from the
>  >>  "hard drive" - the archive - to the RAM and executed.  When it is done,
>  it
>  >>  is copied back to the archive.
>  >
>  >Is this why whenever i typically run a large archived program (ie:smq) or
>  in
>  >some cases even a small program not much more than 3k, w/ plenty of 
archive
>  >space free, i get a "warning: about to garbage collect archive" message
>  upon
>  >exit of the program...if i select yes then it garbage collects (can't be
>  too
>  >healthy to garbage collect every time a program is run) and then returns
>  back
>  >to the shell...but if i select no it gives a memory error and exits BUT 
W/O
>  >re-archiving the program???
>  
>  Exactly.  If when an archived program is unarchived, it isn't truly
>  "deleted" from the archive - TIOS just conveniently forgets about it while
>  it remains in the archive.  When the archive is full, TIOS does a garbage
>  collect where all the unarchived programs are deleted from the archive and
>  the other programs are moved closer together to eliminate wasted space -
>  making room for the program to be archived.  If your archive is full and 
you
>  unarchive a game to play, then when you finish and the game is to be
>  rearchived the archive is still "full" - so it garbage collects.
>  Afterwards, the archive is full again so the next game will cause a garbage
>  collect.  The end result is a garbage collect after EVERY time you exit a
>  program.  Too many garbage collections is NOT healthy for the archive 
memory
>  at all. . .
>  
>  If you refuse to garbage collect, then the archive remains too "full" to 
fit
>  the program and you get a memory error because there isn't enough free
>  archive memory to fit the program.  And since the program couldn't be fit,
>  it will remain in RAM.
>  
>  >  oh, and what complications then are you referring to?
>  
>  As I wrote above, garbage collections are NOT good for the archive memory.
>  After some 10,000 times being written to, each bit in the archive will stop
>  functioning.  If you emptied and refilled the entire archive - causing a
>  garbage collect - once a day, it would still take some 27 years or so to
>  fully destroy the archive memory, so it's NOT something to worry about, but
>  it's not a good idea to test the system to the limits anyway.
>  
>  Also, Fred - one of the guys writing Archive Utility - has been complaining
>  that if the program is unarchived to be run, then if it crashes it will be
>  lost even with Archive Utility.  I'd think that if a program crashes it
>  shouldn't be on my calc, but the principle remains.  Archive Utility 3 has
>  an undelete feature meant to handle an instance like this that can restore
>  some lost programs that were archived.  This works like the old undelete
>  program I used to use back on my old Windows 3.1 system (which recently
>  stopped booting and gives a CMOS checksum error - the thing is shot.
>  Couldn't quite make it to be 10 years old =(  I learned to program on that
>  thing in QBASIC <sniff>). . .
>  
>      -Scott