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

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

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

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

  М. обеспечивается аппаратными и программными средствами. К аппаратным средствам относятся защита памяти и организация прерываний. К программным средствам относятся диспетчер-программы и проблемно-ориентированные языки программирования, учитывающие особенности М. Характерно М. для ряда современных ЦВМ (70-е гг. 20 в.): в СССР — БЭСМ-6, «Минск-32», «Урал-14-», ЕС-1020; в США — ИБМ-360, КДК-7600.

 

  Лит.: Современное программирование. Мультипрограммирование и разделение времени. Сб. ст., пер. с англ., М., 1970; Пашкеев С. Д., Основы мультипрограммирования для специализированных вычислительных систем, М., 1972; Поспелов Д. А., Введение в теорию вычислительных систем, М., 1972; Бертэн Ж., Риту М., Ружие Ж., Работа ЭВМ с разделением времени, пер. с франц., 2 изд., М., 1972.

  А. В. Гусев.