SlideShare una empresa de Scribd logo
MEMORIA VIRTUAL Daniel Esteban Sánchez Garzón
QUE ES LA MEMORIA VIRTUAL La memoria virtual es una técnica que permite ejecutar procesos que no caben totalmente en memoria RAM (memoria física). Esto propicia la creación de programas que sean más grandes que la memoria física. Además, la memoria virtual ayuda a crear un esquema de abstracción de la memoria que la separa de la zona lógica que el usuario ve, esto facilita enormemente la tarea a los programadores puesto que no se han de preocupar por limitaciones de memoria.  Los procedimientos de implementación de la memoria virtual se basan en que cuando se ejecuta un programa, éste está parcialmente en memoria, es decir, sólo hay cargada aquella zona de código y datos que se necesitan en ese instante de tiempo, y no el programa completo. La memoria virtual es la separación entre la memoria lógica disponible para el usuario y la memoria RAM, se implementa generalmente con el método de paginación por demanda aunque también se puede implementar en un sistema con segmentación.  En el momento en que en el sistema empieza a escasear la memoria, se crea un fichero SWAP (intercambio) en el disco que sirve como ampliación auxiliar de memoria. En el caso de Windows, cuando tenemos muchas aplicaciones en funcionamiento y la memoria RAM se agota, el sistema se apoya en el fichero SWAP para realizar movimientos desde el disco duro a la RAM y viceversa. De ese modo crean espacios en memoria física para ir ejecutando las órdenes. Esto, evidentemente, hace que el sistema vaya más lento.  Todo ello permite simular la existencia de 4GB de RAM en el equipo, a pesar de que nadie dispone de 4GB en su ordenador (a excepción de algunos sistemas en empresas y universidades), y dar capacidad de ejecución a múltiples aplicaciones por grandes que sean.
FRAGMENTACION INTERNA  Fragmentación interna Los discos duros tienen un tamaño mínimo de bloque, este es llamado clúster. Este tamaño varía según el sistema de archivos y el tamaño total de la partición. Por eso se sugiere no disponer de un gran tamaño de partición en los discos nuevos donde la capacidad es muy importante. Por ejemplo si nuestro cluster es de 16KB (16.384 bytes) por más que un archivo ocupe menos, en nuestro disco ocupara 16k. Esto sugiere una pérdida de ese espacio que dice utilizar pero no utiliza. Por eso, en nuestro ejemplo, un archivo de 3KB ocupara en nuestro disco lo mismo que uno de 10KB, o sea 16 KB. Esa pérdida de espacio se denomina fragmentación interna, y no se corrige con el desfragmentador, sino disminuyendo el tamaño de la partición.
FRAGMENTACION EXTERNA Existe bastante memoria libre para un proceso, pero no es contigua. Con first-fit de  N  blocks normalmente perdimos 0.5 N  blocks (¡un tercio!). Para eliminar los fragmentos podemos  compactar  la memoria. O sea, colocamos los procesos en una sección contigua de la memoria. En general la compactación es cara, y seleccionar una estrategia óptima es dificil (¶ hay muchas posibilidades para seleccionar los procesos que colocamos).
PAGINACION Los esquemas  precedentes  tienen el problema que los procesos ocupan memoria contigua. La fragmentación externa es un resultado de esta política.  Se divide la memoria en trozos pequeños de tamaño fijo ( frames ). Se dividen los procesos en trozos de mismo tamaño ( páginas ). Tamaños típicos son de 512 bytes a 8K (Linux: 4K).  ¿Qué pasa con la fragmentación? No hay la externa; la interna tiene un máximo de casi una página (¿pero cuánto esperamos?).  La ventaja de la paginación es que las páginas no tienen que estar contiguas en memoria. Pero en este caso se necesita un método nuevo para convertir las direcciónes lógicas a direcciónes físicas.  El S.O. mantiene una  tabla de páginas  para cada proceso, la que mapea las páginas a los frames. Se divide una dirección lógica en un número de página (un índice en la tabla) y un desplazamiento de página. La división es más fácil con tamaños de páginas que son una potencia de 2.  El S.O. mantiene también una lista de frames libres.  De la perspectiva del usuario, el espacio de direcciones es contiguo. La MMU hace la trasducción de direcciones.
SEGMENTACION  Pipeline en inglés. Método por el cual se aumenta el rendimiento del funcionamiento en computadoras y dispositivos similares aplicándolo al microprocesador. El método consiste en la descomposición de la ejecución de cada instrucción en varias etapas pudiendo procesar diferentes instrucciones en cada una de ellas y trabajar varias a la vez.
SEGMENTACION PAGINADA  Tanto la  paginación  como la  segmentación  tienen sus ventajas y desventajas. También es posible combinar estos dos esquemas para mejorar ambos. Veamos como ejemplo el esquema del ordenador GE 645 con el sistema operativo Multics. Las direcciones lógicas estaban formadas a partir de un número de segmento de 18 bits y un desplazamiento de 16 bits. Aunque este esquema crea un espacio de direcciones correspondiente a una dirección de 34 bits, la tabla de segmentos tiene un tamaño tolerable, puesto que el número variable de segmentos conduce naturalmente al uso de un Registro de Longitud de Tabla de Segmentos. Necesitamos tan solo el mismo número de entradas en la tabla de segmentos que segmentos; no tenemos por qué tener entradas vacías en la tabla de segmentos.

Más contenido relacionado

DOCX
Memoria caché y virtual
PPTX
Memoria virtual
PPTX
Memoria vitual
PDF
7 memoria cache
PPTX
La Memoria Virtual en Windows
PPTX
Presentación2 lina ramirez
PPTX
Memoria virtual
PPTX
Sistemas operativos memoria virtual
Memoria caché y virtual
Memoria virtual
Memoria vitual
7 memoria cache
La Memoria Virtual en Windows
Presentación2 lina ramirez
Memoria virtual
Sistemas operativos memoria virtual

La actualidad más candente (20)

ODP
Memoria caché (Explicación)
PPT
PresentaciòN Memoria Cache
PPTX
Memoria virtual
PPTX
Memoria virtual - Exposicion
PPT
Capitulo 9 Memoria Virtual
PPTX
Memoria cache y virtual
PPTX
PPSX
memoria cache
PPTX
Memoria cache
PDF
Danilo logroño 5to a tarea 4
PPTX
Memoria Virtual
 
PPTX
presentacion Memoria virtual
PPTX
Bios y Memoria Cache
PPTX
memoria virtual
PPTX
Memoria virtual
PPTX
Sistemas operativos memoria virtual
PPTX
Memoria virtual
PDF
Eduardo evas 5_a _t4
PDF
Alex tomarema 5_b_t#4
PDF
Tipos de memoria ram
Memoria caché (Explicación)
PresentaciòN Memoria Cache
Memoria virtual
Memoria virtual - Exposicion
Capitulo 9 Memoria Virtual
Memoria cache y virtual
memoria cache
Memoria cache
Danilo logroño 5to a tarea 4
Memoria Virtual
 
presentacion Memoria virtual
Bios y Memoria Cache
memoria virtual
Memoria virtual
Sistemas operativos memoria virtual
Memoria virtual
Eduardo evas 5_a _t4
Alex tomarema 5_b_t#4
Tipos de memoria ram
Publicidad

Similar a Memoria virtual fus daniel (20)

PPTX
Memoria virtual2
PPTX
Memoria virtual
DOCX
Administracion de la memoria principal
PPTX
Memorias
PPTX
Memoria
PPTX
Trabajo memoria virtual
PPTX
memoria_virtual
PPT
Presentacion memoria
PPTX
Memoria virtual...
PPTX
Memoriavirtual
PPTX
Memoriavirtual
PPTX
Memoriavirtual
DOCX
Administración de memoria
PPTX
Memoria virtual miguel
PPTX
Andres infante
PPTX
MEMORIA VIRTUAL
PPTX
Andres infante
PPT
Memoria virtual
PPT
Memoria virtual
PPT
Memoria virtual
Memoria virtual2
Memoria virtual
Administracion de la memoria principal
Memorias
Memoria
Trabajo memoria virtual
memoria_virtual
Presentacion memoria
Memoria virtual...
Memoriavirtual
Memoriavirtual
Memoriavirtual
Administración de memoria
Memoria virtual miguel
Andres infante
MEMORIA VIRTUAL
Andres infante
Memoria virtual
Memoria virtual
Memoria virtual
Publicidad

