miércoles, 27 de mayo de 2009

Protección

La memoria "física" de un ordenador es una secuencia de bytes, que empieza en el 0 y termina por ejemplo 64 megas. Es decir un "array" de bytes. Cada byte tiene una dirección: el número que ocupa posicionalmente en la memoria. Esta dirección es conocida como "direccion física". Las direcciones que va a utilizar un programa (en modo protegido), no son esas. Siempre son traducidas, o mapeadas, en direcciones de memoria física por un mecanismo de "traducción de direcciones".Este mecanismo, nos introduce en el concepto de "dirección virtual". Se llama de esta manera porque no corresponde directamente a posiciones de memoria "física", sino que a través de una "función de mapeado" equivale a una dirección de memoria física. Es decir este mecanismo, al "apuntar" a una dirección de memoria, lo que hace es buscar, por ejemplo en unas tablas internas, la correspondencia entre esta dirección y la dirección real "física" del dato.La traducción de dirección "virtual" a "física" también proporciona protección de memoria, ya que podría disponerse por ejemplo, que ciertas direcciones físicas de memoria no se mapeen desde ninguna dirección virtual.Además de esta protección, en la función de traducción de direcciones, se pueden identificar ciertas direcciones virtuales como "no válidas". Esto amplía el mecanismo de protección. Para no tener que generar una direccion física cuando se presenta un dirección virtual no válida, el mecanismo de traducción de direcciones informa de una "excepción", de forma que el software del sistema operativo, puede tomar la acción que considere oportuna.

No hay comentarios:

Publicar un comentario