Page 2 of 2

Posted: Sun Feb 17, 2008 7:56 am
by sancho1980
ok i'm pretty sure i know what the problem is, even though i haven#t yet a solution for it:

my keyboard interrupt procedure avails of other kernel subroutines. one of them is of course the putchar procedure. this procedure writes to video memory. because my ring3 tasks must of course not be allowed to write to video memory, they dont have the necessary selector for this segment in their tss..so when a keyboard int occurs,, a new cs is loaded, but the data segment selectors in ds, es, fs, and gs are stil the ones the ring3 task uses!!! completely forgot about that!

Posted: Sun Feb 17, 2008 8:46 pm
by ucosty
This begs the obvious question, why are you pumping the scheduler from the keyboard interrupt?

Posted: Mon Feb 18, 2008 2:19 am
by sancho1980
i'm not! i'm just handling the keypress