SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
FUNDAMENTOS DE SISTEMAS OPERATIVOS   MEMORIA VIRTUAL




      TÍTULO: MEMORIA VIRTUAL




04/12/2009                                       AGEKA
FUNDAMENTOS DE SISTEMAS OPERATIVOS                                     MEMORIA VIRTUAL




                               MEMORIA VIRTUAL




                Img.01: Cómo la memoria virtual se mapea a la memoria física



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.


04/12/2009                                                                           AGEKA
FUNDAMENTOS DE SISTEMAS OPERATIVOS                                MEMORIA VIRTUAL




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.

Aunque la memoria virtual podría estar implementada por el software del sistema
operativo, en la práctica casi siempre se usa una combinación de hardware y
software, dado el esfuerzo extra que implicaría para el procesador.

Operación básica

Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la
CPU, una parte del hardware dentro de la computadora traduce las direcciones de
memoria generadas por el software (direcciones virtuales) en:

      La dirección real de memoria (la dirección de memoria física), o
      Una indicación de que la dirección de memoria deseada no se encuentra en
       memoria principal (llamado excepción de memoria virtual)

En el primer caso, la referencia a la memoria es completada, como si la memoria
virtual no hubiera estado involucrada: el software accede donde debía y sigue
ejecutando normalmente. En el segundo caso, el sistema operativo es invocado para
manejar la situación y permitir que el programa siga ejecutando o aborte según sea
el caso. 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 máquina. Esta
04/12/2009                                                                    AGEKA
FUNDAMENTOS DE SISTEMAS OPERATIVOS                               MEMORIA VIRTUAL




"ilusión" permite que los programas se ejecuten sin tener en cuenta el tamaño exacto
de la memoria física.




                                Img.02: La memoria virtual


La ilusión de la memoria virtual está soportada por el mecanismo de traducción de
memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así
en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal
forma que una pequeña parte de él, está en memoria real y el resto almacenado en
el disco, y puede ser referenciado fácilmente.

Debido a que sólo la parte de memoria virtual que está almacenada en la memoria
principal, es accesible a la CPU, según un programa va ejecutándose, la proximidad
de referencias a memoria cambia, necesitando que algunas partes de la memoria
virtual se traigan a la memoria principal desde el disco, mientras que otras ya
ejecutadas, se pueden volver a depositar en el disco (archivos de paginación).

La memoria virtual ha llegado a ser un componente esencial de la mayoría de los
sistemas operativos actuales. Y como en un instante dado, en la memoria sólo se
tienen unos pocos fragmentos de un proceso dado, se pueden mantener más
procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no se
usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo
debe saber cómo gestionar este esquema.




04/12/2009                                                                   AGEKA
FUNDAMENTOS DE SISTEMAS OPERATIVOS                                MEMORIA VIRTUAL




La memoria virtual también simplifica la carga del programa para su ejecución
llamada reubicación, este procedimiento permite que el mismo programa se ejecute
en cualquier posición de la memoria física.

En un estado estable, prácticamente toda la memoria principal estará ocupada con
fragmentos de procesos, por lo que el procesador y el S.O tendrán acceso directo a
la mayor cantidad de procesos posibles, y cuando el S.O traiga a la memoria un
fragmento, deberá expulsar otro. Si expulsa un fragmento justo antes de ser usado,
tendrá que traer de nuevo el fragmento de manera casi inmediata.

Demasiados intercambios de fragmentos conducen a lo que se conoce como
hiperpaginación: donde el procesador consume más tiempo intercambiando
fragmentos que ejecutando instrucciones de usuario. Para evitarlo el sistema
operativo intenta adivinar, en función de la historia reciente, qué fragmentos se
usarán con menor probabilidad en un futuro próximo.

Paginación y memoria virtual

La memoria virtual usualmente (pero no necesariamente) es implementada usando
paginación. En paginación, los bits menos significativos de la dirección de memoria
virtual son preservados y usados directamente como los bits de orden menos
significativos de la dirección de memoria física. Los bits más significativos son
usados como una clave en una o más tablas de traducción de direcciones (llamadas
tablas de paginación), para encontrar la parte restante de la dirección física buscada.

El mecanismo de paginación, también recoge estadísticas de utilización de las partes
de memoria virtual que están residentes en memoria real o física. Estas estadísticas
ayudan al sistema operativo a decidir que se puede devolver a disco cuando el
espacio de memoria principal está muy "achuchado".

