których obsługa wykonuje się na wyższym poziomie i koniecznym staje się przełączenie stosów.
Z powyższych względów nie ma konieczności zapisu położenia jak i samej mapy indywidualnych zezwoleń na korzystanie z danych układów we-wy w zadaniu.
Tak więc do TSSa pp zapisze dane z lokacji 20-5C względem początku segmentu stanu zadania:
WR |
000093 5C |
-----0000 |
GS | |
WR |
58 |
-----0000 |
FS | |
WR |
54 |
-----0000 |
DS | |
WR |
50 |
-----0000 |
ss |
f skok długi po zerowaniu (tryb |
WR |
4C |
-----0400 |
cs< |
1 rzeczywisty) ładował do CSa tą |
WR |
48 |
-----0000 |
ES |
L wartość |
WR |
44 |
00000000 |
EDI | |
WR |
40 |
00000000 |
ESI | |
WR |
3C |
00000000 |
EBP | |
WR |
38 |
00000000 |
ESP | |
WR |
34 |
00000000 |
EBX | |
WR |
30 |
00000305 |
EDX | |
WR |
2C |
00000000 |
ECX | |
WR |
28 |
????0090 |
EAX |
- bo ostatnio do AX to było wpisywane |
WR |
24 |
00000002 |
EFLAGS |
- m.in. po zerowaniu pp blokuje |
WR |
20 |
00000054 |
EIP |
- przerwania (IF = 0) |
- pracę krokową (TF = 0)
Ponieważ program obserwacyjny rozpoczynamy sygnałem reset, więc zapisany w TSSO stan jest właściwy dla zerowania pp. Należy zwrócić uwagę, że jako EIP zostaje wpisany adres następnej instrukcji za rozkazem dalekiego JMP, który zainicjował przełączanie zadań.
Zachowanie i odtwarzanie stanu jest podobne do użycia wielokrotnie instrukcji PUSH i POP ale odbywa się automatycznie (pp nie czyta sekwencji rozkazów stosowych) i jest przez to znacznie szybsze.
Odtwarzając nowy stan rejestrów z TSS1 pp odczyta teraz CR3 (przy włączonym stronicowaniu jest permanentnie wykorzystywany) i LDT (aby na podstawie tego selektora odczytać z tablicy globalnej GDT położenie tablicy lokalnej inicjowanego zadania). Oprócz tego pp czyta stan pułapki przełączenia zadań (T). Jeśli T=1 to zostanie zgłoszony wyjątek nr 1. Daje to możliwość np. obserwacji stanu pp (i danych systemu) po zakończeniu pracy danego zadania (realizuje to procedura obsługi wyjątku pierwszego).
^.w alobalnei
RD |
000090 60 |
-----0023 |
LDTR |
0000000000100 |
0 ,U_, |
RD |
5C |
-----0000 |
GS ' |
V..... .. —^ nr. 4 |
RPL |
RD |
58 |
-----0000 |
FS |
^-selektory zerowe |
Y |
RD |
54 |
----0000 |
DS _ |
nr. 14 |
*'▼ |
RD |
50 |
-----0073 |
SS |
HÓOOOOOOOl110’ |
0 11 |
RD |
4C |
-----0053 |
CS |
.0000000001010, |
0 11 |
RD |
48 |
-----0000 |
FS |
nr. 10 | |
RD |
44 |
00000000 |
EDI |