Memoria virtual fus daniel

  • 1. MEMORIA VIRTUAL Daniel Esteban Sánchez Garzón
  • 2. QUE ES LA MEMORIA VIRTUAL La memoria virtual es una técnica que permite ejecutar procesos que no caben totalmente en memoria RAM (memoria física). Esto propicia la creación de programas que sean más grandes que la memoria física. Además, la memoria virtual ayuda a crear un esquema de abstracción de la memoria que la separa de la zona lógica que el usuario ve, esto facilita enormemente la tarea a los programadores puesto que no se han de preocupar por limitaciones de memoria. Los procedimientos de implementación de la memoria virtual se basan en que cuando se ejecuta un programa, éste está parcialmente en memoria, es decir, sólo hay cargada aquella zona de código y datos que se necesitan en ese instante de tiempo, y no el programa completo. La memoria virtual es la separación entre la memoria lógica disponible para el usuario y la memoria RAM, se implementa generalmente con el método de paginación por demanda aunque también se puede implementar en un sistema con segmentación. En el momento en que en el sistema empieza a escasear la memoria, se crea un fichero SWAP (intercambio) en el disco que sirve como ampliación auxiliar de memoria. En el caso de Windows, cuando tenemos muchas aplicaciones en funcionamiento y la memoria RAM se agota, el sistema se apoya en el fichero SWAP para realizar movimientos desde el disco duro a la RAM y viceversa. De ese modo crean espacios en memoria física para ir ejecutando las órdenes. Esto, evidentemente, hace que el sistema vaya más lento. Todo ello permite simular la existencia de 4GB de RAM en el equipo, a pesar de que nadie dispone de 4GB en su ordenador (a excepción de algunos sistemas en empresas y universidades), y dar capacidad de ejecución a múltiples aplicaciones por grandes que sean.
  • 3. FRAGMENTACION INTERNA Fragmentación interna Los discos duros tienen un tamaño mínimo de bloque, este es llamado clúster. Este tamaño varía según el sistema de archivos y el tamaño total de la partición. Por eso se sugiere no disponer de un gran tamaño de partición en los discos nuevos donde la capacidad es muy importante. Por ejemplo si nuestro cluster es de 16KB (16.384 bytes) por más que un archivo ocupe menos, en nuestro disco ocupara 16k. Esto sugiere una pérdida de ese espacio que dice utilizar pero no utiliza. Por eso, en nuestro ejemplo, un archivo de 3KB ocupara en nuestro disco lo mismo que uno de 10KB, o sea 16 KB. Esa pérdida de espacio se denomina fragmentación interna, y no se corrige con el desfragmentador, sino disminuyendo el tamaño de la partición.
  • 4. FRAGMENTACION EXTERNA Existe bastante memoria libre para un proceso, pero no es contigua. Con first-fit de N blocks normalmente perdimos 0.5 N blocks (¡un tercio!). Para eliminar los fragmentos podemos compactar la memoria. O sea, colocamos los procesos en una sección contigua de la memoria. En general la compactación es cara, y seleccionar una estrategia óptima es dificil (¶ hay muchas posibilidades para seleccionar los procesos que colocamos).
  • 5. PAGINACION Los esquemas precedentes tienen el problema que los procesos ocupan memoria contigua. La fragmentación externa es un resultado de esta política. Se divide la memoria en trozos pequeños de tamaño fijo ( frames ). Se dividen los procesos en trozos de mismo tamaño ( páginas ). Tamaños típicos son de 512 bytes a 8K (Linux: 4K). ¿Qué pasa con la fragmentación? No hay la externa; la interna tiene un máximo de casi una página (¿pero cuánto esperamos?). La ventaja de la paginación es que las páginas no tienen que estar contiguas en memoria. Pero en este caso se necesita un método nuevo para convertir las direcciónes lógicas a direcciónes físicas. El S.O. mantiene una tabla de páginas para cada proceso, la que mapea las páginas a los frames. Se divide una dirección lógica en un número de página (un índice en la tabla) y un desplazamiento de página. La división es más fácil con tamaños de páginas que son una potencia de 2. El S.O. mantiene también una lista de frames libres. De la perspectiva del usuario, el espacio de direcciones es contiguo. La MMU hace la trasducción de direcciones.
  • 6. SEGMENTACION Pipeline en inglés. Método por el cual se aumenta el rendimiento del funcionamiento en computadoras y dispositivos similares aplicándolo al microprocesador. El método consiste en la descomposición de la ejecución de cada instrucción en varias etapas pudiendo procesar diferentes instrucciones en cada una de ellas y trabajar varias a la vez.
  • 7. SEGMENTACION PAGINADA Tanto la paginación como la segmentación tienen sus ventajas y desventajas. También es posible combinar estos dos esquemas para mejorar ambos. Veamos como ejemplo el esquema del ordenador GE 645 con el sistema operativo Multics. Las direcciones lógicas estaban formadas a partir de un número de segmento de 18 bits y un desplazamiento de 16 bits. Aunque este esquema crea un espacio de direcciones correspondiente a una dirección de 34 bits, la tabla de segmentos tiene un tamaño tolerable, puesto que el número variable de segmentos conduce naturalmente al uso de un Registro de Longitud de Tabla de Segmentos. Necesitamos tan solo el mismo número de entradas en la tabla de segmentos que segmentos; no tenemos por qué tener entradas vacías en la tabla de segmentos.