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