Pierścienie
Tryb chroniony, jak sama nazwa wskazuje, ma oferować ochronę. W związku z tym, do architektury x86 wprowadzono pewien podział – na poziomy uprzywilejowania. Poziomów tych jest 4 i zwyczajowo nazywa się je ring 0, ring 1, ring 2 i ring 3, gdzie ring 0 to poziom najbardziej uprzywilejowany, a ring 3, to poziom najmniej uprzywilejowany.
Architektura nie narzuca w żaden sposób, który poziom za co ma odpowiadać – wiadomo tylko, że z danego poziomu mamy dostęp do elementów z poziomów o wyższych numerach (i oczywiście do elementów z danego poziomu). Przykładowo role można podzielić tak:
- Ring 0 – jądro systemu
- Ring 1 – wywołania systemowe
- Ring 2 – biblioteki współdzielone
- Ring 3 – aplikacje użytkownika
W praktyce często używa się tylko dwóch poziomów – dla jądra i użytkownika.
Zakończenie
Z poziomami ochrony będziemy się stykać wielokrotnie podczas tworzenia systemu operacyjnego. Na razie wystarczy nam tyle informacji. Na różne sztuczki typu call gates przyjdzie jeszcze czas.
Już nie mogę się doczekać kodu :)
Cierpliwości, już tylko napiszę o GDT i samym trybie chronionym i będzie przejście z trybu rzeczywistego do chronionego – z kodem :)