Académique Documents
Professionnel Documents
Culture Documents
Introduccin
La memoria es uno de los recursos mas valiosos que gestiona el sistema operativo. Uno de los elementos principales que caracterizan un proceso es la memoria que utiliza.
Es tpicamente una memoria de acceso aleatorio (RAM) cuyo tiempo de acceso es mucho mas pequeo que el de la memoria
secundaria (discos duros, maquinas en red..)
El sistema operativo debe estar administrar toda la memoria fsica y asignarla tanto a los subsistemas del ncleo como a los programas de usuario. Cuando el sistema arranca, el ncleo reserva parte de la memoria principal para su cdigo y sus estructuras de datos
estticas.
Direccionamiento de la memoria
El direccionamiento es una parte muy importante de la gestin de la memoria, dado que influye mucho en la visin del mismo por parte de un proceso, como en el aprovechamiento del hardware y el rendimiento del sistema.
En Linux, adems un proceso tiene 2 espacios en memoria: el espacio de memoria del usuario, nico para ese proceso, y el espacio en memoria del kernel, idntico en todos los procesos
Gestin de Memoria
Objetivos del sistema de Gestin de Memoria:
Ofrecer a cada proceso un espacio logico propio. Proporcionar proteccin 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.
Otras Caractersticas
Ofrecer al proceso mas memoria de la que hay fsicamente disponible. Se emplean tcnicas de swapping y paginacin por demanda. Aprovechar la memoria mediante tcnicas Copy-On-Write. Mapeado de ficheros sobre memoria. En general, mejorar el rendimiento del sistema mediante diversas tcnicas a la hora de asignar o liberar memoria (Buddy system, Slab allocator, caches, etc.).
Paginacin
Cuando se crea un procesos, puede, en principio utilizar todo el espacio de usuario en 2gbytes (menos 128 kbytes).Este espacio se encuentra dividido en paginas de tamao fijo, cualquiera de las cuales se puede cargar en la memoria principal.
Paginacin
La distincin entre memoria reservada y asignada es muy til debido a que minimiza la cantidad de espacio de disco que debe guardarse para un procesos en particular, manteniendo espacio libre en disco para otros procesos. Adems permite que un hilo o un proceso declare una peticin de una cantidad de memoria que puede proporcionarse rpidamente si se necesita.
Conclusiones
Hemos visto que Linux hace uso de las ventajas de la segmentacin y de los circuitos de paginacin de los procesadores i386 para traducir direcciones lgicas en direcciones fsicas. Podemos tambin decir que alguna porcin de RAM esta permanentemente asignada al kernel y utilizada para almacenar el cdigo del kernel y estructuras de datos estticas del mismo. La restante parte de la RAM se denomina memoria dinmica, y esta es un recurso muy valioso y necesitado no solo por los procesos sino tambin por el propio kernel.
Conclusiones
De hecho el rendimiento global del sistema depende fuertemente de como se gestiona la memoria dinmica. Por tanto, todos los sistemas operativos multitarea actuales tratan de optimizar el uso de la memoria dinmica, asignndola solo cuando es estrictamente necesario y liberndola tan pronto como sea posible.