Hukommelsessegmentadressering er et logisk hukommelsesadresseringsskema for en computer i x86 -arkitekturen . Den lineære adresse på en bestemt hukommelsescelle, som i nogle driftsformer af processoren vil matche den fysiske adresse, er opdelt i to dele: segment og offset . Et segment er et betinget tildelt område af adresserummet af en vis størrelse, og en offset er adressen på en hukommelsescelle i forhold til begyndelsen af segmentet. Basen af et segment er en lineær adresse (en adresse i forhold til den samlede mængde hukommelse), der peger på begyndelsen af segmentet i adresserummet. Resultatet er en segment (logisk) adresse , som svarer til det lineære adressesegment base + offset , og som af processoren indstilles til adressebussen.
En vælger er et tal ( 16-bit i x86 ), der entydigt identificerer et segment. Vælgeren indlæses i segmentregistre.
I de reelle og beskyttede tilstande af x86-processoren er operationen af segmentadressering anderledes.
I processorens reelle tilstand er hele adresserummet opdelt i identiske segmenter på 65536 bytes ( bytes). Begyndelsen af hvert efterfølgende segment (den såkaldte segmentbase) forskydes i forhold til bunden af det foregående med minimumssegmentstørrelsen, det vil sige med 16 bytes (det såkaldte afsnit ). Segmenterne kan således delvist overlappe hinanden. (For eksempel er segment 2 byte 17 også segment 3 byte og segment 1 byte.)
Vælgeren er 16-bit og angiver segmentnummeret. Givet at segmenterne følger hinanden med et konstant interval på 2 4 =16 bytes, er det meget nemt at finde ud af segmentets lineære adresse ved at gange det med 16 (eller flytte det 4 bits til venstre).
I processorens beskyttede tilstand er adresserummet for en opgave opdelt i segmenter af forskellige størrelser med forskellige baser. Segmentbeskrivelserne gemt i deskriptortabellerne ( GDT og LDT) tjener til at bestemme segmenternes basis og størrelse .
Her peger segment nr. 3 og nr. 11 på det samme område og er aliaser (aliaseret fra det engelske Alias ). Segment #7 spænder over segment #1, #2, #3 og #11. Segment #5 peger på GDT, så det kan ændres (dette gælder ikke for GDT på nogen måde - dets faktiske håndtag er gemt i GDTR-register (vist med gult)). Adressering gennem den lokale deskriptor tabel (LDT) er ens.
Vælgeren er også 16-bit, men er opdelt i tre dele: RPL (bit 0-1), TI (bit 2) og deskriptornummer ([bit 3-15).
af operativsystemer | Aspekter|||||
---|---|---|---|---|---|
| |||||
Typer |
| ||||
Nucleus |
| ||||
Procesledelse _ |
| ||||
Hukommelseshåndtering og adressering | |||||
Indlæsnings- og initialiseringsværktøjer | |||||
skal | |||||
Andet | |||||
Kategori Wikimedia Commons Wikibooks Wiktionary |