Sunday, May 31, 2009

VADs, stack guards, signals, libraries

VADs are now working, this means that pagefaults can now be sorted based on cause and handled thusly. Thereforw non-committed stacks now work, stack guards work, and user processes are notified of pagefaults and are given a chance to handle them.

Also some more work was done on library support, and unloading now works too, as well ask keeping track of all such actions.

3 comments:

Unknown said...

I have faith in u...

Snoopy4ever said...

So this means the memory leaks that usually cause device soft reset on PalmOS could be better handled (or avoided) on DGOS?

Thanks,
Roberto.

Dmitry Grinberg said...

1. Leaks do not cause crashes, just wasted memory. In DGOS when your app exists all memory is freed, so leaks are nowhere near as fatal to the device.
2. In PalmOS overflowing stack usually produces data corruption. In DGOS, like any other modern OS, stack is protected by guard pages, and writing past the stack results in an exception, whose handler will most likely kill the process to prevent data corruption.