Библиотекарь

Утилита (LIBR в ФОДОС), позволяющая объединять наборы объектных модулей (или макроопределений) в библиотечные файлы и затем проводить с ними некоторые манипуляции. Компоновщики (макроассемблер) затем работают с ними особым образом, выбирая из библиотек только те модули, к которым имеются ссылки во входном файле (или макроопределения, которые указаны в программе командой MCALL). Следует отметить, что при оверлейной организации загрузочного модуля компоновщик автоматически размещает эти подпрограммы в корневой сегмент. Если их желательно разместить в других (оверлейных) сегментах, эти подпрограммы следует предварительно извлечь из библиотеки и явным образом прикомпоновать.

Особенностью библиотек объектных модулей (в отличие от, например, библиотечных наборов ОС ЕС) является то, что оглавление библиотеки может не включать имен модулей. Компоновщик при поиске не использует имена модулей, а лишь глобальные имена, которые включаются в оглавление в первую очередь.

Таким образом, библиотечный файл представляет собой иную конструкцию, чем набор файлов пользователя, объединенный общим каталогом. Внесение имен требует применения специального ключа (N или Р).

Как большинство обрабатывающих программ, библиотекарь получает в качестве задания командую строку, в левой части которой специфицированы выходные файлы (библиотечный файл и листинг оглавления), в правой — входные с ключами, указывающими на требуемую функцию.

По отношению к объектным модулям библиотекарь обладает большими возможностями, чем по отношению к макроопределениям: он позволяет удалять отдельные модули из библиотеки, заменять их и получать листинг оглавления библиотеки и т. д. Для макробиблиотек выполняется всего одна функция — создание библиотеки.

Библиотекарь в МДОС (LBR) обладает некоторыми дополнительными возможностями, в частности уплотнения библиотеки, автоматического исключения пустот и комментариев из текста макроопределений, распечатки различных частей оглавления и др. Имена модулей заносятся в оглавление автоматически.

Каждая из рассмотренных операционных систем (ФОДОС, МДОС и ОС УП) имеет системную библиотеку SYSLIB, которая позволяет сформулировать программные запросы к средствам ядра в виде вызовов подпрограмм (процедур) на языках Фортран и Паскаль. Кроме того, каждый из этих языков имеет «свои» библиотеки (FORLIB и PASCAL), которые могут быть слиты с системной библиотекой SYSLIB или использоваться отдельно. Так как в процессе компоновки библиотека SYSLIB компонуется по умолчанию, библиотеки проще слить в одну; однако время компоновки в этом случае возрастает, так как каждый глобальный символ ищется в «раздутой» библиотеке.

Библиотеки FORLIB и PASCAL включают в первую очередь исполнительные системы — подпрограммы, реализующие выполнение операторов языка. Количество и их размер зависит от операционного окружения. Например, в ФОДОС они включают методы доступа, в МДОС методы доступа реализованы в виде операционных средств, обслуживающих программу во время ее исполнения. Кроме того, в библиотеки включены подпрограммы, к которым производится явное обращение из программы пользователя. Они реализуют средства, которые не поддерживаются языком, например, операции со строками в Фортране, обращение по абсолютным адресам и т. д.