Spis treści
Tryb chroniony
Tryb chroniony (ang. protected mode) – tryb pracy mikroprocesorów o architekturze x86 wprowadzony po raz pierwszy w modelu Intel 80286. Tryb chroniony umożliwia adresowanie pamięci przekraczającej wielkość 1 MB, który to limit obowiązywał w trybie rzeczywistym procesora, oraz wprowadza wiele nowych udogodnień wspierających wielozadaniowość, m.in. takich jak:[1]
- segmentacja pamięci,
- stronicowanie pamięci,
- sprzętowa ochrona pamięci (układ MMU),
- wywłaszczanie procesów,
- wsparcie w przełączaniu kontekstu procesora/rdzenia.
Większość nowoczesnych systemów operacyjnych wykorzystuje procesory serii x86 właśnie w trybie chronionym. Zaliczają się do nich m.in.: Linux, Windows w wersji 3.0 i wyższych, systemy z rodziny BSD.
Tryb chroniony został wprowadzony do mikroprocesora Intel 80286[2], który jest procesorem 16-bitowym, z 24-bitową szyną adresową (może zaadresować 16 MB pamięci RAM)[3]. Posiada on także tryb rzeczywisty (ang. real mode) dla zachowania zgodności z poprzednimi mikroprocesorami rodziny x86[2]. Mikroprocesor Intel 80286 w trybie chronionym wykorzystuje mechanizm segmentacji. 16-bitowe rejestry segmentowe CS, SS, DS, ES, w trybie chronionym zawierają selektor deskryptora (numer deskryptora)[4], który określa deskryptor segmentu, będący 8-bajtową strukturą w pamięci opisującą dany segment. Deskryptor zawiera informacje o segmencie: fizyczna lokalizacja segmentu w pamięci (24-bitowy adres bazowy, 16-bitowa długość segmentu w bajtach), prawa dostępu do segmentu, jego typ itp[5]. W trybie rzeczywistym rejestry segmentowe CS, SS, DS, ES zawierają adresy bazowe (początków) segmentów. Procesor rozpoczyna swoją pracę w trybie chronionym od ustawienia bitu PE (ang. Protection Enable) na jeden i wykonaniu dalekiego skoku[6]; wyzerowanie tego bitu powoduje powrót do trybu rzeczywistego[3] – bit PE to najmłodszy bit rejestru CR0 (ang. Control Register).
Procesory Intel 80386 i jego następcy posiadają już 32-bitowy tryb chroniony, w którym można zaadresować do 4 GB pamięci RAM[3]. Obsługują one 32-bitowy tryb segmentacji, będący rozwinięciem tego znanego z procesora Intel 80286 o dodatkowe pola w deskryptorach segmentów (m.in. 32-bitowy adres bazowy, 20-bitowa długość segmentu w bajtach, granulacja). Najważniejszą jednak cechą nowszych procesorów jest obsługa trybu stronicowania pamięci[7], który jest wykorzystywany w nowych systemach operacyjnych[8] i pozwala na całkowitą izolację procesów we własnej wirtualnej przestrzeni adresowej o rozmiarze do 4 GB (tzw. tryb chroniony z wywłaszczeniem). Ponadto istnieje możliwość użycia stronicowania pamięci w trybie z segmentacją[9], co zwiększa bezpieczeństwo procesów i systemu operacyjnego korzystającego z segmentacji oraz ułatwia zarządzanie samą pamięcią[10].
Zobacz też
[edytuj | edytuj kod]Przypisy
[edytuj | edytuj kod]- ↑ Mirosław Sobczak. Tryb chroniony procesorów 80x86. „Bajtek”. 11/95 (123), s. 18-19, listopad 1995. [dostęp 2026-02-17].
- ↑ a b Syck 1994 ↓, s. 239.
- ↑ a b c Syck 1994 ↓, s. 244.
- ↑ Syck 1994 ↓, s. 245.
- ↑ Syck 1994 ↓, rys. 7-3, s. 246.
- ↑ Syck 1994 ↓, s. 242, 244.
- ↑ Syck 1994 ↓, s. 251.
- ↑ Stallings 2018 ↓, s. 417.
- ↑ Stallings 2018 ↓, s. 370, 386.
- ↑ Stallings 2018 ↓, s. 448.
Bibliografia
[edytuj | edytuj kod]- William Stallings, Systemy operacyjne. Architektura, funkcjonowanie i projektowanie, wyd. IX, Gliwice: Helion, 2018, ISBN 978-83-283-3759-6.
- Gary Syck, Turbo Assembler. Biblia użytkownika, Warszawa: LT&P, 1994, ISBN 83-901237-2-X.