La paginación evita el problema de ajustar los pedazos de memoria de tamaños
variables que han sufrido los esquemas de manejo de memoria anteriores.


04/12/2009                                                                     AGEKA
FUNDAMENTOS DE SISTEMAS OPERATIVOS                                 MEMORIA VIRTUAL




Tablas de Paginación.

Cada página tiene un número que se utiliza como índice en la tabla de páginas, lo
que da por resultado el número de marco correspondiente a esa página virtual.

Algoritmos de Reemplazo de Paginas

      Algoritmo aleatorio.- Reemplaza aleatoriamente cualquier pagina de memoria
      principal, sin hacer ningún esfuerzo de predicción.
      Algoritmo de reemplazo de páginas óptimo.-Debe tener el menor índice de
      fallos de página de todos los algoritmos.
      Algoritmo de reemplazo de páginas según el uso no tan reciente.- Hace uso
      de los dos bits de estado que están asociados a cada página.
      Algoritmo de reemplazo FIFO.-“Primero en entrar, Primero en salir”
      Algoritmo de reemplazo de páginas de la segunda oportunidad
      Algoritmo de reemplazo de páginas del reloj.- Organiza las paginas en una
      lista circular.
      Algoritmo de reemplazo de páginas LRU.- Menor uso reciente(Least Recent
      Use).

   Aplicación

   Un programa de aplicación grande, podría mostrar un menú con muchas
   funciones. Al seleccionar una función del menú, se ejecutarían varias rutinas
   específicas de dicha función, pero no se referenciarían las rutinas de las
   funciones restantes. En un sistema de memoria virtual, la ejecución de la función
   seleccionada del menú, se soportaría trayendo el código y los datos para esa
   función a la memoria principal (si no estuviese ya allí). El resto podría o no
   sacarse del disco a memoria real. Mientras la memoria física fuese lo bastante
   grande para contener el código y datos de cualquier función elemental de nuestro
   menú, el tamaño total de la memoria física, podría ser mucho menor que el
   tamaño total de nuestro programa.

04/12/2009                                                                          AGEKA
FUNDAMENTOS DE SISTEMAS OPERATIVOS                     MEMORIA VIRTUAL




INTEGRANTES.




              Andrea Llerena         magi_lle@hotmail.com

              Amanda Jiménez         m.a.n.d.ylove@hotmail.com

              Karen Paredes          jogyss@hotmail.com

              Gabriela Chamorro      gaby_glec29@hotmail.com

              Edith Oleas            eyivonole_2@yahoo.es




04/12/2009                                                         AGEKA

Contenu connexe

Tendances

Tendances (19)

ADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIAADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIA
 
Administracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemasAdministracion de la memoria, primeros sistemas
Administracion de la memoria, primeros sistemas
 
Administración de la memoria
Administración de la memoriaAdministración de la memoria
Administración de la memoria
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
Gestión de memoria
Gestión de memoriaGestión de memoria
Gestión de memoria
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Capítulo 2 - Libro Azúl
Capítulo 2 - Libro AzúlCapítulo 2 - Libro Azúl
Capítulo 2 - Libro Azúl
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Administración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas OperativosAdministración de Memoria - Sistemas Operativos
Administración de Memoria - Sistemas Operativos
 
4 Administracion De Memoria
4 Administracion De Memoria4 Administracion De Memoria
4 Administracion De Memoria
 
Gestion de Memoria
Gestion de MemoriaGestion de Memoria
Gestion de Memoria
 
tercera unidad :3
tercera unidad :3tercera unidad :3
tercera unidad :3
 
Memoria virtual - Exposicion
Memoria virtual - ExposicionMemoria virtual - Exposicion
Memoria virtual - Exposicion
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 

En vedette

COMO SE OPTIMIZA LA MEMORIA VIRTUAL
COMO SE OPTIMIZA LA MEMORIA VIRTUALCOMO SE OPTIMIZA LA MEMORIA VIRTUAL
COMO SE OPTIMIZA LA MEMORIA VIRTUALJhamit A
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALyesidand
 
6. configuración del navegador
6. configuración del navegador6. configuración del navegador
6. configuración del navegadorfmraquel84
 
Administración de memoria virtual.
Administración de memoria virtual.Administración de memoria virtual.
Administración de memoria virtual.Juan Anaya
 
