¿Por qué el inicio de una aplicación en Linux es más lento cuando se utilizan bibliotecas compartidas?

En el dispositivo integrado en el que estoy trabajando, el tiempo de inicio es un tema importante. Toda la aplicación consta de varios ejecutables que utilizan un conjunto de bibliotecas. Como el espacio en la memoria FLASH es limitado, nos gustaría usar bibliotecas compartidas.

La aplicación funciona de la manera habitual cuando se compila y se vincula con bibliotecas compartidas y la cantidad de memoria FLASH se reduce según lo esperado. La diferencia con la versión que está vinculada a las librerías estáticas es que el tiempo de inicio de la aplicación es aproximadamente 20 segundos más y no tengo idea de por qué.

La aplicación se ejecuta en una CPU ARM9 a 180 MHz con Linux 2.6.17 OS, 16 MB FLASH (sistema de archivos JFFS) y 32 MB de RAM.

Respuestas a la pregunta(6)

Su respuesta a la pregunta