Está en la página 1de 3

INSTITUTO POLITÉCNICO NACIONAL

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y


Administrativas
Licenciatura en Ciencias de la Informática

Tarea 3: "Introducing
Approximate Memory"

Carrera : Licenciatura En Ciencias De La Informática


Materia : Sistemas Operativos
Alumno : Feria Hernández Daniel Shalom
Profesor : Hermes Francisco Montes Casiano
Secuencia: 3CM32
RESUMEN
Zonas de Memoria: Las páginas físicas son las unidades básicas de la memoria
del kernel de Linux y no trata todas las páginas de la misma manera, sino que las
agrupa en zonas similares para realizar su seguimiento.
Dentro de las zonas se encuentran:
 ZONE_DMA : DMA puede usar páginas dentro de esta zona hardware.
 ZONE_DMA32 : esta zona es como ZONE DMA pero puede ser accedido
solo por dispositivos de 32 bits.
 ZONA_NORMAL : las páginas dentro de ZONA NORMAL son mapeadas
directamente por el núcleo.
 ZONE_HIGHMEM : esta zona corresponde a la memoria alta y no está
directamente mapeado por el núcleo.
 ZONA_MOVIBLE : a diferencia de las zonas de memoria descritas
anteriormente, la zona móvil no tiene un rango físico específico, pero las
páginas dentro de esta zona provienen de otras zonas de memoria El
alcance de esta zona virtual es para evitar la fragmentación de la memoria.
Asignadores: Todas las interfaces proporcionadas por el núcleo para asignar
memoria se basan en un algoritmo de bajo nivel con granularidad de tamaño de
página, llamado Binary Buddy Allocator.
La memoria física se divide en potencia de dos bloques de tamaño, cuando un
bloque del tamaño solicitado no está disponible, un el bloque se divide en dos
partes y el proceso es iterativo repetido hasta que se produzca un bloque del
tamaño solicitado.
En el kernel de Linux, la rutina central del asignador de amigos se recibe como
parámetro, entre otros, una máscara de bits (llamada gfp mask), que es un
conjunto de indicadores que permiten al núcleo determinar el comportamiento del
asignador.
Estas banderas permiten especificar la zona para la asignación, indicando que el
núcleo debe asignar memoria de la zona solicitada si es posible. El asignador
considera la zona especificada en la máscara gfp como una indicación y, en
algunos casos, dependiendo de la memoria real políticas de utilización y equilibrio,
la solicitud podría ser satisfecha seleccionando páginas que pertenecen a zonas
jerárquicamente más altas.
KERNEL MEMORY MANAGEMENT EXTENSIÓN
Creación de zona aproximada: permite que el núcleo para administrar un conjunto
de páginas de memoria que se seleccionarán cuando se solicitan asignaciones
aproximadas de memoria. De hecho, a una porción de memoria física donde se le
ha permitido una cierta cantidad de probabilidad de corrupción de datos para
ahorrar energía. la memoria física podría ser, por ejemplo, bancos DRAM con
frecuencia de actualización reducida, de acuerdo con esta política, cuando una
solicitud de asignación es programada, el kernel de Linux comprueba si la zona
seleccionada es adecuada para satisfacer la solicitud; si la zona no es adecuada,
el núcleo. El asignador vuelve a una zona jerárquicamente más alta. En otras
palabras, si una asignación solicita la ZONA APROXIMADA región, pero las
páginas de memoria en esta zona no están disponibles, la solicitud sería
satisfecha por uno de los superiores jerárquicamente zonas (por ejemplo, ZONA
NORMAL).
Esto resultaría en el almacenamiento datos aproximados en memoria exacta y
cancelar energía posible ahorro, pero la funcionalidad de la aplicación no sería
comprometida.
Finalmente, se requiere otro paso para completar la creación de ZONA
APROXIMADA: la asociación de una dirección física alcance a esta zona. Este
paso, así como el diseño de cada zona de memoria, depende de la arquitectura,
por lo que podemos diferentes tamaños y diseños de zona de memoria
aproximada, dependiendo de la arquitectura.
Asignación aproximada de memoria: El siguiente paso es implementar un
asignador personalizado para asignar dinámicamente datos no críticos en ZONE
APPROXIMATE, las funciones internas proporcionadas por el kernel para asignar
páginas de memoria obtener una máscara de banderas que permite controlar el
comportamiento del asignador.
Para poder especificar la ZONA APROXIMADA como favorita zona para la
asignación, hemos definido un indicador de gfp específico llamado APROXIMADO
DE GFP: cuando se establece este indicador, el núcleo intenta asignar memoria
usando páginas APROXIMADAS DE ZONA.
Otro mecanismo importante de optimización dentro del núcleo que debe tenerse
en cuenta es la política de asignación justa. De acuerdo con esta política, el
núcleo intenta equilibrar la asignación y solicita entrelazarse entre zonas
habilitadas, evitando que una zona está saturada antes que otras zonas.
Hardware setup: En particular, dado que en esta arquitectura solo se pueden
habilitar cuatro zonas de memoria al mismo tiempo, definimos ZONA NORMAL,
ZONA DMA, ZONA MOVIBLE y ZONA APROXIMADA, en esta configuración, la
memoria DRAM real (exacta) cubre la dirección ZONE NORMAL y ZONE
APPROXIMATE espacios.
Allocation tests: Estos registros provienen de el comando dmesg y muestra que
ZONA APROXIMADA se ha creado correctamente: nuestra zona es la última zona
de memoria del núcleo, después de ZONE DMA y ZONE NORMAL, y se asigna en
la memoria física.

También podría gustarte