Asignadores

Páginas: 5 (1095 palabras) Publicado: 17 de octubre de 2015
Universidad Autónoma de Ciudad Juárez
IIT-CU

Sistemas Operativos
Valentín Báez Trejo

Asignadores de memoria

Saul Neftali Avalos Ruiz

132364
10 de Octubre 2015
McKusick-Karels Allocator
El asignador McKusick-Karels es una variante del asignador power-of-two que mantiene tamaños de bloque a nivel de página, es utilizado en algunas variantes de UNIX como en 4.4BSD y Digital UNIX.
En particular,elimina el espacio desperdiciado en el caso común donde el tamaño de la memoria requerida es exactamente un power-of-two. También optimiza el cálculo round-up y lo elimina si el tamaño de la asignación es conocida al momento de la compilación.
Requiere que la memoria sea manejada por el asignador para comprender una serie de páginas y todos los buffers pertenecientes a la misma página para serdel mismo tamaño. Utiliza una página adicional para controlar sus painas. Cada paina puede estar en estado:
Libre, donde el elemento correspondiente de kmemsizes contiene un puntero hacia el elemento por la siguiente pagina libre.
Dividido en buffers de un tamaño en particular, el kmemsizes contiene el tamaño.
Parte del buffer que abarca múltiples paginas, el kmemsizes corresponde a la primerpagina del buffer que contiene su tamaño.
Su mayor beneficio es que tiene bloques asignados y no pierde ninguna palabra del tamaño del bloque (o del puntero free-list asociado).
Generalmente es fácil de encontrar el tamaño de un bloque mediante su dirección.
La fragmentación interna se reduce al factorizar detalles del tamaño del bloque de los bloques individuales.

Slab Allocator
Este es un mecanismopara asignar memoria al kernel. Utiliza slaps que están compuestas por una o más páginas de memoria físicamente continuas, y una cache formada por una o más franjas.
La idea principal de este sistema es asignarle a cada cache un tipo de estructura de datos. Cada una de estas caches solamente podrá almacenar instancias del tipo es estructura de datos asignada a esa cache, así la cache de semáforossolamente podrá almacenar objetos del tipo semáforo y así sucesivamente.
Inicialmente cuando una cache se crea se le asigna el tipo de estructura a almacenar y la cantidad máxima de instancias que puede contener, esta cantidad depende de la cantidad y el tamaño de las franjas asignadas a la cache. Cuando se necesite crear un nuevo objeto el asignador toma un espacio libre de la cache se la asignaal nuevo objeto.
Cuando un objeto se necesita eliminar, el asignador marca el espacio, asignado al objeto, en la cache como libre y este se puede volver a asignar a otro nuevo objeto.
Con este sistema la fragmentación no es problema, ya que cuando el sistema solicita memoria para un objeto el asignador devuelve la cantidad exacta de memoria requerida para ese objeto. Las solicitudes de memoria sesatisfacen más rápidamente debido a que la asignación de slaps o es mas efectiva en aquellas situaciones en donde la asignación y desasignación de memoria ocurre frecuentemente.

Lazy-Buddy Allocator
Este mecanismo tiene el propósito de asignar memoria al kernel. Este sistema es utilizado en los Sistemas Operativos Linux.
El mayor problema con el asignador Buddy simple es el desempeño pobredebido a la repetitividad en incorporar y dividir buffers. Normalmente los asignadores de memoria se encuentran en un estado estable, donde el numero de buffers en uso de cada tamaño permanece en un rango bastante estrecho. Bajo estas condiciones, las ofertas de incorporación no tienen ventaja y es solamente un desperdicio de tiempo. Es necesario solo en condiciones donde haya ráfagas con grandes ytemporales variaciones en el uso del buffer.
En lugar de tener un conjunto de caches compuestas por segmentos de memoria continua, cuenta con un segmento de memoria continúa del tamaño de una potencia de 2. Este segmento se divide en 2, generando dos subsegmentos cuyo tamaño es una potencia de 2 y a su vez cada subsegmento se divide en 2 hasta que se encuentre con un subsegmento del tamaño exacto...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Asignaciones
  • Asignaciones
  • ASIGNACIONES
  • Mis Asignaciones
  • Asignaciones
  • asignaciones
  • Asignaciones
  • Asignaciones

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS