no estaba muy seguro de cómo expresar el título, pero la pregunta es:Cómo implementar un montón de memoria
He oído hablar de los programadores de la asignación de una gran parte de memoria contigua al inicio de un programa y luego repartirlo según sea necesario. Esto está en contraste con simplemente ir al sistema operativo cada vez que se necesita memoria. He oído que esto sería más rápido porque evitaría el costo de pedir continuamente al sistema operativo bloques de memoria contiguos.
Creo que la JVM hace justamente esto, manteniendo su propia sección de memoria y luego asignando objetos a partir de eso.
Mi pregunta es, ¿cómo implementaría esto realmente?
Gracias, dragonwrenn
¿Qué quiere decir con "ir al SO"? Los montículos se implementan completamente en modo de usuario, y las llamadas al sistema no son necesarias para cada asignación de montón a menos que se tengan que asignar más páginas. ¿O estás pensando en algo diferente? – wj32
La pregunta "¿cómo implemento un administrador de memoria?" Es buena, pero debe asegurarse de que realmente la necesita. Si lo haces para entrenamiento o simplemente para divertirte, está bien. Si está seguro de que la asignación de memoria es un cuello de botella en su programa, primero debe considerar rediseñar su programa para que asigne segmentos más grandes. Solo después de que hayas hecho eso deberías buscar tu propio administrador de memoria. – sharptooth