ich denke ich hab jetzt multitasking verstanden, aber da es bei mir
nicht so funtzt wie es sollte, korregiert mich bitte:
ich hab den TimerIRQ als TaskGate definiert und in der GDT ein TSS für den Timer und eins für ALLE Prozesse ZUSAMMEN gesetzt.
Wenn jetzt der Timer Int ausgelöst wird speichert die CPU ihren zustand im TSS welches im TR steht, das TSS für die Prozesse und lädt das TSS welches im TaskGate definiert ist, das vom Timer. Im TimerHandler speichere ich den inhalt des TSS in einer eigenen struktur des jetzigen Prozesses, wähle dann einen neuen und lade dann die werte aus dem Prozess in das TSS der Prozesse. Dann wird ein IRET ausgelöst und die CPU läd ihren Zustand aus dem TSS der Prozesse.
hoffe das hab ich richtig verstanden. Mein problem ist jetzt: wie starte ich das ganze? ich hab versucht einfach ein IRET mit gesetztem NT bit zu machen, funtzt aber nicht... Langsam verzweifle ich...