archivos proyectados en memoria

12
ARCHIVOS PROYECTADOS EN MEMORIA

Upload: julian-parra

Post on 25-Jul-2015

876 views

Category:

Technology


3 download

TRANSCRIPT

Page 1: Archivos proyectados en memoria

ARCHIVOS PROYECTADOS EN MEMORIA

Page 2: Archivos proyectados en memoria

¿QUÉ ES ?

Desventajas:• El espacio de direcciones de

ciertas arquitecturas: un archivo de tamaño mayor que el espacio direccionales solo puede proyectarse en memoria por trozos, lo cual complica su lectura.

Un archivo proyectado en memoria es, una porción de memoria virtual en la que se establece una correlación directa byte a byte con una parte de un archivo o un recurso similar.

Ventajas:• Se trata por tanto de una forma

alternativa de acceso a archivos, frente a las llamadas read/write.

• Menos llamadas al sistema lo que se traduce en una notable mejora de los tiempos de acceso.

• Se evitan copias intermedias de la información ya que el S.O. transfiere directamente la información entre la región de memoria y el archivo

Page 3: Archivos proyectados en memoria

SERVICIO DE GESTIÓN DE MEMORIA

• El sistema de gestión de memoria ofrece servicios directamente a las aplicaciones de carácter interno.

• Los principales servicios están relacionados con la proyección de archivos. Existen dos servicios:

Page 4: Archivos proyectados en memoria

ARCHIVO

• PROYECTAR: Permite incluir en el mapa de memoria de un proceso un archivo o parte del mismo. Con esta operación, se crea una región asociada al objeto de memoria almacenado en el archivo. Normalmente, se pueden especificar algunas propiedades de esta nueva región. Por ejemplo, el tipo de protección o si la región es privada o compartida.

• DESPROYECTAR: Eliminar una proyección previa o parte de la misma.

Page 5: Archivos proyectados en memoria

PROYECCIÓN DE ARCHIVOS EN MEMORIA

Page 6: Archivos proyectados en memoria

SERVICIO DE MEMORIA POSIX

• El estándar POSIX (Portable Operating• System Interface; la X viene de  UNIX como

seña de identidad de la API) define un relativamente pequeño conjunto de servicios de gestión de memoria. Los servicios de gestión de memoria más frecuentemente usados son los que corresponden con la proyección y des proyección de archivos (MMAP, MUNMAP). Existen dos servicios.

Page 7: Archivos proyectados en memoria

MMAP

• (Las páginas del mapa de la memoria)  Es un método de archivo asignado en memoria E / O. Como es natural, implementa la paginación por demanda , ya que inicialmente el contenido del archivo no se lee desde el disco por completo y no usar la memoria RAM física en absoluto.

Page 8: Archivos proyectados en memoria

MUNMAP

• (desasignar páginas de la memoria) La función de munmap  elimina todas las asignaciones para las páginas enteras que contienen alguna parte del espacio de direcciones del proceso a partir de dir y continua para len bytes. Otras referencias a estos resultado páginas en la generación de una señal SIGSEGV al proceso. Si no hay asignaciones en el rango de direcciones especificado, entonces munmap () no tiene ningún efecto

Page 9: Archivos proyectados en memoria

LOS ARCHIVOS PROYECTADOS EN MEMORIA SE UTILIZAN EN TRES TAREAS

1. Leer los archivos contenidos en los archivos .EXE y .DLL cuando se ejecuta un proceso.

2. Realizar operaciones de E/S a disco sin buffers de memoria intermedios.

3. Crear zonas de memoria compartida, para intercambiar datos entre procesos.

Page 10: Archivos proyectados en memoria

LEER LOS ARCHIVOS CONTENIDOS EN LOS ARCHIVOS .EXE

En el tiempo de carga, ya que realmente no se realiza toda la carga del código ejecutable al arrancar, sino que se va haciendo conforme se necesita. Si el contenido de una página nunca llega a ejecutarse, esa página nunca se cargará en RAM, sino que permanecerá en el propio archivo ejecutable.

Page 11: Archivos proyectados en memoria

REALIZAR OPERACIONES DE E/S AL DISCO

Esta característica nos permite manipular cualquier

estructura en memoria en realidad lo que estamos haciendo es manipular datos en disco. El propio sistema es el encargado de llevar a RAM las páginas que leemos, y volcar a disco las páginas que escribimos.

• Al arrancar• Manipular• Al cerrar la aplicación

Page 12: Archivos proyectados en memoria

CREAR ZONAS DE MEMORIA COMPARTIDA

La plataforma Win32 pone muy difícil que los datos puedan ser compartidos entre distintos procesos, dado el carácter privado de su espacio de memoria y el nivel de seguridad que se busca a la hora de desarrollar un sistema operativo robusto.

• Proyecciones nombradas• Herencia de descriptores