Мультипрограммирование
Мультипрограммирование — способ организации выполнения нескольких программ на одном компьютере.
Разделяют мультипрограммирование в пакетных системах, системах реального времени и в системах разделения времени.
Пакетная обработка
[править | править код]Пакетная обработка используется для достижения максимальной эффективности использования ресурсов вычислительной машины при выполнении вычислительных задач путём сбалансированной загрузки её компонентов, как например, АЛУ и УВВ. Задачи, планируемые к выполнению, называются пакетом. Переключение между задачами в пакетном режиме инициируется выполняющейся в данный момент задачей, поэтому промежутки времени выполнения той или иной задачи не определены.
Системы разделения времени
[править | править код]Системы разделения времени используются для «одновременного» выполнения нескольких программ в интерактивном режиме. В отличие от пакетного режима, все программы получают определённые временные промежутки для выполнения, затем система инициирует переключение. Выделяемые временные интервалы могут быть равными для всех задач, а могут определяться их приоритетами.
Системы реального времени
[править | править код]Системы реального времени отличаются от систем с разделением времени (англ. time-sharing system) тем, что они должны быть предсказуемы в следующих ситуациях[1]:
- Высокая степень планируемости: временные ограничения должны выполняться и при высокой степени использования ресурсов.
- Время отклика должно быть в пределах допустимого даже в наихудшем случае.
- Стабильность при вре́менной нагрузке: в случае перегрузки система должна успевать выполнять наиболее важные задачи в срок, жертвуя менее важными.
Кроме того, система реального времени может тратить больше ресурсов (быть менее эффективной или иметь меньшую пропускную способность) из-за более высоких требований к планированию задач[2], а также не использовать в полной мере ресурсы в моменты средней загруженности[3].
См. также
[править | править код]Примечания
[править | править код]- ↑ Labrosse, et al, 2007, p. 539.
- ↑ Labrosse, et al, 2007, p. 542.
- ↑ Kyriazis et al, 2011, p. 201-202.
Литература
[править | править код]- 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.
- Современное программирование. Мультипрограммирование и разделение времени, Пашкеев С. Д.
- Основы мультипрограммирования для специализированных вычислительных систем, Поспелов Д. А.
- Введение в теорию вычислительных систем, Бертэн Ж., Риту М., Ружие Ж.
int main()
{
printf("Hi");
return 0;
}
| Это заготовка статьи о программировании. Помогите Википедии, дополнив её. |
Для улучшения этой статьи желательно: |