Файл разделяемого объекта, обычно имеющий расширение .so (Shared Object), представляет собой динамически компонуемую библиотеку, используемую в операционных системах Linux и других Unix-подобных системах. В отличие от статических библиотек, которые встраиваются в программу на этапе компиляции, разделяемые объекты загружаются в память во время выполнения (runtime), когда программа запускается. Это ключевое отличие позволяет нескольким программам совместно использовать один и тот же код библиотеки, что значительно уменьшает общий размер исполняемых файлов и эффективно экономит системные ресурсы. Разделяемые объекты являются неотъемлемой частью модульной разработки программного обеспечения, позволяя разработчикам создавать многократно используемые компоненты, которые можно легко обновлять и поддерживать независимо от приложений, использующих их. Процесс динамической компоновки (dynamic linking) обрабатывается динамическим компоновщиком/загрузчиком (dynamic linker/loader), который разрешает зависимости и загружает необходимые разделяемые объекты в адресное пространство программы. Обновления разделяемых объектов могут быть развернуты без необходимости перекомпиляции приложений, которые от них зависят, при условии сохранения совместимости интерфейса двоичных приложений (ABI — Application Binary Interface). Таким образом, файлы .so являются критически важным компонентом экосистемы Linux, обеспечивая механизм повторного использования кода и эффективного управления памятью.