Подпишитесь на наши новости
Вернуться к началу с статьи up
 

БИБЛИОТЕ́КА ПРОГРА́ММ

Авторы: А. П. Сапожников, Т. Ф. Сапожникова, А. В. Ермолович

БИБЛИОТЕ́КА ПРОГРА́ММ, организованная совокупность компьютерных программ, доступ к которым осуществляется по их именам (или индексам). Б. п. ускоряет и облегчает процесс создания пользовательской программы, позволяя применять в качестве составных частей уже готовые функции, подпрограммы, программы, входящие в Б. п. Для этого достаточно указать имя соответствующей функции. Благодаря Б. п. процесс программирования становится более технологичным, а сама пользовательская программа легче для восприятия. Существенной частью программного обеспечения Б. п. является набор сервисных программ (утилит), обеспечивающих создание библиотеки, включение и исключение функций, вывод оглавления и др.

Б. п. могут представлять собой библиотеки объектных модулей или библиотеки программ на исходном языке программирования. Библиотека объектных модулей – это, как правило, файл машинных кодов, состоящий из заголовка и последовательно расположенных объектных модулей. В заголовке содержится список всех модулей с указанием смещения каждого из них от начала библиотеки. Когда программа вызывает библиотечную функцию, редактор связей находит имя этой функции в заголовке, затем извлекает соответствующий модуль из Б. п. и компонует (связывает) статически или динамически с выполняемым файлом программы. При статич. компоновке Б. п. автоматически загружается при запуске использующей её программы, а при динамической – подключается к осн. программе непосредственно во время обращения к библиотечной функции. В мультизадачной операционной системе статич. компоновка неэффективна, т. к. приводит к неэкономному использованию оперативной памяти. Напр., если две одновременно выполняемые программы вызывают одну функцию, то в памяти будут находиться две копии этой функции. Во время динамич. компоновки в файле создаётся ссылка на Б. п., которая используется для включения соответствующей библиотеки в адресное пространство вызывающей программы при её выполнении. Т. о., появляется возможность одноврем. использования (разделения) динамически компонуемых библиотек несколькими процессами. Применение таких библиотек сокращает объём программы, но несколько усложняет установку приложения, поскольку оно нуждается ещё и в соответствующих библиотечных файлах.

Другим преимуществом динамической компоновки является атомарность обновления Б. п., обеспечивающая автоматическое переключение всех использующих данную библиотеку программ на новую версию Б. п. при условии сохранения неизменности внешнего интерфейса вызова её компонентов. Это свойство особо важно в случае обнаружения и устранения каких-либо уязвимостей в кодах Б. п., так как позволяет оперативно устранить уязвимость во всех зависимых от неё приложениях, не проводя их перекомпоновку.

Программисты могут создавать свои собств. Б. п. Однако для выполнения часто повторяющихся в разл. программах операций (напр., ввода-вывода, управления памятью, вычисления элементарных математич. функций и др.) применяют, как правило, функции из стандартных библиотек, которые поставляются вместе с транслятором языка (конкретной системы программирования) или с операционной системой. Системы программирования для некоторых языков (напр., фортрана) продолжают существовать во многом благодаря тому, что для них разработан развитый аппарат библиотечных функций. При выполнении определённых соглашений Б. п. можно использовать в программных проектах, реализуемых на нескольких языках программирования.

Достоинством Б. п. на исходном языке программирования считается их независимость от конкретного типа вычислительной системы. Часто такая независимость обеспечивается включением в тексты библиотечных программ директив условной компиляции, подстраивающих программу под конкретный тип компьютера и его операционную систему во время процесса компиляции. Эти Б. п. эффективно используются при решении научных и инженерных задач. Условно их можно разделить на библиотеки широкого применения, предназначенные для решения задач в разл. областях, и специализир. библиотеки. Напр., в 1970–80-х гг. специалистами Объединённого ин-та ядерных исследований (ОИЯИ, Дубна), МГУ, Физико-энергетич. ин-та (ФЭИ, Обнинск) и др. были созданы обширная Б. п. обработки спектрометрич. информации, получаемой в ходе эксперим. исследований, библиотека численного анализа МГУ, иерархия библиотек операционной системы «Дубна». Мн. программы из этих библиотек до сих пор применяются на совр. вычислит. системах. Широко известны и активно используются в нашей стране международные Б. п., CERNLIB Европейского центра ядерных исследований (Швейцария), CPC (Computer Physics Communications) и NAG (Numerical Algorithms Group), предназначенные для решения задач физики, математики, химии и др. смежных областей знаний.

Б. п., написанные на объектно ориентированных языках С++ или Object Pascal и др., реализующие базовый набор понятий некоторой предметной области, часто называют библиотеками классов (компонентов). Напр., библиотеки стандартных элементов графич. интерфейса (меню, полосы прокрутки, списки, флажки, кнопки, окна и др.). Библиотеки классов позволяют упростить разработку приложений, имеющих сложный интерфейс, а также взаимодействие с базами данных и пр.

Лит.: Мазный Г. Л. Программирование на БЭСМ-6 в системе «Дубна». М., 1978; Гордеев А. В., Молчанов А. Ю. Системное программное обеспечение. СПб., 2003.

  • БИБЛИОТЕ́КА ПРОГРА́ММ организованная совокупность компьютерных программ, доступ к которым осуществляется по их именам (2005)
Вернуться к началу