Adresování segmentů paměti je logické schéma adresování paměti pro počítač s architekturou x86 . Lineární adresa konkrétní paměťové buňky, která se v některých režimech činnosti procesoru bude shodovat s fyzickou adresou, je rozdělena na dvě části: segment a offset . Segment je podmíněně přidělená oblast adresního prostoru určité velikosti a offset je adresa paměťové buňky vzhledem k začátku segmentu. Základem segmentu je lineární adresa (adresa vzhledem k celkovému množství paměti), která ukazuje na začátek segmentu v adresním prostoru. Výsledkem je segmentová (logická) adresa , která odpovídá lineární bázi adresního segmentu + offset a která je procesorem nastavena na adresovou sběrnici.
Selektor je číslo ( 16bitové v x86 ), které jednoznačně identifikuje segment. Selektor se načte do segmentových registrů.
V reálném a chráněném režimu procesoru x86 je provoz adresování segmentů odlišný.
V reálném režimu procesoru je celý adresní prostor rozdělen na identické segmenty o velikosti 65536 bytů ( bytů). Začátek každého následujícího segmentu (tzv. báze segmentu) je posunut vůči bázi předchozího o minimální velikost segmentu, tedy o 16 bajtů (tzv. odstavec ). Segmenty se tedy mohou částečně překrývat. (Například segment 2 byte 17 je také segment 3 byte a segment 1 byte.)
Selektor je 16bitový a určuje číslo segmentu. Vzhledem k tomu, že segmenty jdou za sebou v konstantním intervalu 2 4 =16 bytů, je velmi snadné zjistit lineární adresu segmentu vynásobením 16 (nebo posunutím o 4 bity doleva).
V chráněném režimu procesoru je adresní prostor úlohy rozdělen na segmenty různých velikostí s různými bázemi. Deskriptory segmentů uložené v tabulkách deskriptorů (GDT a LDT) slouží k určení báze a velikosti segmentů .
Zde segmenty č. 3 a č. 11 ukazují na stejnou oblast a jsou to aliasy (alias z anglického Alias ). Segment #7 zahrnuje segmenty #1, #2, #3 a #11. Segment #5 ukazuje na GDT, což umožňuje jeho úpravu (to se v žádném případě netýká GDT - jeho skutečný popisovač je uložen v registr GDTR (zobrazeno žlutě)). Adresování prostřednictvím tabulky lokálních deskriptorů (LDT) je podobné.
Selektor je také 16bitový, ale je rozdělen do tří částí: RPL (bity 0-1), TI (bit 2) a číslo deskriptoru ([bity 3-15).
operačních systémů | Aspekty|||||
---|---|---|---|---|---|
| |||||
Typy |
| ||||
Jádro |
| ||||
Řízení procesů |
| ||||
Správa a adresování paměti |
| ||||
Nástroje pro načítání a inicializaci | |||||
skořápka | |||||
jiný | |||||
Kategorie Wikimedia Commons Wikibooks Wikibooks |