Free Resources Part 2

Housekeeping parte 2!

Como pudiste observar, quedan muy pocas pruebas por pasar. Esas pruebas están relacionadas con esto último que es de liberar recursos.

Como última implementación de esta fase 3, debes de liberar los recursos utilizados por Mmap cuando un proceso está a punto de terminar.

Debes de recordar lo siguiente:

  • Cerrando o removiendo un archivo no implica que todos los mapeos hechos de deben de unmapear. Esto solamente ocurre si se llama la función munmap() o el proceso termina su ejecución.

  • Todos los mapeos son implícitamente unmapeados cuando un proceso termina su ejecución, sin importar el medio de cómo lo haga (ya sea un exit(), etc).

Con las premisas anteriores, podemos inferir que hay casos que un proceso mantiene todos sus mapeos incluso cuando está a punto de terminar su ejecución. Nosotros debemos de unmapear esos mapeos antes que dicho proceso termine su ejecución.

Un buen momento para hacer esta tarea es en process_exit().

Sí es importante el orden de cómo liberas los recursos. Es recomendable que liberes de primero todos los mapeos y de último liberes los recursos restantes.

Make Grade

Ya con este último detalle, habrás terminado toda la fase 3.

¡Felicidades!

Functionality

Robustness

Última actualización