• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Gestion de memoria en Linux
 

Gestion de memoria en Linux

on

  • 8,057 views

Gestion de Memoria en Linux INTRODUCCION

Gestion de Memoria en Linux INTRODUCCION

Statistics

Views

Total Views
8,057
Views on SlideShare
8,055
Embed Views
2

Actions

Likes
3
Downloads
0
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as OpenOffice

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Gestion de memoria en Linux Gestion de memoria en Linux Presentation Transcript

    • Sistemas Operativos FIME Gestión de Memoria en LinuxChristopher Medina Rodríguez 1488028 M2
    • Introducción● La memoria es uno de los recursos más valiosos que gestiona el sistema operativo. Uno de los elementos principales que caracterizan un proceso es la memoria que utiliza.● Es típicamente una memoria de acceso aleatorio (RAM) cuyo tiempo de acceso es mucho más pequeño que el de la memoria secundaria (discos duros, máquinas en red,...).● El sistema operativo debe administrar toda la memoria física y asignarla tanto a los subsistemas del núcleo como a los programas de usuario. Cuando el sistema arranca, el núcleo reserva parte de la memoria principal para su código y sus estructuras de datos estáticas.
    • Memoria Principal / Física● Ésta está lógicamente separada de la de cualquier otro proceso del sistema. Un proceso no puede acceder, al espacio de memoria asignado a otro proceso, lo cual es imprescindible para la seguridad y estabilidad del sistema.
    • DireccionamientoEl direccionamiento es una parte importante de la gestiónde memoria, puesto que influye mucho en la visión delmismo por parte de un proceso, como en elaprovechamiento del hardware y el rendimiento delsistema.En Linux, además, unproceso tiene dos espaciosde memoria: el espaciode memoria del usuario,único para ese proceso, yel espacio de memoria delkernel, idéntico en todos los procesos.
    • Gestión de MemoriaObjetivos del sistema de Gestión de Memoria:● Ofrecer a cada proceso un espacio lógico propio.● Proporcionar protección entre procesos.● Permitir que los procesos compartan memoria.● Dar soporte a las distintas regiones del proceso.● Maximizar el rendimiento del sistema.● Proporcionar a los procesos mapas de memoria muy grandes.
    • Espacio de direcciones de un procesoLos espacios de direcciones involucrados enla gestión de la memoria son de tres tipos:● Espacio de direcciones físicas● Espacio de direcciones lógicas● Espacio de direcciones lineales
    • Unidad de Manejo de MemoriaSus funciones son las siguientes:● Convertir las direcciones lógicas emitidas por los procesos en direcciones físicas.● Comprobar que la conversión se puede realizar. La dirección lógica podría no tener una dirección física asociada.● Comprobar que el proceso que intenta acceder a una cierta dirección de memoria tiene permisos para ello.
    • Subsistema de Gestión de MemoriaEs la parte del núcleo responsable de gestionar lamemoria principal e interactúa fuertemente con launidad de administración de memoria (MMU) quefuncionalmente se sitúa entre la CPU y la memoriaprincipal.● Decide qué procesos residen en memoria principal (al menos una parte).● Maneja parte del espacio de direcciones virtuales que ha quedado fuera.● Controla la cantidad de memoria principal.● Gestiona el intercambio de procesos entre memoria principal y memoria secundaria o dispositivo de swap.
    • Otras Características● Ofrecer al proceso más memoria de la que hay físicamente disponible. Se emplean técnicas de swapping y paginación por demanda.● Aprovechar la memoria mediante técnicas Copy-on- write.● Mapeado de ficheros sobre memoria.● En general, mejorar el rendimiento del sistema mediante diversas técnicas a la hora de asignar o liberar memoria (Buddy system, Slab allocator, caches, etc).
    • PaginaciónCuando se crea un proceso, puede, en principio utilizartodo el espacio de usuario de 2Gbytes (menos 128Kbytes). Este espacio se encuentra dividido en páginasde tamaño fijo, cualquiera de las cuales se puede cargaren la memoria principal.Estados de las páginas:● Disponible: Páginas que no están actualmente usadas por este proceso.● Reservada: Conjunto de páginas contiguas (juntas) que el gestor de memoria virtual separa para un proceso pero que no se cuentan para la cuota.● Asignada: Las páginas para las cuales el gestor de la memoria virtual ha reservado espacio en el fichero de paginación.
    • PaginaciónLa distinción entre memoria reservada y asignada esmuy útil debido a que minimiza la cantidad de espaciode disco que debe guardarse para un proceso enparticular, manteniendo espacio libre en disco paraotros procesos.Además permite que un hilo o un proceso declare unapetición de una cantidad de memoria que puedeproporcionarse rápidamente si se necesita.
    • CONCLUSIONESHemos visto que Linux hace uso de las ventajas de lasegmentación y de los circuitos de paginación de losprocesadores i386 para traducir direcciones lógicas endirecciones físicas.Podemos también decir que alguna porción de RAMestá permanentemente asignada al kernel y utilizadapara almacenar el código del kernel y estructuras dedatos estáticas del mismo.La restante parte de la RAM se denomina memoriadinámica, y ésta es un recurso muy valioso ynecesitado no sólo por los procesos sino también porel propio kernel.
    • CONCLUSIONESDe hecho el rendimiento global del sistema dependefuertemente de cómo se gestiona la memoriadinámica.Por tanto, todos los sistemas operativos multitareaactuales tratan de optimizar el uso de la memoriadinámica, asignándola sólo cuando es estrictamentenecesario y liberándola tan pronto como sea posible.
    • Referencias● William Stallings (2005). Sistemas Operativos. España: Pearson.● Salvador Ros Muñoz, José Manuel Díaz Martínez (2007). Sistemas Operativos II. Departamento de Informática y Automática UNED.● Antonio Leopoldo Corral Lira. (2008). Diseño de Sistemas Operativos. Ingeniería de Informática de la Escuela Politécnica Superior de la UAL.