You are on page 1of 2

Elaborado: Brenda Kristell Miranda Ocampo

Administracin de la memoria en Linux


Gestin de memoria libre: Linux utiliza el sistema de colegas para asignar/liberar todos los marcos de pgina: El sistema de colegas le permite asignar intervalos de marcos contiguos de tamao arbitrario, si se solicitan. Para registrar la memoria libre, mantiene listas de grupos de marcos contiguos de tamao fijo: 1, 2, 4, 8,. . . marcos libres. El tamao ms pequeo que se puede asignar es de un marco La asignacin contigua de marcos permite aumentar la eficiencia de cargar y descargar pginas a y desde la memoria principal

Administracin de memoria fsica Una parte de la memoria es utilizada para el kernel El resto de la memoria est disponible para (entre otros usos): Pginas de usuario El cach de buffer empleado por el sistema de ficheros o Contiene bloques de disco que se han ledo recientemente, o que se han ledo por adelantado o Su tamao es dinmico y compite por la misma reserva de pginas que las pginas de usuario. El cach de paginacin, formado por un conjunto de pginas de usuario que ya no se necesitan y estn esperando que se les pagine a disco. Si una pgina se reutiliza antes de que se desaloje de la memoria, podr recuperarse con rapidez

Asignacin de memoria para el ncleo: La memoria del kernel es permanente, ninguna de sus partes se pagina a disco El kernel, como programa que es, necesita asignar y liberar memoria de forma dinmica: o Por ejemplo, maneja mdulos, que normalmente son controladores de dispositivos, que se cargan dinmicamente, tienen un tamao arbitrario y se les debe asignar un rea de memoria de kernel contigua Usando el sistema de colegas se asigna memoria contigua en el kernel o Problema: se puede producir mucha fragmentacin interna ya que, por ejemplo, hay que asignar 128 marcos a un mdulo que necesita slo 65 marcos contiguos Para pequeas asignaciones de memoria, Linux usa un segundo mtodo de asignacin para evitar la fragmentacin interna: o Empleando el sistema de colegas, se reserva memoria que se divide en fragmentos ms pequeos que una pgina, que son administrados aparte. o Los fragmentos se mantiene en un conjunto de listas enlazadas, una por cada tamao de fragmento (32, 64, 128, 252, 508, 2040 y 4080 bytes).

Elaborado: Brenda Kristell Miranda Ocampo Los fragmentos pueden dividirse y agregarse de forma similar al sistema de colegas, movindose de una lista a otra en funcin de ello. o La asignacin de memoria implica determinar cul es la lista apropiada y luego tomar el primer fragmento libre de la lista (o bien asignar una nueva pgina y dividirla en fragmentos si no queda un fragmento libre adecuado) Un tercer mtodo permite asignar memoria cuando slo tiene que estar contigua en el espacio virtual, pero no en la memoria fsica o

Zona de intercambio Gestiona particiones y ficheros de paginacin A las particiones de paginacin se accede como un dispositivo crudo Permite hasta un mximo de 8 ficheros, que se crean con un tamao fijo que no cambia durante su uso Es ms eficiente usar una particin que un archivo: o No es necesario que haya correspondencia entre bloque de archivo y bloques de disco (ahorra la E/S de disco por lectura de bloques indirectos) o Las escrituras fsicas pueden ser de cualquier tamao, no tienen que ser del bloque de archivo entero o Una pgina siempre se escribe contigua en el disco, en un archivo de paginacin podra o no quedar contigua La asignacin del hueco de intercambio se hace cuando se necesita Los segmentos de texto se paginan desde su archivo en disco, no se les asigna hueco en la zona de intercambio Para cada particin/archivo de paginacin hay un mapa de bits para controlar los huecos asignados/libres A las particiones/ficheros se les puede asignar un valor de prioridad A las particiones se les asigna mayor prioridad (lo normal) Cuando se necesita asignar un hueco a una pgina, se escoge la particin/archivo de ms alta prioridad y con un hueco disponible