Математическое обеспечение
 
а б в г д е ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я
 

Математическое обеспечение

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

  Начальные формы М. о. можно найти уже у машин первого поколения (например, так называемая система ИС-2 для ЦВМ(цифровая вычислительная машина) М-20, состоящая из библиотеки подпрограмм и программы-библиотекаря). Однако полное М. о. для ЦВМ(цифровая вычислительная машина) первого поколения было невозможно из-за их низкого быстродействия и малого объёма оперативной памяти. Эксплуатация ЦВМ(цифровая вычислительная машина) второго и третьего поколений без общего М. о. (и, в частности, без операционной системы) уже невозможна.

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

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

  Операционная система представляет собой программное дополнение ЦВМ(цифровая вычислительная машина), вместе с которой образует как бы новую машину, обладающую собственной системой операций и своим машинным языком. К операционной системе относятся программы, обеспечивающие: ввод заказов на выполнение работ; предварительное планирование хода выполнения работ и распределение оборудования машины; ввод программ или их частей; оперативное выполнение работ, статистический учёт используемого оборудования и расхода машинного времени; вывод информации. Чёткое распределение функций между отдельными программами операционной системы и однозначная терминология к 1974 ещё не сложились. Программы ввода программ и их частей обычно называют загрузчиками, программу предварительного планирования хода работ — планировщиком (иногда монитором), программу оперативного управления работами — диспетчером (иногда супервизором). Остальные программы в разных системах М. о. имеют различные названия.

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

  Средствами для поддержания системы М. о. в рабочем состоянии служат программы дублирования материалов на машинных носителях записи, формирования библиотек подпрограмм, программы выполнения «ежедневного туалета» операционной системы (например, «чистка» магнитных лент и дисков, редактирование информации) и тому подобное. К этому же разделу М. о. относятся программы, с помощью которых в начале эксплуатации ЦВМ(цифровая вычислительная машина) получают некоторый вариант информационной системы, соответствующий имеющейся конфигурации ЦВМ(цифровая вычислительная машина), и вносят изменения в операционную систему в связи с изменением конфигурации ЦВМ(цифровая вычислительная машина) или при модернизации операционной системы.

  Средства программирования объединяют разнообразные программы, используемые для составления новых программ: трансляторы с различных алгоритмических языков; программы, собирающие программы из так называемых модулей; программы, автоматизирующие отладку вновь разрабатываемых программ, и другие.

  Система средств программирования предусматривает обычно использование алгоритмических языков (так называемых входных языков программирования) трёх уровней: машинно-ориентированных языков (типа языка ассемблера); проблемно-ориентированных алгоритмических языков, удобных для программирования узких классов задач (например, язык RPG, принятый для ЦВМ(цифровая вычислительная машина) фирм IBM, ICL и многие другие); одного или нескольких универсальных алгоритмических языков, таких, как алгол, фортран, кобол. Возможность отладки на ЦВМ(цифровая вычислительная машина) программ, заданных на алгоритмических языках, должна быть заложена либо в самих трансляторах, либо обеспечена с помощью самостоятельных отладочных программ.

  Система средств программирования ЦВМ(цифровая вычислительная машина) третьего поколения, как правило, основывается на модульном принципе. Модулями называются массивы информации, заданные на алгоритмическом языке вычислительной системы или на входном языке программирования. Массивы, заданные на входных языках программирования, должны содержать информацию, необходимую для их преобразования в модули. Программу, собирающую программы из модулей, иногда называют «композером». В составе операционной системы иногда предусматривают библиотеку модулей (на языке исполнительной системы). Новые модули, составленные в процессе программирования, могут быть включены в состав библиотеки модулей с помощью соответствующей программы из числа средств поддержания системы М. о.

  В раздел «приложения» системы М. о. входят программы решения конкретных задач, например таких, как транспортная задача, задача решения системы линейных уравнений, распределительная задача линейного программирования, задача выравнивания динамических рядов и пр. Программы, входящие в «приложения», обычно группируются по классам задач (например, пакет линейной алгебры, пакет математической статистики и другие).

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

  М. о. размещается в ЦВМ(цифровая вычислительная машина) следующим образом. Основная часть диспетчер-программы (называется резидентом) обычно находится в оперативной памяти ЦВМ(цифровая вычислительная машина); остальные части диспетчер-программы и другие программы М. о. размещаются во внешних запоминающих устройствах. Возможны случаи повреждения диспетчер-программы в процессе эксплуатации ЦВМ(цифровая вычислительная машина), поэтому в машине обычно хранится легко доступная копия резидента. Оперативная память ЦВМ(цифровая вычислительная машина) делится на 3 части: область резидента, рабочее поле, на которое в процессе работы резидент вызывает необходимые части операционной системы (не вошедшие в состав резидента) из внешних запоминающих устройств, и область пользователей, на которой размещаются программы (или части программ) решаемых задач, исходная информация и получаемые результаты. Значительная часть внешних запоминающих устройств, не занятая материалами М. о., также является областью пользователей. Эффективное использование М. о. возможно лишь в том случае, когда область пользователей достаточно велика, что возможно лишь при больших объёмах памяти ЦВМ(цифровая вычислительная машина). Это обстоятельство необходимо принимать во внимание при выборе ЦВМ(цифровая вычислительная машина).

  Специальное М. о. разрабатывается пользователями ЦВМ(цифровая вычислительная машина) для решения своих конкретных задач с учётом всех возможностей, представляемых общим М. о. В состав специального М. о. могут входить трансляторы с новых языков (не входящие в общее М. о.), разработанные пользователем дополнительные программы контроля ЦВМ(цифровая вычислительная машина), программы решения отдельных задач или классов задач и т. п. Как исключение, в состав М. о. могут входить программы, дополняющие операционную систему. В особых случаях программы, входящие в состав специального М. о., разрабатывают непосредственно на языке машины, для того чтобы исключить использование операционной системы. Это делают тогда, когда к разрабатываемым программам предъявляются высокие требования, которым операционная система не удовлетворяет.

 

  Лит.: Ледли Р. С., Программирование и использование цифровых вычислительных машин, перевод с английского, М., 1966; Флорес А., Программное обеспечение, перевод с английского, М., 1971; Джермейн К. Б., Программирование на IBM-360, перевод с английского, М., 1971; Липаев В. В., Колин К. К., Серебровский Л. А., Математическое обеспечение управляющих ЦВМ(цифровая вычислительная машина), М., 1972; Виленкин С. Я., Трахтенгерц Э. А., Математическое обеспечение управляющих вычислительных машин, М., 1972; Тараканов К. В., Общие принципы и структура математического обеспечения автоматизированных систем управления в сборнике: Цифровая вычислительная техника и программирование, в. 7, М., 1972.

  Н. А. Криницкий.