LINUX.ORG.RU

Расскажите про разделяемые библиотеки и их кеширование.


0

0

1. Объясните на уровне байтов и указателей про связь приложения с динамически разделяемыми библиотекам: когда эта связь «проложена», она пролегает через посредника - динамического линкера, или в адресное пространство приложения записываются указатели, прямо показывающие на адреса в памяти, куда загружены разделяемые библиотеки?

История про посредника в моей голове выглядит и работает так: в те места в адресном пространстве приложения, откуда это приложение будет брать адреса, чтобы сделать на них вызов, записываются адреса процедур, принадлежащих динамическому линкеру, из которых происходит уже вызов разделяемых библиотек. Это делает возможным в отсутствии свопа, выкинуть разделяемую библиотеку из памяти, а при следующем вызове функции из разделяемой библиотеки, эту библиотеку из каталога /usr/lib/ снова прочесть... Я конечно незнаю, нафига это нужно, это фантазии. Расскажите как есть.

Корпоративный файрволл не пускает в гугл?

anonymous ()

Я конечно не разбираюсь, но во втором абзаце явно бред. Библиотеки просто отображаются в адресное пространство приложения, а в самом приложении патчится импорт, чтобы расположенные в нем адреса процедур из динамических библиотек указывали туда, куда надо.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.