La política de reubicación se refiere a la capacidad de cargar y ejecutar un programa determinado en la posición arbitraria de memoria en contraposición a un conjunto fijo de posiciones especificadas durante la compilación de dicho programa. Las instrucciones de un proceso cargado en memoria contendrán referencias a posiciones de memoria de dos tipos.
Referencias a Posiciones de Memoria
- Referencia a datos empleados en instrucciones de carga, almacenamiento y algunas instrucciones aritmético-lógicas.
- Referencias a otras instrucciones empleadas fundamentalmente en bifurcaciones de control de flujo o en instrucciones de llamadas.
Ambos tipos de direcciones no serán fijas durante todo el periodo de permanencia del proceso en el sistema, sino que puedan avisar si el proceso es suspendido y cargado posteriormente en memoria o simplemente, si es desplazado dentro de esta, distinguiremos los dos tipos de direcciones.
- Una dirección lógica o virtual es un identificador utilizado para referenciar información dentro del espacio de direcciones de un programa y por tanto es independiente de la asignación actual de datos a memoria debiendose realizar una traducción a dirección física antes de poder realizar un acceso a memoria.
- Una dirección física o absoluta designa a una posición real de memoria física donde se almacena información en tiempo de ejecución.
Tipos de Esquemas
Dependiendo de cómo y cuándo tenga lugar la traducción del espacio de
direcciones virtuales al espacio de direcciones físicas en un esquema de
reubicación determinado, pueden considerarse dos tipos básicos de estrategias:
- Reubicación
Estática
- Reubicación Dinámica.
Reubicación Estática
Implica generalmente que la reubicación es realizada antes o durante la
carga del proceso en memoria. Las constantes (valores literales), los
desplazamientos relativos al PC, no dependen de esta condición y no necesitan
ser ajustados durante la reubicación.
Reubicación Dinámica
Implica que la correspondencia entre el espacio de direcciones virtuales
y el espacio de direcciones físicas se efectúa en tiempo de ejecución.
Usualmente con asistencia del hardware. Cuando el proceso en cuestión está siendo ejecutado, todas sus
referencias a memoria son reubicadas durante la ejecución antes de acceder
realmente a la memoria física.
Imagen tomada y modificada de la presentación de Diego Alejandro Garcia |
Política de Ubicación
La política
de ubicación tiene que ver con determinar donde va a residir una parte del
proceso en memoria principal.
En un sistema
de segmentación puro, la política de ubicación es un aspecto muy importante de
diseño, teniendo como posibles alternativas las políticas de mejor ajuste,
primer ajuste y siguiente ajuste.
Política
Optima
Esta Política
selecciona para reemplazar la pagina que tiene que esperar mas tiempo hasta que
se produzca la referencia siguiente. Se puede demostrar que esta política
genera el menor numero de fallos de pagina, sin embargo, este algoritmo resulta
imposible de implementar porque requiere que el SO tenga un conocimiento exacto
de los sucesos futuros.
Esquema
de Política
Optima para el caso propuesto
|
Política de Remplazo
Cuando todos
los marcos de memoria principal están ocupados y es necesario traer a memoria
una nueva pagina para atender un fallo de pagina.
La política
se encarga de seleccionar la pagina a reemplazar de entre las que se encuentren
actualmente en memoria.
http://es.slideshare.net/Eborda/exp-so-politicas
No hay comentarios:
Publicar un comentario