I thought triple faulting caused the CPU to reset. It has
been used as a mechanism to rapidly change from protected
mode to real mode, the slower alternative being to ask
the keyboard controller to reset the CPU. I believe that
OS/2 used the triple fault mechanism in its support for
real mode programs.
Possibly your OS should move the process from the run queue
to the sleeping queue while the page is being read from disk.
Then let the IO complete routine move the process back to
the run queue. Recursive page faulting sounds like a quick
way to blow the stack if the CPU didn't stop you after 3
attempts.
P.S. If memory serves the triple fault had to occur within
the same instruction i.e. CPU faults accessing page or
segment, then faults accessing fault handler, then faults
accessing double fault handler. I don't know if your OS is
doing that, or maybe Plex86 is not implementing the
counting correctly and giving you a 3rd fault error in a
situation that a real CPU wouldn't.
> My OS raises the '3rd exception with no resolution' problem.
> My OS recursively page faults in the page fault handler, when
> switching to other out-of-memory processes while waiting for
> the disk access for the loading process. During/sometime
> around the 3rd recursive page fault, I get that message. I am
> not sure if there is some 'handling exception' flag I have to
> turn off, or perhaps its just my Ring0 stack size too small..
> If anyone can explain what that problem means in more detail,
> it would probably be more clear.
__________________________________________________
John Saunders -- ResMed Limited
97 Waterloo Road, North Ryde NSW 2113, Australia.
Phone: +61-2-9886-5433� Email: [EMAIL PROTECTED]