Математическая энциклопедия - математическое обеспечение
Связанные словари
Математическое обеспечение
ЭВМ, программное обеспечение, совокупность программ и программных комплексов, посредством к-рых происходит преобразование алгоритмов программы пользователя, записанных на алгоритмич. языках высокого уровня, в последовательность команд, понимаемых электроникой ЭВМ, организуется автоматич. прохождение задач пользователей на ЭВМ, обеспечивается эффективное использование оборудования ЭВМ (см. [1] [4]).
Появление М. о. было вызвано необходимостью повышения производительности труда программистов и специалистов, эксплуатирующих ЭВМ. Действительно, команды вычислительной машины представляют собой с точки зрения возможности записи алгоритма весьма элементарные операции, и запись алгоритма (программирование) в виде последовательности этих команд является трудоемкой работой. Это стимулировало создание средств автоматизации программирования. Происходило укрупнение операций, понимаемых электроникой машины, но это не решило проблемы. Даже у современных ЭВМ команды, как правило, представляют собой элементарные операции. Существенно больший успех был достигнут на пути создания программных средств, облегчающих программирование. Первым шагом было создание М. о., позволяющего программировать на автокоде. Программа на автокоде фактически представляет собой ту же последовательность команд ЭВМ, но записанных символическими обозначениями в мнемоническом виде. Преобразование мнемонич. кода программы в команды машины осуществляют специальные программы ассемблеры. Затем появились макроассемблеры, к-рые дали возможность использовать в текстах программ макрооператоры, обеспечивающие выполнение группы команд машины.
Следующим этапом автоматизации программирования было создание алгоритмических языков высокого уровня. Имеется свыше тысячи алгоритмич. языков различного назначения, применение к-рых существенно сокращает затраты на разработку и создание программ. Первым, получившим широкое распространение, стал язык фортран. Затем появились языки алгол, алгамс, а в СССР и язык альфа, предназначенные в основном для проведения научно-технич. расчетов. Для записи алгоритмов обработки экономич. информации был создан язык кобол. Алголоподобный язык паскаль имеет средства для описания структуры данных. Для работы с текстовой информацией предназначены языки лисп, снобол, амбит, сдл и др. Для описания алгоритмов проведения аналитич. реобразований на ЭВМ получила широкое распространение система Reduce, а в СССР и язык аналитик (см. [5]). Как развитие и обобщение языков фортран, алгол и кобол появились языки ПЛ/1 и алгол-68.
Параллельно с развитием языковых средств велись работы по созданию библиотек стандартных программ. Имеются тысячи подпрограмм, программ и программных комплексов, в к-рых реализованы алгоритмы общего и специального назначения с использованием методов вычислительной математики. Среди них: вычисление элементарных и специальных функций, линейная алгебра, счет интегралов, численное решение обыкновенных дифференциальных уравнений и уравнений с частными производными, метод наименьших квадратов и др. Стандартные программы организованы в виде библиотек подпрограмм, записанных на магнитные ленты или диски, так что они легко доступны. Для вызова подпрограммы достаточно поставить в программе оператор обращения к ней. Наиболее часто применяемые подпрограммы хранятся в виде стандартных модулей загрузки на языке, весьма близком к кодам ЭВМ. Как правило, трансляторы с алгоритмич. языков выдают результат своей работы в виде последовательности отдельных подпрограмм и процедур, к-рые сразу же после трансляции записываются во временную библиотеку в виде стандартных модулей загрузки. Последующее объединение отдельных подпрограмм в рабочую программу в кодах ЭВМ с соответствующей настройкой осуществляет загрузчик либо перед началом счета (статич. загрузчик), либо во время счета в момент вызова конкретной подпрограммы (динамич. загрузчик). В нек-рых системах объединение отдельных оттранслированных ранее частей программ в единую программу осуществляет т. н. редактор связей, а загрузчик только располагает готовую программу в памяти машины.
Наряду с пополнением библиотеки стандартных подпрограмм все большее распространение получает практика создания пакетов прикладных программ, рассчитанных на решение не отдельной задачи, а целого класса задач. Пакет программ представляет собой совокупность подпрограмм, работающих под управлением головной программы. Режим работы пакета задается посредством специализированного проблемно-ориенти рованного языка, чаще всего являющегося подмножеством обычного профессионального языка или жаргона.
Современные ЭВМ наряду со средствами, облегчающими написание и отладку программ, оснащаются также программными комплексами, обеспечивающими эффективное использование самих ЭВМ путем организации автоматич. прохождения задач (управление заданиями), управления данными, динамич. распределения памяти, внешних устройств (управления ресурсами). Совокупность этих программных средств наз. операционной системой (ОС) ЭВМ (см. [1][4], [6]). OG стали неотъемлемой частью вычислительных систем. Без ОС невозможно функционирование ЭВМ, т. к. управление работой внешних устройств, обмен информацией, организация взаимодействия отдельных элементов ЭВМ в значительной мере осуществляются посредством программ, входящих в ОС. Под управлением ОС функционируют трансляторы с алгоритмич. языков, системы программ, облегчающих программирование и отладку (в том числе и в диалоговом режиме), а также обеспечивающих работу с графич. информацией. ОС предоставляют средства для работы с большими массивами данных, для ведения файлов (последовательность групп данных, как правило, одинаковой структуры), создания баз данных и различного рода информационно-поисковых систем. ОС обеспечивает использование ЭВМ в составе многомашинных комплексов, в сетях ЭВМ. Кроме языковых средств, облегчающих программирование, пользователю также предоставляется возможность управления работой ОС посредством управляющих операторов (перфокарт), к-рые вводятся в ЭВМ вместе с программой.
В зависимости от режима работы, к-рый обеспечивается ОС, различают три типа использования ЭВМ.
1) Пакетная обработка программ заключается в автоматич. прохождении (решении) потоков задач на ЭВМ, в том числе и в мультипрограммном режиме. Примерами ОС, обеспечивающих такой режим работы, являются ОС ЕС и ДОС ЕС для машин единой серии (см. [1], [8]) и машин фирмы ИБМ; системы ОС ДУБНА и ОС ДИСПАК для БЭСМ-6 (см. [91); система NOS/BE для машин фирмы Control Data.
2) Режим разделения времени дает возможность одновременно обслуживать многих пользователей, работающих с терминалов, связанных с ЭВМ, в том числе находящихся на больших расстояниях от нее. В качестве примеров ОС, обеспечивающих работу в таком режиме, можно назвать одну из ранних экспериментальных систем MULTICS и систему TSS/360 для машин ИБМ. В крупных вычислительных системах режим разделения времени, как правило, обеспечивается операционными системами, к-рые одновременно ведут счет и в режиме пакетной обработки. При этом взаимодействие с ОС происходит посредством специальных подсистем, работающих под управлением основной ОС. В NOS/BE это система Intercom, в ОС ДУБНА мультитайп, в ОС ДИСПАК система ДИМОН (см. [10]), в ОС ЕС ДУУВЗ и СРВ (см. [11]).
При работе с терминалов на ЭВМ, ведущей счет в пакетном режиме, пользователям предоставляются в режиме разделения времени только средства для набора, редактирования программ и их запуска на счет. Трансляция программ и счет идут в обычном режиме пакетной обработки, как правило, с высшим приоритетом. Пользователи имеют возможность просмотреть результат прохождения задач и, если необходимо, заново их отредактировать и вновь запустить на счет. Программа может обращаться к терминалу и в реальном времени, как к внешнему устройству ЭВМ, для ввода-вывода информации в режиме диалога.
Системы режима разделения времени часто оснащаются трансляторами, работающими в режиме интерпретации, когда отдельная инструкция (оператор языка) преобразуется в коды ЭВМ и выполняется сразу же после ее набора на терминале.
3) Операционные системы реального времени обеспечивают функционирование ЭВМ на линии с внешним оборудованием, к-рое в произвольные моменты времени может посылать в ЭВМ информацию, требующую оперативной обработки в момент ее поступления. ОС такого типа предназначены для управления экспериментальными и технологии, установками, работающими на линии с ЭВМ (см. [121, [13], [14], [15]). Нередко в роли ОС реального времени выступают соответствующим образом доработанные ОС пакетного режима. ЭВМ, предназначенные для работы на линии с оборудованием (управляющие ЭВМ), имеют технические и программные средства, облегчающие создание программ и их функционирование в реальном времени.
Понятия и терминология в области М. о. и системного программирования еще не четко установились. Ранее в состав ОС включались трансляторы, теперь большинство исследователей относят их к прикладным программам, работающим под управлением ОС. Разными учеными название компонент ОС, а часто и разбиение ОС на отдельные компоненты делается по-разному. Это связано главным образом с быстрым развитием этой области науки и непрерывным появлением новых понятий.
Кроме рассмотренного выше М. о. ЭВМ общего назначения (операционные системы и прикладные пакеты общего назначения), имеется и продолжает активно создаваться М. о., нацеленное на решение конкретных проблем в различных отраслях науки, техники и народного хозяйства. Программные проблемно-ориентированные комплексы создаются с использованием языковых средств и других возможностей, предоставляемых ОС ЭВМ. Объем этого М. о. намного превосходит объем М. о. ЭВМ общего назначения.
В крупных институтах ядерной физики и физики высоких энергий используются десятки (иногда более сотни) ЭВМ разного класса в основном для управления и съема информации с экспериментальных установок. Для каждой такой установки созданы специализированные ОС реального времени или разделения времени (см. [16]). Специализированные ОС обеспечивают функционирование не.