Luis Carlos Montés
  Sebastián Arias
  Jeisson Acosta
  Héctor Blanco
   Dilan Rincón
   Brayan Peña
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.
Se trata por tanto de una forma alternativa de acceso a
archivos, frente a las llamadas read/write. De esta forma se
producen:
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.
Se facilita la programación, ya que una vez proyectado se
accede al archivo como si fuera una estructura de datos en
memoria
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.
Las labores que lleva a cabo el sistema
de gestión de memoria son más bien
de carácter interno. Debido a ello, este
módulo apenas ofrece directamente
servicios a las aplicaciones. Los
principales       servicios        están
relacionados con la proyección de
archivos. Existen dos servicios:
PROYECTAR UN ARCHIVO: 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 UN ARCHIVO: Eliminar
una proyección previa o parte de la misma.
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.
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.
Tiene el siguiente prototipo: caddr_t
Mmap: (caddr_t direc, size_t longitud, int
protec,int indicador, int descriptor, off_t
despl)
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.
Cuando se quiere eliminar una
proyección previa o parte de la misma, se
usa el servicio Munmap cuyo prototipo
es: Int munmap (caddr_t direc, size_t
longitud);
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.
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.
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
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

Archivos proyectados en Memoria

  • 1.
    Luis Carlos Montés Sebastián Arias Jeisson Acosta Héctor Blanco Dilan Rincón Brayan Peña
  • 2.
    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.
  • 3.
    Se trata portanto de una forma alternativa de acceso a archivos, frente a las llamadas read/write. De esta forma se producen: 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. Se facilita la programación, ya que una vez proyectado se accede al archivo como si fuera una estructura de datos en memoria
  • 4.
    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.
  • 6.
    Las labores quelleva a cabo el sistema de gestión de memoria son más bien de carácter interno. Debido a ello, este módulo apenas ofrece directamente servicios a las aplicaciones. Los principales servicios están relacionados con la proyección de archivos. Existen dos servicios:
  • 7.
    PROYECTAR UN ARCHIVO: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 UN ARCHIVO: Eliminar una proyección previa o parte de la misma.
  • 10.
    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.
  • 11.
    MMAP: (Las páginasdel 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.
  • 12.
    Tiene el siguienteprototipo: caddr_t Mmap: (caddr_t direc, size_t longitud, int protec,int indicador, int descriptor, off_t despl)
  • 13.
    MUNMAP: (desasignar páginasde 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.
  • 14.
    Cuando se quiereeliminar una proyección previa o parte de la misma, se usa el servicio Munmap cuyo prototipo es: Int munmap (caddr_t direc, size_t longitud);
  • 16.
    1. Leer losarchivos 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.
  • 17.
    En el tiempode 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.
  • 18.
    Esta característica nospermite 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
  • 19.
    La plataforma Win32pone 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