x86-Programmierung und -Betriebsarten (Teil 4)
Multitasking, TSS und das Task Gate
Die gesamten Protection-Funktionen dienen in erster Linie einem Ziel: Multitasking. Bei einem PC-System sollen mehrere Tasks mehr oder weniger parallel ablaufen. Tatsächlich erreicht man mit einem Prozessor nur eine scheinbare Parallelität, weil die einzelnen Tasks für kurze Zeit ausgeführt, in kurzen Zeitabständen unterbrochen und nach kurzer Zeit an der gleichen Stelle wieder gestartet werden. Um das zu erreichen, muss der Zustand eines Tasks zum Zeitpunkt der Unterbrechung vollständig gesichert werden, weil der Task ja sonst nicht an derselben Stelle unter den Bedingungen zum Zeitpunkt der Unterbrechung neu aufgenommen werden kann.
Ein ähnlicher Vorgang findet auch unter MS-DOS statt: Tritt ein Hardware-Interrupt wie beispielsweise der Timer-Interrupt auf, so werden alle Register auf dem Stack gesichert, der Interrupt bedient und alle Register vom Stack wieder mit den alten Werten geladen. Wichtig ist, dass das Registerpaar CS:EIP gesichert wird, da es die Stelle im Programm angibt, an der es unterbrochen worden ist.
Inhalt dieses Artikels
Das könnte Sie auch interessieren
Links zum Thema




PDF
eBook






