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

Мультипрограммирование

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

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

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

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

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

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

  А. В. Гусев.