Migliore risposta
Un segmento è un blocco contiguo di memoria. In uno schema di memoria segmentato, tutta la memoria di un processo è in segmenti. I primi sistemi di memoria virtuale (Burroughs B5000, Mulitcs) erano basati su segmenti di dimensioni variabili che vengono copiati dentro e fuori dalla RAM.
Un programma fa riferimento a ciascun segmento come un offset a un registro di segmento. I contenuti effettivi del registro dei segmenti sono controllati dal sistema. Il sistema sa quando viene fatto riferimento a un segmento quando viene utilizzato il registro del segmento e lo utilizza per gestire la memoria virtuale.
Questo è in contrasto con paged memoria virtuale, usata ovunque oggi, dove i quanti della memoria virtuale sono blocchi di memoria di dimensioni fisse. Il paging è più complesso e richiede più supporto hardware.
Multics del MIT ha avuto un impatto enorme sullinformatica moderna (comprese molte idee incorporate in Unix e Linux). Fred Pollack si è unito al progetto Intel 286 appena uscito dal MIT. Vide gli 8086 registri di “segmento” (in realtà i registri di base) e fece pressioni con successo per creare questi registri di segmento reali come in Multics. (Fred in seguito divenne un Intel Fellow.)
I segmenti da 64 KB del 286 soffrivano dello stesso problema dei segmenti Multics: erano troppo piccoli. Troppo spesso sono necessari più segmenti per accedere alle strutture di memoria, il che significa ricaricare i registri dei segmenti e spesso coinvolgere il sistema operativo. A causa dellimpatto sulla segmentazione delle prestazioni è stata utilizzata raramente e i registri dei segmenti sono stati utilizzati come registri di base in modalità di compatibilità 8086.
LIntel 386 a 32 bit ha aggiunto la memoria virtuale paginata (YEA!) Sotto lo schema del segmento (meh ). Il modello di architettura Intel a 64 bit elimina completamente i registri di segmento, sebbene abbia ancora modalità di compatibilità che risalgono all8086.
Risposta
1. cosa sono i registri di segmento?
-> Come tutti sappiamo che i registri sono presenti nel processore. creiamo segmenti in memoria (segmentazione), Per ottenere la posizione iniziale di questi segmenti memorizziamo lindirizzo di questi segmenti nel registro dei segmenti. in registri di segmento brevi memorizzano la posizione iniziale dei segmenti presenti in memoria, ad esempio lindirizzo del segmento.
3.come viene eseguita la segmentazione della memoria?
-> la segmentazione della memoria viene eseguita utilizzando indirizzi a 16 bit. per prima cosa diamo lindirizzo del segmento (inizio del segmento), dopo aver dato lindirizzo del segmento diamo offset address () per accedere alle posizioni in quel segmento.
diamo lindirizzo del segmento solo una volta dopo di che forniamo lindirizzo offset.
diamo lindirizzo del segmento e offset indirizza entrambi gli indirizzi a 16 bit come programmatore. dopo aver dato questo indirizzo è dovere del processore convertire entrambi questi indirizzi in indirizzi fisici (indirizzo reale).
indirizzo fisico = indirizzo del segmento * 10 + indirizzo offset
= 1000 * 10 + 2345
= 12345H