Administracion de memoria virtual
Administracion de memoria virtualAdministracion de memoria virtual
Administracion de memoria virtualclaupam27
 
Creación de usuarios en Windows 7
Creación de usuarios en Windows 7Creación de usuarios en Windows 7
Creación de usuarios en Windows 7PepeA
 

En vedette (6)

COMO SE OPTIMIZA LA MEMORIA VIRTUAL
COMO SE OPTIMIZA LA MEMORIA VIRTUALCOMO SE OPTIMIZA LA MEMORIA VIRTUAL
COMO SE OPTIMIZA LA MEMORIA VIRTUAL
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
6. configuración del navegador
6. configuración del navegador6. configuración del navegador
6. configuración del navegador
 
Administración de memoria virtual.
Administración de memoria virtual.Administración de memoria virtual.
Administración de memoria virtual.
 
Administracion de memoria virtual
Administracion de memoria virtualAdministracion de memoria virtual
Administracion de memoria virtual
 
Creación de usuarios en Windows 7
Creación de usuarios en Windows 7Creación de usuarios en Windows 7
Creación de usuarios en Windows 7
 

Similaire à Memoria Virtual

Similaire à Memoria Virtual (20)

memoria virtual
memoria virtualmemoria virtual
memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Unidad 3 s.o.
Unidad 3 s.o.Unidad 3 s.o.
Unidad 3 s.o.
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria vitual
Memoria vitualMemoria vitual
Memoria vitual
 
Cuestionarios de la unidad iii, iv y v.
Cuestionarios de la unidad iii, iv y v.Cuestionarios de la unidad iii, iv y v.
Cuestionarios de la unidad iii, iv y v.
 
Memorias
MemoriasMemorias
Memorias
 
Memoria virtual
Memoria virtual Memoria virtual
Memoria virtual
 

