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

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

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

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

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

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

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

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

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

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

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

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

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

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

 

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

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