ПОИСК Статьи Рисунки Таблицы Библиотека прикладных программ из "Основы построения операционных систем в химической технологии" Библиотека прикладных программ. Для машин первого и второго поколений традиционной формой программирования является библиотека программ и подпрограмм, Прц этом под подпрограммой понимается программа, представленная в виде, пригод--ном для включения ее в другие программы [9]. Это значит, что деление на программы и подпрограммы является условным и-определяется структурой решаемой задачи. [c.47] С точки зрения структуры библиотека представляет собой набор программ, предназначенных для решения определенного класса зада (методо-ориентированные пакеты), или специализированные набсГ подпрограмм, предназначенные для расчета определенного процесса (проблемно-ориентированные пакеты). Независимо от назначения библиотека программ по существу предназначена для расширения вычислительных возможностей ЭВМ, ее системы команд. Часть этих операций можно было бы реализовать анпаратурно, однако это усложнило бы конструкцию ЭВМ, тем более что эти операции, возможно, не являются необходимыми в различных сферах применения машины. В связи с этим обычно часть программ выделяется в библиотеки стандартных подпрограмм общего пользования и библиотеки подпрограмм специального назначения в конкретной области применения ЭВМ. [c.47] К стандартным подпрограммам общего назначения можно от- 1 нести программы вычисления элементарных математических функ- ций (тригонометрические, гиперболические, логарифм, экспонента и т. д.). Такая библиотека поставляется совместно с ЭВМ и обычно содержится в трансляторах с языков высокого уровня (например, трансляторы с Алгола, Фортрана, ПЛ/1). Стандартизацией обычно предусматриваются единая форма идентификации и обращения к подпрограммам, фиксированный формализованный способ задания информации об аргументах и результате, единые правила описания алгоритма и показателей эффективности. Набор таких программ можно считать установившимся для различных языков программирования. Различие обусловлено обычно возможностями, которые представляет язык. [c.47] Стандартизация подпрограмм осуществляется также и на уровне методов решения типовых задач вычислительной математики. Примером библиотеки таких программ является библиотека научных программ, разработанная для ЕС ЭВМ. Эта библиотека содержит подпрограммы для решения дифференциальных и алгебраичес-ских уравнений, подпрограммы экономизации памяти при обработке больших массивов информации и др. [c.47] При создании подпрограмм на развитых языках программирования используются языковые формы их записи процедура — для языков Алгол и ПЛ/1, функция или подпрограмма — для языка Фортран. В силу специфичности прикладные программы обычно нуждаются в подробном описании и должны сопровождаться соответствующей документацией (см. с. 44). Описание позволяет использовать ее разработчиками других систем без существенных переработок. [c.48] При формировании общей программы возможно два способа включения подпрограмм. При первом способе она вставляется в программу в том месте, где происходит ее выполнение (открытая подпрограмма), а при втором — в месте выполнения формируются команды обращения к ней (закрытая подпрограмма). Оба способа находят применение на практике. Открытые подпрограммы обычно используются трансляторами при вычислении элементарных функций (в Фортране они носят название встроенных функций), а закрытые составляют другие типы библиотек. Преимуществом закрытых подпрограмм является то, что независимо от количества обращений подпрограмма вызывается в рабочую область памяти однажды, занимая один и тот же объем памяти. Открытые подпрограммы в свою очередь проще в реализации. [c.48] Невосстанавливающаяся подпрограмма портится в процессе выполнения и не может повторно выполняться без новой загрузки. Такие подпрограммы наиболее просты в организации и наиболее быстры, но имеют ограниченное применение в силу невозможности многократного использования. Их областью применения является метод интерпречации. [c.49] Самовосстанавливающаяся подпрограмма допускает многократное применение без повторной загрузки, так как после выполнения сама возвращается в исходное состояние. При этом рабочая область размещается в подпрограмме. Однако эту подпрограмму нельзя использовать в режиме мультипрограммирования (см. гл. 4), когда одновременно выполняется несколько программ и поочередно обращаются к ней. Если переключение (прерывание) произошло при выполнении подпрограммы, то другая программа не может воспользоваться ею, так как испортит данные, хранящиеся в рабочей области й относящиеся к первой программе. [c.49] Инвариантная подпрограмма допускает многократное применение без повторной загрузки и в режиме мультипрограммирования. Достигается это за счет того, что рабочая область подпрограммы размещается в программе, из которой производится обращение, и, таким образом, становится независимой (рис. 1.10). Обеспечение инвариантности, естественно, требует дополнительных затрат памяти. Тем не менее инвариантные подпрограммы наиболее удобны и универсальны. [c.49] Очевидно, инвариантность подпрограммы обеспечивается не только независимостью рабочего поля, но и инвариантностью выполняемых действий. Любое изменение последовательности переработки информации должно восстанавливаться. Это относится, на-прилюр, к изменению команд или адресов. [c.49] Модули системного и прикладного математического обеспечения хранятся в библиотеках модулей. Рдзлияают системные и. личные библиотеки модулей нескольких типов. Это библиотеки абсолютных, объектных и исходных модулей. Структурно системные и личные библиотеки аналогичны. [c.50] Библиотека исходных модулей содержит тексты программ, записанных на языках программирования. [c.51] Управление работой библиотек осуш ествляется операционной системой с помош ью управляюш их операторов и директив (см. гл. 4), что является одной из характерных особенностей системного математического обеспечения ЕС ЭВМ. Другими важными особенностями является реализация модульного принципа программирования, с гибкими средствами установления связей между модулями и разделение функций трансляции, редактирования и выполнения программ. Последнее позволяет исключать отдельные этапы обработки программы, тем самым сокращая время на ее выполнение. Заметим, что основным методом подготовки прикладных программ к выполнению является принцип компиляции, что позволяет экономить время на их выполнение. [c.51] наличие развитой структуры библиотек в системе математического обеспечения ЕС ЭВМ значительно облегчает создание прикладных операционных систем за счет автоматизации многих организационных функций. [c.51] Вернуться к основной статье