IIC2333 / foro-2019-1

Foro oficial del curso IIC2333 - Sistemas Operativos y Redes, semestre 2019-1.
2 stars 0 forks source link

Duda Materia - Tamaño espacio Virtual y Paginas. #78

Closed malopez16 closed 5 years ago

malopez16 commented 5 years ago

Hola, Tengo dos consultas con respecto a materia: No logro aún entender lo que significa exactamente que digan "Espacio virtual: 64B". Lo anterior debido a que mi razonamiento es el siguiente: 64B = 2^6 B = 2^9 bits. Por lo tanto, me parecería lógico que para direccionar los 64B, se requieran 9 bits. Pero en realidad se requieren 6. Después de darle hartas vueltas y consultar en el libro (three easy pieces), aún no logro que me quede 100% claro (a pesar de que podría simplemente memorizar, prefiero entenderlo).

Y mi segunda duda: Cuando indican: Páginas de 16B, nuevamente ¿están indicando el espacio de direcciones? ¿O están indicando el tamaño total de cada página (vale decir, el espacio de direcciones total multiplicado por el ancho, siendo el ancho la cantidad de bits que se guardan en cada TPE?

Muchas gracias.

Saludos, Mauricio.

Geeermy commented 5 years ago

¡Hola Mauricio!

1) Yo creo que tu duda cae en el hecho de que, en general, siempre consideraremos que una dirección dirige a UN Byte (salvo que se estipule lo contrario... en general no). Entonces, si tu espacio es de 64 B, tienes un total de 2^6 B, esto es, 2^6 direcciones distintas (ya que cada una dirige a 1 B). ¿Con cuántos bits entonces puedes expresar las direcciones? R: log_2 (2^6) = 6 bits. ¿Se entiende?

2) Indicamos el total del tamaño de página, pero ojo, lo estás confundiendo con el TAMAÑO DE LA TABLA DE PÁGINAS. Esto es importante. La gracia del tamaño de página es que te da los bits de offset (dado que con su tamaño puedes deducir la cantidad de direcciones existentes dentro de una página). Si tu página es de 16B, entonces son 2^4 B... 2^4 direcciones distintas y, por ende, tienes 4 bits de offset. Ahora, gracias a esto, puedes determinar el número de bits utilizado en una dirección virtual para el número de páginas (bits de dirección virtual - bits de offset), lo que te permitirá obtener el número de páginas total por proceso y, consecuentemente, el número de PTEs de la tabla de páginas. Para más detalles, ve esta issue: #76

¡Éxito y consulta si sigues con dudas!

Geeermy commented 5 years ago

PD: Modifiqué un poco la respuesta porque la redacción estaba ahí no más y para dar más hints. (:

malopez16 commented 5 years ago

Te pasaste Germy, gracias por responderme así de rápido! Seguiré viendo la materia y haciendo ejercicios. Pero por ahora, creo que me quedó claro. En caso de tener más consultas, te molesto por aquí. Gracias nuevamente!