So ich habe jetzt mal user mode, vfs, RAM disk weg gelassen. Mit pODA->ts_flag ==0 kann ich mittels IRQ0 eine Zeitschleife realisieren, also sollte der IRQ-Mechanismus gehen. Das geht:
k_clear_screen();
settextcolor(getpid(),0);
printformat("SS: %x, ESP: %x, EBP: %x, CS: %x, DS: %x\n", fetchSS(),fetchESP(),fetchEBP(),fetchCS(),fetchDS());
sti();
sleepSeconds(5);
//pODA->ts_flag = 1;
ULONG c=0;
while(TRUE)
{
if( k_checkKQ_and_print_char() )
{
++c;
if(c>5)
{
c=0;
settextcolor(4,0);
printformat("\nT: %x H: %x WRITE: %i Read: %i ", pODA->pTailKQ, pODA->pHeadKQ, pODA->KQ_count_write, pODA->KQ_count_read);
printformat("*T: %c %i *H: %c %i\n", *(pODA->pTailKQ),*(pODA->pTailKQ),*(pODA->pHeadKQ),*(pODA->pHeadKQ));
settextcolor(2,0);
settextcolor(getpid(),0);
}
}
}
return 0;
Schon mal ein guter Anfang.