Bästa svaret
Ett segment är en sammanhängande bit av minnet. I ett segmenterat minnesschema finns hela processens minne i segment. De första virtuella minnessystemen (Burroughs B5000, Mulitcs) baserades på segment med variabel storlek som kopieras in och ut ur RAM.
Ett program refererar till varje segment som en förskjutning till ett segmentregister. Segmentregistrets faktiska innehåll styrs av systemet. Systemet vet när ett segment refereras när segmentregistret används och använder detta för att hantera virtuellt minne.
Detta står i kontrast till sidas virtuellt minne, används överallt idag, där kvantiteterna av virtuellt minne är bitar av fast storlek. Personsökning är mer komplicerat och kräver mer hårdvarustöd.
MITs Multics har haft en enorm inverkan på modern databehandling (inklusive många idéer integrerade i Unix och Linux). Fred Pollack gick med i Intel 286-projektet från MIT. Han såg 8086-segmentregistren (faktiskt basregister) och lobbade framgångsrikt för att göra dessa riktiga segmentregister som i Multics. (Fred blev senare en Intel Fellow.)
286: s 64KB-segment led av samma problem som Multics-segmenten: de var för små. Alltför ofta behövs flera segment för att komma åt minnesstrukturer, vilket innebär att man läser in segmentregister och ofta involverar operativsystemet. På grund av inverkan på prestanda användes sällan segmentering och segmentregister användes som basregister i 8086-kompatibilitetsläge.
32-bitars Intel 386 lade till virtuellt minne (YEA!) Under segmentschemat (meh ). 64-bitars Intel-arkitekturmodell gör helt bort segmentregister, även om den fortfarande har kompatibilitetslägen ända tillbaka till 8086.
Svar
1. Vad är segmentregister?
-> Som vi alla vet finns det register i processorn. vi skapar segment i minnet (segmentering). För att få utgångsläget för dessa segment lagrar vi adressen till dessa segment i segmentregistret. i korta segmentregister lagrar startplatsen för segment som finns i minnet, dvs segmentadress.
iv id = ”5aaa35589c” 3.