Memoria Virutal
La
memoria virtual permite a un software correr en un espacio de memoria
que no necesariamente pertenece a la memoria disica de una computadora.
para esto se debe emular un CPU que trate a toda la memoria(virtual y
principal) como un bloque igual, y determinar cuando se requiere una
memoria u otra. Es que el tamaño combinado de la pila, programa y datos puede exceder la
memoria física disponible para ello. El S.O. mantiene en memoria
aquellas partes del programa que se deben permanecer en memoria y el
resto lo deja en disco, las partes entre el disco y la memoria se
intercambian de modo que se vayan necesitando.
Organizacion de Memoria Virtual
SEGMENTACIÓN
Administracion de Memoria Virtual
“Almacenamiento virtual” significa la
capacidad de direccional un espacio de almacenamiento mucho mayor que el
disponible en el almacenamiento primario de determinado sistema de computación.
Los métodos más comunes de
implementación son mediante:
- Técnicas de “paginación”
- Técnicas de “segmentación”
- Una combinación de ambas técnicas.
Las direcciones generadas por los
programas en su ejecución no son, necesariamente, aquellas contenidas en el
almacenamiento primario (memorial real), ya que las direcciones virtuales suelen
seleccionase dentro de un número mucho mayor de direcciones que las disponibles
dentro del almacenamiento primario.
PAGINACIÓN
La paginación
consiste en considerar el espacio de direcciones lógicas de cada proceso como un
conjunto de bloques de tamaño consistente llamados paginas. Cada dirección
lógica manejada para un proceso estará conformada por un par de valores.
La memoria
física se administra implementando bloques de tamaño consistente denominados
marcos. Obviamente el tamaño de un marco debe ser igual al tamaño de una página.
Por lo general el tamaño designado para los marcos y páginas es pequeño. Frecuentemente se
diferencia entre la paginación pura y la combinación de paginación y
segmentación. Las páginas se
transfieren del almacenamiento secundario al primario en bloques llamados
“marcos de páginas”.
- Tienen el mismo tamaño.
- Comienzan en direcciones del almacenamiento real que son múltiplos enteros del tamaño fijo de la página.
- Podrá colocarse una nueva página dentro de cualquier marco de página o celda de página disponible.
SEGMENTACIÓN
Este método
consiste en la asignación de bloques de memoria de tamaño variable, llamados
segmentos. El tamaño de cada segmento será el requerido según la petición, por
ejemplo el tamaño del proceso a cargar. El tamaño máximo para un segmento estará
determinado por la capacidad de direccionamiento del hardware de la computadora,
esto es, de cuantos bits se dispone par almacenar una dirección. El acceso a
cada elemento individual (byte), en la memoria se hace mediante una dirección de
memoria que se integra por dos elementos:
- Una dirección de segmento.
- Una de desplazamiento.
Los bloques:
- No necesitan ser de igual tamaño.
- Los bloques separados no necesitan ser adyacentes.
- Deben de estar compuestos de posiciones contiguas de almacenamiento.
- Se complica la protección de bloques de memoria de un proceso de usuario.
- Es más difícil limitar el rango de acceso de cualquier programa.
SISTEMAS DE
PAGINACION – SEGMENTACION
Tanto la
segmentación como la paginación ofrecen significativas ventajas, algunos
sistemas (multics y la serie 370 de IBM) combinan ambas técnicas en donde los
segmentos tienen un tamaño múltiplo de pagina.
Este método
utiliza segmentación y paginación tal y como su nombre lo indica, el proceso es
el siguiente: se hace la solicitud de acceso por medio de una dirección “V” la
cual contiene campos segmento, página y desplazamiento. Con el campo segmento,
lo que se trata es de acceder a una tabla de segmentos, cada campo de dicha
tabla apunta directamente a la tabla de paginas asignadas para este segmento
conteniendo una dirección que será sumada a una dirección en la tabla asociativa
para por fin formar una dirección real con el desplazamiento de “V”.Ofrecen las
ventajas de las dos técnicas de organización del almacenamiento virtual el
tamaño de los segmentos es múltiplo del de las paginas. No es necesario que
todas las páginas de un segmento se encuentren al mismo tiempo en el
almacenamiento primario.
Es un
método mediante el cual, un sistema operativo simula tener más memoria principal
que la que existe físicamente. Para implementar la memoria virtual se utiliza un
medio de almacenamiento secundario de alta velocidad de acceso, generalmente en
disco duro de la maquina. Un sistema de memoria virtual se implementa utilizando
paginación como método de administración de memoria básica y algún mecanismo de
intercambio.
La memoria
virtual es una técnica para proporcionar la simulación de un espacio de memoria
mucho mayor que la memoria física de una maquina. Esta “ilusión” permite que los
programas se hagan sin tener en cuenta el tamaño exacto de la memoria física.
ESTRATEGIAS DE ADMINISTRACION DE
LA MEMORIA VIRTUAL
Estrategias de
Obtención:
Determinan cuando se debe de transferir
una página o un segmento de almacenamiento secundario al primario. Las
estrategias de obtención por demanda esperan a que un proceso en ejecución haga
referencia a una página o un segmento antes de traer la página o el segmento de
almacenamiento primario.
Estrategias de
Colocación: Determinan en
que lugar del almacenamiento primario se debe colocar una página o un segmento
entrante. Una página entrante se puede colocar en cualquier marco de página
disponible.
Estrategias de
Reemplazo: Sirven para
decidir cual página o segmento se debe desplazar para dar espacio a una página o
segmento entrante cuando está completamente ocupado el almacenamiento primario.
Cuál consideras que es mejor, la paginación o la segmentación?
ResponderEliminarLa segmentacion, porque divide al programa en unidades logicas y es de tamaño variable segun lo que sea cada segmento.
ResponderEliminar