abstract
| - El sistema de Zona memoria es un asignador de memoria interno utilizado porDoom para la gestión de memoria. Debido a la tecnología existente en el momento de la liberación de Doom, la asignación de memoria era considerada una operación costosa. Es de suponer que, debido a las deficiencias de las funciones de gestión de memoria disponibles en DOS en el momento de desarrollo de Doom, el juego incluye su propio asignador de memoria. En un programa C normal, la memoria se asigna y desasigna utilizando las funciones C malloc y free. El código de Zona de memoria contiene sus propias implementaciones de estos, llamados Z_Malloc y Z_Free. En lugar de llamar a las rutinas de gestión de memoria de bajo nivel como sbrk, montones de zona asignan un solo, grande y continuo bloque de RAM usando el malloc normal del sistema al comienzo de la ejecución y luego dividen este gran bloque en otros más pequeños, manteniendo todos los bloques vinculados juntos en una lista. Cuando dos o más bloques libres se tocan entre sí, los bloques se combinan en uno solo para mantener la longitud de la lista corta. Esto ayuda a mantener los tiempos de búsqueda de un bloque libre de memoria más corta y evita la fragmentación externa innecesaria (si los bloques son demasiado pequeños, no se asignará ningún futuro puede ser capaz de encajar en ellos).
|