img050 (4)

img050 (4)



Zamiast tego up musi sięgnąć do tablicy wyjątków i przerwań. Jej położenie wskazuje rejestr IDTR. Tablica ta zawiera oczywiście deskryptory i to deskryptory systemowe. Mogą to być wyłącznie deskryptory

1.    bramy przerwania

2.    bramy pułapki

3.    bramy zadania

Analizując ich format stwierdzamy, że zawierają one następny selektor i przemieszczenie (jest ono ignorowane w przypadku bramy zadania). Selektor wskazuje: dla 1. i 2. deskryptor segmentu kodu

- dla 3. deskryptor TSS

Deskryptor segmentu kodu określa tylko skąd rozpoczyna się procedura i jej limit. Natomiast przesunięcie w bramach przerwania i pułapki precyzuje „mniejsze wejścia” do tej procedury (tj. przesunięcie względem jej początku). W przypadku bramy zadania selektor w jej deskryptorze wskazuje na kolejny deskryptor. Jest to oczywiście deskryptor segmentu stanu zadania (TSS). Ponieważ w przypadku przerwania i pułapki (stanu wyjątkowego wewnętrznego) selektora nie podaje rozkaz (tak jak poprzednio instmkcja JMP międzysegmentowego) dlatego musi on się znaleźć w skojarzonym z danym przerwaniem czy stanem wyjątkowym deskryptorze w tablicy IDT. Przerwanie zewnętrzne numer pozycji z IDT podają oczywiście w drugim cyklu INTA (poprzez bity 0-7 szyny danych), natomiast różne wewnętrzne stany wyjątkowe mają przypisane sobie stałe miejsca w tej tablicy.

Jeśli obsługujemy przerwanie czy wewnętrzny wyjątek przez oddzielne zadanie to selektor w deskryptorze bramy zadania wskazuje na TSS skąd up załaduje stan wszystkich swoich rejestrów. Między innymi będą to rejestry EIP zawierające przesunięcie i CS z selektorem. Selektor ten dotyczy deskryptora z opisem segmentu kodu zadania. Dlatego więc w deskryptorze bramy zadania pole przesunięcie jest przez up pomijane.

W naszym przykładzie up stwierdza wewnętrzny wyjątek nr 13. Jego deskryptor rozpoczyna się od lokacji 400+D*8=468H

LOCK

RD

0000046C

-fWO&i

;F00 Atrybuty 8F: 1 00

0

1111

LOCK

RD

468

Looóbt

selektor

P DPLG

HJOO-przesunięcie

S

brama pułapki

(w deskryptorach systemowych nie występuje bit A, dlatego też nie ma cykli jego wstawiania w GDT)


tablica globalna

Selector 006B: 0000000001101    0 11

nr 13    RPLG

Na podstawie selektora (w deskryptorze bramy pułapki) odczytywany jest z GDT deskryptor segmentu kodu z procedury obsługi wyjątku.

LOCK

LOCK


rd\

RD


LOCK WRj


00000C6C -W40-9AJ C68 WoLdOe, baza^ limitC6C -----9B00


atrybuty 9A: 1 P


00    1    101 o

DPLc S segment kodu A


ustawienie bitu A


program    obsługi

rozpocznie się od lokacji 8000+0000 (przesunięcie z deskryptora bramy pułapki)



Wyszukiwarka

Podobne podstrony:
Część I - podstawowe informacje o EMAS Dla wyjaśnienia tego zjawiska należy sięgnąć do genezy system
Przy konstrukcji tego przepisu ustawodawca sięgnął do klauzul generalnych „ciężkie
0929DRUK00001756 144 KOZDZIAI III, UST. 33 do równoleżnika gwiazdy w dwóch jej położeniach Gą i G2,
Zamiast tego możesz do dziadków dzwonić. Dzięki częstym rozmowom będziecie mniej za sobą tęsknić. Ni
J. Barcik, P. Czech obniżenie stawek za dostęp do infrastruktury. Zamiast tego nastąpiła ich podwyżk
image00009 • „„ nie ma toalety Czosomi na wsi nie ™ Zamiast tego jest ustęp, nazywany takie wygódka.
Image067 —    na wejścia informacyjne podaje się, stosownie do tablicy stanów przerzu
Image167 dera nie decyduje o czasie dostępu do pamięci o ile suma tego opóźnienia i czasu dostępu do
skanuj0079 (25) 158 Edukacja alternatywna interesowań itd. Zamiast tego określa się zakres doświadcz
119 Pierwszym tego skutkiem jest prośba do niego o przetłumaczenie na język polski listu prezydenta
skanuj0022 przez obrońcę zostaje wykluczony z gry, a zdobyte wcześniej przedmioty musi wrzucić do ko

więcej podobnych podstron