Modulo 4
Enviado por Mane M Navarro • 14 de Septiembre de 2015 • Resumen • 1.385 Palabras (6 Páginas) • 201 Visitas
Universidad de Guadalajara.
Centro Universitario de Ciencias Exactas e Ingenierías[pic 1]
Departamento de Ciencias Computacionales.
CC300- Sistemas Operativos.
Módulo 4:
T10. Traducción de direcciones de memoria.
T11. Tablas de Memoria.
T12. Memoria Virtual.
Macias Navarro Manuel
Ingeniería en Computación
212227469
Profesor: BECERRA VELAZQUEZ, VIOLETA DEL ROCIO
Sección D01 – Ciclo 2015A
13 de Marzo del 2015
T10. Traducción de direcciones de memoria.
Construcción de un fichero ejecutable
• EDICIÓN: editar en LAN el programa, con nombres de variables y funciones con un significado para el programador.
• COMPILACIÓN: a partir de los nombres, genera símbolos identificando tipos, direcciones.... Marca los nombres desconocidos (no resueltos) que están en otros ficheros o en librerías.
• MONTAJE: sustituye los símbolos por números; busca todas las referencias no resueltas vinculándolas a direcciones relativas generando un único fichero de salida; ajusta las direcciones de memoria del código y de los datos. Generalmente, también genera una tabla de símbolos para el cargador, debugger u otros programas posteriores.
• CARGA: copia un fichero ejecutable en memoria física. Tiene que ver con la reubicación
[pic 2]
Compilación.
[pic 3]
Montaje.
El montaje es la única etapa del proceso de compilación que maneja todo el código del programa junto y hace transformaciones que afectan al programa como unidad.
• El trabajo básico de un montador o cargador es la resolución de símbolos: vincular nombres de más abstracto a más concreto.
• Tiene una fase de reubicación de código: traduce direcciones de módulos a direcciones relativas al programa como unidad.
Carga.
Definición: copia de un programa desde un almacenamiento secundario (por ejemplo, disco) a memoria principal.
• Las direcciones en las cuales se ejecuta un programa no se conocen hasta que el SO carga el programa en memoria
• En el proceso de carga, el programa es reubicado como un todo en la dirección de carga.
• Aunque hay un considerable solapamiento de tareas en la actualidad, se puede decir que el montador trata principalmente con la resolución de símbolos y el cargador con la carga de programas.
• Ambos pueden reubicar.
• Ambos trabajan con código objeto.
[pic 4]
Espacio de direcciones.
• Protege a cada proceso del resto de procesos
• Protege al SO de los procesos de usuario
• Proporciona una gestión eficiente del almacenamiento disponible
[pic 5]
La memoria "física" de un ordenador es una secuencia de bytes, que empieza en el 0 y termina en....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 "dirección 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 amplia el mecanismo de protección. Para no tener que generar una dirección física cuando se presenta una dirección virtual no valida, 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.
T11. Tablas de Memoria.
La estructura de la memoria en Windows es en forma de árbol, en el cual se definen claramente 3 partes:
...