--
Mac GUI Vault - A source for retro Apple II and
Macintosh computing.
http://macgui.com/vault/
What I meant was when running multiple applications under multiGS and
one of them crashes, you have several options to switch to one of the
other apps without having to restart, eg. by typing control-y and
enter, accessing the CDA or crashing into gsbug and entering a
location from which to carry on. Given the level of ingenuity employed
(or required) by iigs programmers, I'm interested to know if there is
some kind of init which would give this kind of function e.g. if you
are using AppleworksGS and it crashes, entering a certain keystroke
would reload the finder. Maybe I'm over-estimating the abilities of
the iigs, but I've always called it "the little machine that could"...
Anthony
> What I meant was when running multiple applications under multiGS and
> one of them crashes, you have several options to switch to one of the
> other apps without having to restart, eg. by typing control-y and
> enter, accessing the CDA or crashing into gsbug and entering a
> location from which to carry on. Given the level of ingenuity employed
> (or required) by iigs programmers, I'm interested to know if there is
> some kind of init which would give this kind of function e.g. if you
> are using AppleworksGS and it crashes, entering a certain keystroke
> would reload the finder. Maybe I'm over-estimating the abilities of
> the iigs, but I've always called it "the little machine that could"...
It really does depend on the failure mode I'm afraid. A recalcitrant
application can easily trash memory occupied by the Finder or even GS/
OS itself, and doing any sort of disk IO in that situation would make
you braver than I am.
That said... *in theory* software could be devised that dumped a
'core' file containing the loaded GS/OS image and Finder to disk,
sortof like a modern machines hibernate feature, which would permit
more reliable restores.
Unfortunately the only *real* solution is a hardware MMU (the likes of
which might have been an add on for the never released 65832) and a
patched version of the memory manager that is aware of it.
Matt
Sadly, the hardware design of the IIgs limits the possibility of this,
even if GS/OS had the *potential* to support it.
Modern system architectures will allow the underlying system software
to define software vectors (mini-programs) and have them run when
'faults' are encountered.
For instance, on the x86 architecture, executing an invalid
instruction would raise an exception that could be dealt with in
software. The same holds true for attempting to access invalid regions
of memory. This hardware fault trapping is what allowed operating
systems like DOS to (somewhat) gracefully respond to bad software.
To gracefully 'kill' an offending program, you must first be able to
detect that the program is doing something bad. To detect that, you
need to have the hardware report exceptions.
The IIgs has no such facilities. When you see a 'crash' into the
debugger, what you are witnessing is the CPU encountering a BRK
instruction, an invalid opcode, or some other condition that would
cause the system to break into the debugger.
Interestingly enough - GS/OS 'knows' who the owner of a block of
memory is when it is allocated. However, there is nothing stopping me
from stomping on any memory that I want in my programs - and without a
means of detecting these types of faults - you cannot respond to them.
Thanks for all the info guys, I wanted to make sure I wasn't missing a
trick. I guess it's not so bad, by iigs reboots faster than my PC
anyway and doesn't lock up with the hard drive constantly in use for
ages with no way of resetting without risking disk crash like my
laptop running vista.
I've traced my unusually high number of crashes down to my 8mb ram
card, though I'm mystified as to why it's causing problems. See this
thread for details:
http://groups.google.com/group/comp.sys.apple2/browse_thread/thread/410c7c3bb2923ec7
Anthony
had crash problems with IIgs. Strange disk errors, lock ups. Mem
test said no problems. I switched out RAM cards, and problems went
away.
Rich
Exactly the same problem, I've tried everything and it remains a
mystery.
Trouble is now I'm stuck with 4mb.
Anthony