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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Мультипрограммирование — способ организации выполнения нескольких программ на одном компьютере.

Разделяют мультипрограммирование в пакетных системах, системах реального времени и в системах разделения времени.

Пакетная обработка[править | править вики-текст]

Пакетная обработка используется для достижения максимальной эффективности использования ресурсов вычислительной машины при выполнении вычислительных задач путём сбалансированной загрузки её компонентов, как например, АЛУ и УВВ. Задачи, планируемые к выполнению, называются пакетом. Переключение между задачами в пакетном режиме инициируется выполняющейся в данный момент задачей, поэтому промежутки времени выполнения той или иной задачи неопределены.

Системы разделения времени[править | править вики-текст]

Системы разделения времени используются для «одновременного» выполнения нескольких программ в интерактивном режиме. В отличие от пакетного режима, все программы получают определённые временные промежутки времени для выполнения, затем система инициирует переключение. Выделяемые временные интервалы могут быть равными для всех задач, а могут определяться их приоритетами

Системы реального времени отличаются от систем с разделением времени (англ. time-sharing system) тем, что они должны быть предсказуемы в следующих ситуациях[1]:

  • Высокая степень планируемости: временные ограничения должны выполняться и при высокой степени использования ресурсов.
  • Время отклика должно быть в пределах допустимого даже в наихудшем случае.
  • Стабильность при вре́менной нагрузке: в случае перегрузки система должна успевать выполнять наиболее важные задачи в срок, жертвуя менее важными.

Кроме того, система реального времени может тратить больше ресурсов (быть менее эффективной или иметь меньшую пропускную способность) из-за более высоких требований к планированию задач[2], а также недоиспользовать ресурсы в моменты средней загруженности[3].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

Литература[править | править вики-текст]

  • Jean J. Labrosse, et al Chapter 8. DSP in Embedded Systems // Embedded Software. — Newnes, 2007. — 792 p. — ISBN 978-0-7506-8583-2
  • Dimosthenis Kyriazis, Theodora Varvarigou, Kleopatra Konstanteli Achieving Real-Time in Distributed Computing. — IGI Global, 2011. — 452 p. — ISBN 978-1-60960-827-9
  • Современное программирование. Мультипрограммирование и разделение времени, Пашкеев С. Д.
  • Основы мультипрограммирования для специализированных вычислительных систем, Поспелов Д. А.
  • Введение в теорию вычислительных систем, Бертэн Ж., Риту М., Ружие Ж.