Desasignación de memoria
La desasignación de memoria por parte del sistema operativo (SO) es una forma de liberar la memoria de acceso aleatorio (RAM) de procesos terminados y asignar otros nuevos. Todos sabemos que la memoria de la computadora viene con un tamaño específico. ¿Alguna vez te has preguntado cómo se las arregla para hacer todo lo que hace? Lo hace con la ayuda de una sólida técnica de administración de memoria que maneja todas las asignaciones y desasignaciones de procesos.
Un proceso debe cargarse en la RAM para su ejecución y permanece en la RAM hasta su finalización. Los procesos finalizados se desasignan o eliminan de la memoria y los nuevos procesos se asignan nuevamente. Así es como funciona el sistema operativo con asignación y desasignación.
En alto nivel, la desasignación de memoria de programación se realiza mediante la recolección de elementos no utilizados. La ausencia de esto en la programación de bajo nivel hace que la desasignación sea aún más necesaria. Hay diferentes tipos de modelos de memoria que tienen diferentes técnicas de desasignación. Esto se ha descrito en las secciones de esta lección.
Modelo único contiguo
La memoria RAM está ocupada por un proceso a la vez. Los procesos no comparten el espacio de almacenamiento. Un proceso ocupa la RAM en una sola instancia de tiempo, que es parte del modelo único contiguo .
Una vez finalizada la ejecución, solo el segundo proceso ocuparía la RAM. Esto significa que la memoria se desasigna cuando el proceso finaliza la ejecución y se vuelve a asignar para el siguiente proceso. La mayor desventaja de esta técnica de administración de memoria es que solo puede ejecutarse un proceso a la vez. A menos que ocurra la desasignación del proceso, no se puede asignar otro proceso. Esto obliga al sistema operativo a tener un acceso muy secuencial. Otra desventaja de este proceso es que el tamaño de la memoria del proceso está restringido al tamaño de la memoria.
¿Qué estrategias ayudan a mejorar la memoria en estudiantes?
modelo particionado
Las desventajas descritas anteriormente del modelo único contiguo pueden superarse con otra técnica de administración de memoria denominada modelo particionado . En cualquier instancia de tiempo, podríamos tener múltiples procesos que ocupan la memoria RAM simultáneamente. Esto se puede entender con la ayuda de una tabla de particiones lógicas, como la que aparece aquí:
![]() |
La figura de esta lección muestra una tabla de particiones que comprende:
- Una dirección de memoria: la dirección de memoria es la dirección de la memoria ocupada por el proceso
- Tamaño del proceso: el tamaño del proceso que se está ejecutando
- ID de proceso: cada proceso tiene una ID única asociada
- Estado de uso: el estado de la memoria que almacena ese proceso
En el diagrama, el sistema operativo podría usar el espacio libre para un tercer proceso, lo que permite que la RAM ejecute tres procesos simultáneamente. El espacio libre reduce el número de procesos asignados al aumento de RAM. La desasignación, en este caso, ocurre cuando el proceso en la RAM termina su ejecución. El proceso completado se desasigna y el almacenamiento vuelve a estar libre para ser utilizado por otro proceso.
Las direcciones lógicas se traducen a una dirección física por la unidad de administración de memoria (MMU). Esta técnica de particionar la RAM y asignar nuevos procesos para liberar espacio es fácil de lograr. Sin embargo, en algunas situaciones, esto podría conducir a algo conocido como fragmentación. La fragmentación es un escenario que ocurre en un sistema operativo cuando hay mucho espacio libre disponible pero el espacio no es contiguo para que quepa un proceso completo.
- Encontrar el ajuste adecuado: esto puede ser un remedio para el problema de la fragmentación. Antes de que a un proceso se le asigne una ranura en la memoria, el sistema operativo escaneará todo el bloque de memoria en busca de espacios libres disponibles y luego encontrará la mejor opción para ese proceso.
Esencialmente, una desasignación ocurriría cuando un proceso completa su ejecución o finaliza. Esto significa que se debe crear un nuevo bloque de marco para un nuevo proceso. El sistema operativo ahora tiene que detectar todos los bloques libres en la RAM y poder fusionarlos en un gran bloque libre. La ventaja de esto es que hay disponible un bloque libre más grande para cargar un proceso; sin embargo, esto puede reducir significativamente el rendimiento del sistema operativo cuando un proceso se bloquea o lleva mucho tiempo. En tal caso, el proceso se intercambia de la memoria principal (RAM) a la memoria secundaria (disco) y dentro de una cola; esto se llama intercambio .
¿Cómo afecta el Estrés a la Memoria y la Atención?
Resumen de la lección
Muy bien, tomemos un momento o dos para revisar. Como aprendimos, un proceso en su estado de ejecución debe residir en la RAM. Esto tiene un proceso repetitivo por razones obvias, ya que el sistema operativo maneja numerosos procesos.
Cada proceso necesita ser asignado a la memoria para su ejecución. Esto crea la necesidad de desasignación de procesos terminados para liberar memoria para nuevos procesos. Entonces, básicamente, la desasignación de memoria por parte del sistema operativo (SO) es una forma de liberar la memoria de acceso aleatorio (RAM) de los procesos terminados y asignar otros nuevos.
En esta lección, también discutimos la técnica de desasignación en algunos de los principales algoritmos de administración de memoria. El modelo particionado tiene más ventajas sobre el modelo único contiguo , en el que un proceso ocupa la RAM en una sola instancia de tiempo, porque, en resumen, el modelo particionado permite una mayor flexibilidad en el uso de la memoria y en el que las direcciones lógicas se traducen a una dirección física por unidad de gestión de memoria (MMU). El modelo de partición puede producir la fragmentación de la memoria, que es un escenario que ocurre en un sistema operativo cuando hay mucho espacio libre disponible pero el espacio no es contiguo para que quepa un proceso completo.
Sin embargo, también aprendimos que esto puede reducir significativamente el rendimiento del sistema operativo cuando un proceso está bloqueado o lleva mucho tiempo. En tal caso, el proceso se intercambia de la memoria principal (RAM) a la memoria secundaria (disco) y dentro de una cola, lo que se denomina intercambio .
Explora más sobre este tema
Selecciona un tema y sigue aprendiendo...