Memoria Virtual

  • 1. FUNDAMENTOS DE SISTEMAS OPERATIVOS MEMORIA VIRTUAL TÍTULO: MEMORIA VIRTUAL 04/12/2009 AGEKA
  • 2. FUNDAMENTOS DE SISTEMAS OPERATIVOS MEMORIA VIRTUAL MEMORIA VIRTUAL Img.01: Cómo la memoria virtual se mapea a la memoria física 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. 04/12/2009 AGEKA
  • 3. FUNDAMENTOS DE SISTEMAS OPERATIVOS MEMORIA VIRTUAL 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. Aunque la memoria virtual podría estar implementada por el software del sistema operativo, en la práctica casi siempre se usa una combinación de hardware y software, dado el esfuerzo extra que implicaría para el procesador. Operación básica Cuando se usa Memoria Virtual, o cuando una dirección es leída o escrita por la CPU, una parte del hardware dentro de la computadora traduce las direcciones de memoria generadas por el software (direcciones virtuales) en:  La dirección real de memoria (la dirección de memoria física), o  Una indicación de que la dirección de memoria deseada no se encuentra en memoria principal (llamado excepción de memoria virtual) En el primer caso, la referencia a la memoria es completada, como si la memoria virtual no hubiera estado involucrada: el software accede donde debía y sigue ejecutando normalmente. En el segundo caso, el sistema operativo es invocado para manejar la situación y permitir que el programa siga ejecutando o aborte según sea el caso. 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 máquina. Esta 04/12/2009 AGEKA
  • 4. FUNDAMENTOS DE SISTEMAS OPERATIVOS MEMORIA VIRTUAL "ilusión" permite que los programas se ejecuten sin tener en cuenta el tamaño exacto de la memoria física. Img.02: La memoria virtual La ilusión de la memoria virtual está soportada por el mecanismo de traducción de memoria, junto con una gran cantidad de almacenamiento rápido en disco duro. Así en cualquier momento el espacio de direcciones virtual hace un seguimiento de tal forma que una pequeña parte de él, está en memoria real y el resto almacenado en el disco, y puede ser referenciado fácilmente. Debido a que sólo la parte de memoria virtual que está almacenada en la memoria principal, es accesible a la CPU, según un programa va ejecutándose, la proximidad de referencias a memoria cambia, necesitando que algunas partes de la memoria virtual se traigan a la memoria principal desde el disco, mientras que otras ya ejecutadas, se pueden volver a depositar en el disco (archivos de paginación). La memoria virtual ha llegado a ser un componente esencial de la mayoría de los sistemas operativos actuales. Y como en un instante dado, en la memoria sólo se tienen unos pocos fragmentos de un proceso dado, se pueden mantener más procesos en la memoria. Es más, se ahorra tiempo, porque los fragmentos que no se usan no se cargan ni se descargan de la memoria. Sin embargo, el sistema operativo debe saber cómo gestionar este esquema. 04/12/2009 AGEKA
  • 5. FUNDAMENTOS DE SISTEMAS OPERATIVOS MEMORIA VIRTUAL La memoria virtual también simplifica la carga del programa para su ejecución llamada reubicación, este procedimiento permite que el mismo programa se ejecute en cualquier posición de la memoria física. En un estado estable, prácticamente toda la memoria principal estará ocupada con fragmentos de procesos, por lo que el procesador y el S.O tendrán acceso directo a la mayor cantidad de procesos posibles, y cuando el S.O traiga a la memoria un fragmento, deberá expulsar otro. Si expulsa un fragmento justo antes de ser usado, tendrá que traer de nuevo el fragmento de manera casi inmediata. Demasiados intercambios de fragmentos conducen a lo que se conoce como hiperpaginación: donde el procesador consume más tiempo intercambiando fragmentos que ejecutando instrucciones de usuario. Para evitarlo el sistema operativo intenta adivinar, en función de la historia reciente, qué fragmentos se usarán con menor probabilidad en un futuro próximo. Paginación y memoria virtual La memoria virtual usualmente (pero no necesariamente) es implementada usando paginación. En paginación, los bits menos significativos de la dirección de memoria virtual son preservados y usados directamente como los bits de orden menos significativos de la dirección de memoria física. Los bits más significativos son usados como una clave en una o más tablas de traducción de direcciones (llamadas tablas de paginación), para encontrar la parte restante de la dirección física buscada. El mecanismo de paginación, también recoge estadísticas de utilización de las partes de memoria virtual que están residentes en memoria real o física. Estas estadísticas ayudan al sistema operativo a decidir que se puede devolver a disco cuando el espacio de memoria principal está muy "achuchado". La paginación evita el problema de ajustar los pedazos de memoria de tamaños variables que han sufrido los esquemas de manejo de memoria anteriores. 04/12/2009 AGEKA
  • 6. FUNDAMENTOS DE SISTEMAS OPERATIVOS MEMORIA VIRTUAL Tablas de Paginación. Cada página tiene un número que se utiliza como índice en la tabla de páginas, lo que da por resultado el número de marco correspondiente a esa página virtual. Algoritmos de Reemplazo de Paginas Algoritmo aleatorio.- Reemplaza aleatoriamente cualquier pagina de memoria principal, sin hacer ningún esfuerzo de predicción. Algoritmo de reemplazo de páginas óptimo.-Debe tener el menor índice de fallos de página de todos los algoritmos. Algoritmo de reemplazo de páginas según el uso no tan reciente.- Hace uso de los dos bits de estado que están asociados a cada página. Algoritmo de reemplazo FIFO.-“Primero en entrar, Primero en salir” Algoritmo de reemplazo de páginas de la segunda oportunidad Algoritmo de reemplazo de páginas del reloj.- Organiza las paginas en una lista circular. Algoritmo de reemplazo de páginas LRU.- Menor uso reciente(Least Recent Use). Aplicación Un programa de aplicación grande, podría mostrar un menú con muchas funciones. Al seleccionar una función del menú, se ejecutarían varias rutinas específicas de dicha función, pero no se referenciarían las rutinas de las funciones restantes. En un sistema de memoria virtual, la ejecución de la función seleccionada del menú, se soportaría trayendo el código y los datos para esa función a la memoria principal (si no estuviese ya allí). El resto podría o no sacarse del disco a memoria real. Mientras la memoria física fuese lo bastante grande para contener el código y datos de cualquier función elemental de nuestro menú, el tamaño total de la memoria física, podría ser mucho menor que el tamaño total de nuestro programa. 04/12/2009 AGEKA
  • 7. FUNDAMENTOS DE SISTEMAS OPERATIVOS MEMORIA VIRTUAL INTEGRANTES. Andrea Llerena magi_lle@hotmail.com Amanda Jiménez m.a.n.d.ylove@hotmail.com Karen Paredes jogyss@hotmail.com Gabriela Chamorro gaby_glec29@hotmail.com Edith Oleas eyivonole_2@yahoo.es 04/12/2009 AGEKA