Sim.
O kernel lançará todos os recursos alocados por um programa na finalização do programa.
Isso é feito depois que a função do_exit() definida em kernel/exit.c tenha terminado sua execução; a execução da função do_exit() pode ser desencadeada por vários eventos, mais comumente por um% syscall exit() explícito chamado pelo programa durante sua computação regular ou por um% syscall exit() implícito chamado pelo programa na sua finalização (como o compilador C coloca um exit() syscall após o retorno de main() ). Outras razões incluem a recepção de um sinal ou exceção não manipulável / não ignorável.
A função do_exit() realiza uma série de tarefas. Depois de terminar sua execução, os recursos alocados do programa são liberados pelo kernel e retornados ao sistema para outros usos.