Las técnicas de gestión de memoria, son el método responsable de administrar la memoria principal en la función de administración de memoria de la computadora que sigue el estado actual en la ubicación de la memoria, en caso de que esté libre o asignada. Mide cómo se asigna la memoria a los procesos, decidiendo quién recibe memoria, cuándo la recibe y cuánto queda libre.
La programación de procesos simplemente es administrar los procesos que residen en la memoria principal. Para expresar el propósito de la gestión podemos indicar que es un diseño de manera de programación, en el que los procesos ya priorizados se cargan en la cola lista del sistema y luego se envían para su ejecución. La actividad de programación generalmente se divide en tres niveles diferentes: programación a corto, mediano y largo plazo.
Existe, diferentes técnicas de administración de memoria, entre ellas las más famosas son: partición fija, partición dinámica, paginación simple, segmentación simple, paginación de memoria virtual y segmentación de memoria virtual.
- Particionamiento fija: Este enfoque de particionamiento se divide en un número fijo de particiones, solo se puede cargar un proceso en una partición al mismo tiempo. Es un método fácil de implementar y acusado como solución de partición. Las debilidades de este enfoque son el uso ineficiente de los procesadores debido a la necesidad de compactación y fragmentación externa, se debe conocer la cantidad máxima de procesos activos que se pueden ejecutar, el tamaño fijo de la tarea se limita al tamaño de partición más grande, el grado de multiprogramación limitado por la cantidad de particiones, la memoria se desperdicia en la partición, debe traducir la dirección relativa a la dirección física.
- Particionamiento dinámica: Las particiones se constituyen dinámicamente, cada proceso compilado en una partición posee la misma dimensión que el proceso. Entre las fortalezas de este enfoque se destacan, que asegura un uso más eficiente de la memoria principal y sin fragmentación interna. Las debilidades son el uso carente del procesador, debido a la exigencia de compactación y división externa.
- Paginación simple: Las fortalezas de este enfoque son: no hay necesidad de fragmentación externa, las transferencias entre discos pueden ser en la granularidad de páginas individuales. Las debilidades de este enfoque son: tal vez no haya correspondencia entre las protecciones de página. Las configuraciones y las estructuras de datos de la aplicación, que requieren tablas de página de proceso, por lo general, el sistema operativo necesita más almacenamiento para sus estructuras de datos internas.
- Segmentación simple: Las fortalezas de este enfoque son la ausencia de fragmentación interna. Las debilidades de este enfoque son: reduce la sobrecarga en comparación con el enfoque de partición dinámica y mejora la utilización de la memoria
- Paginación de memoria virtual: Las fortalezas de este enfoque son: tener un gran espacio de direcciones virtuales, sin fragmentación externa y un mayor grado de programación múltiple. Las debilidades de este enfoque son los gastos generales que provienen del complejo manejo de la memoria.
- Segmentación de memoria virtual: Las fortalezas de este enfoque son: admite un alto nivel de multiprogramación, especialmente el enorme espacio de direcciones virtuales y no hay fragmentación interna. La debilidad de este enfoque es la sobrecarga de la gestión de memoria compleja.
En conclusión, las estrategias efectivas de gestión de la memoria son fundamentales para optimizar el rendimiento del sistema y garantizar un funcionamiento estable. Al utilizar técnicas como la memoria virtual, la recolección de basura y el almacenamiento en caché, los desarrolladores pueden crear aplicaciones que se ejecutan sin problemas y de manera eficiente en una amplia gama de configuraciones de hardware.