Deskryptor segmentu: Różnice pomiędzy wersjami

[wersja nieprzejrzana][wersja nieprzejrzana]
Usunięta treść Dodana treść
Tawbot (dyskusja | edycje)
poprawione linki na przekierowania: I386 na Intel 80386
m drob.
Linia 1:
'''Deskryptor''' ([[ang.]] ''Descriptordescriptor'') - struktura definiująca określony obiekt w pamięci.
 
==W [[Procesor|procesorachprocesor]]ach o architekturze [[x86]]==
Struktura deskryptora jest 64-bitowa i określa segment w pamięci, dostępnych jest kilka rodzajów deskryptorów. Podstawowym typem deskryptora w architekturze [[x86]] jest Deskryptordeskryptor segmentu (ang. ''Segment Descriptor'') umieszczony jest on w Lokalnejlokalnej lub Globalnejglobalnej [[Tablicatablica Deskryptorówdeskryptorów|Tablicytablicy Deskryptorówdeskryptorów]] (ang. ''Global Descriptor Table - GDT, Local Descriptor Table - LDT''). Przez GDT lub LDT prowadzą wszystkie odwołania do pamięci. Deskryptor segmentu określa jednoznacznie segment, jego położenie w pamięci, rozmiar, typ, prawa dostępu do segmentu oraz inne dane potrzebne przy dostępie do segmentu w [[Trybtryb chroniony|trybie chronionym]] pracy [[Procesor|procesoraprocesor]]a [[x86]]. Z każdym deskryptorem segmentu jest związany jego [[Selektor|selektor]] (a właściwie możliwych jest kilka selektorów różniacychróżniących siesię prawami uprzywilejowania selektora, a mające taki sam indeks deskryptora oraz wskaźnik na rodzaj tablicy GDT lub LDT).
 
Poniższy rysunek przedstawia budowebudowę deskryptora segmentu procesorów [[x86]]:
<div style="float:center; margin-left:10px; margin-right:1px;">[[Grafika:deskrypt.gif]]
</div>
 
Opis pól deskryptora: <br>
*'''G''' - ziarnistość (Granularity) określa jaka jest jednostka liczenia rozmiaru segmentu (0 - ziarnistość 1B, 1 - ziarnistość 4kB), <br>
*'''D/B''' - domyślny rozmiar operacji (0 - segment 16 bitowy, 1 - segment 32 bitowy), <br>
*'''AVL''' - bity przeznaczone do dowolnego wykorzystania przez [[system operacyjny]], <br>
*'''Limit Segmentu''' - określa rozmiar calego segmentu, zależny od ustawienia znacznika
*'''G''', jesli G = 1, maksymalny rozmiar segmentu to 1MB, przy G = 1, rozmiar maksymalny wynosci 4GB, <br>
*'''P''' - obecność segmentu, <br>
*'''DPL''' - poziom uprzywilejowania segmentu (Descriptor Privilege Level), <br>
*'''S''' - typ deskryptora (0 - systemowy 1 - kodu lub danych), <br>
*'''Typ''' - typ segmentu, <br>
*'''Baza, Adres Bazowy''' - adres bazowy (początkowy) segmentu. <br>
 
==Zobacz też==
*[[x86|Architekturaarchitektura x86]]<br>
*[[Intel 80386|Procesorprocesor Intel 386]]<br>
[[x86|Architektura x86]]<br>
*[[Przerwanieprzerwanie|Przerwaniaprzerwania w trybie chronionym]]
*[[Trybtryb chroniony|Trybtryb chroniony pracy procesora]]<br>
[[Przerwanie|Przerwania w trybie chronionym]]
 
[[Kategoria:Sprzęt komputerowy]]