2.2.1 Причины одновременности

Современные ОС должны обеспечивать одновременное выполнение нескольких пользовательских приложений. Для этого процессорное время делится на промежутки, которые ОС делит между приложениями. Пользовательские приложения, в свою очередь, поделены на один или несколько процессов, которым и предоставляются промежутки процессорного времени. Это вызывает у пользователя иллюзию того, что приложения выполняются одновременно.
Рисунок 2‑5. Выделение процессорного времени процессам (P1 - процесс 1; P2 - процесс 2; P3 - процесс 3) (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))
Планирование выполнения процессов занимается планировщик ОС. Планировщик выбирает процесс, который будет выполнятся следующим. ОС позволяет процессу выполняться в течении некоторого времени, а после этого вновь берёт управление на себя, чтобы выбрать к исполнению следующий процесс. Политика планирования зависит от типа ОС. Алгоритм кругового пранирования (Round-robin) применяется в интерактивных системах. Алгоритм обеспечивает циклическое выполнение процессов, при котором каждому процессу выделяется промежуток процессорного времени.
Рисунок 2‑6. Круговое планирование (Источник: Learning Materials for Information Technology Professionals (EUCIP-Mat))
При этом несколько процессов используют процессор одновременно и каждому обеспечен равный уровень обслуживания.
В системах пакетной обработки чаще применяется метод кратчайшая работа следующей (SJF - Shorted Job First), при котором приоритетом обладает самая короткая задача.