Tengo un sistema de segmentación simple con la siguiente tabla de segmentos:
Starting Address Length (bytes)
660 248
1752 422
222 198
996 604
Determine la dirección física para las siguientes direcciones lógicas; indicar fallas en el segmento. Sé las respuestas, pero no entiendo cómo se calcularon:
a. 0, 198 -- 858
b. 2, 156 -- 378
c. 1, 530 -- seg fault
d. 3, 444 -- 1440
e. 0, 222 -- 882
a) 660 + 198 = 858
b) 222 + 156 = 378
c) 530 > 422
d) 996 + 444 = 1440
e) 660 + 222 = 882
Primero, debe verificar si (desplazamiento <límite del segmento) hay un problema. Si es así, agregue el desplazamiento + la dirección base para la dirección física. Si no es así, se producirá una falla de segmento.
a) (0, 198) comprobaremos 198< 248, lo cual es cierto, así que calcularemos Dirección física = 660+ 198 = 858.
b) (2, 156) comprobaremos 156< 198, lo cual es cierto, así que calcularemos Dirección física = 222+ 156= 378.
c) (1, 530) comprobaremos 530< 422, que es falso por lo que se produce un fallo de segmento.
d) (3, 444) comprobaremos 444< 604, lo cual es cierto así que calcularemos Dirección física = 996+ 444= 1440
e) (0, 222) comprobaremos 222< 248, lo cual es cierto así que calcularemos Dirección física = 660+ 222= 882
Nick Alexeev
chris stratton