Операционная система управляет параллельным выполнением программ с помощью нескольких механизмов, среди которых:
- Планирование времени. vc.ru ОС выделяет каждому процессу или потоку определённый отрезок времени для работы (квант времени). vc.ru После того, как этот квант времени истекает, система переключает процессор на другую задачу. vc.ru
- Присвоение приоритетов. vc.ru ОС присваивает процессам и потокам приоритеты, чтобы более важные задачи получали больше процессорного времени. vc.ru
- Контекстное переключение. vc.ru Когда система переключается между процессами, она сохраняет состояние текущего процесса (его контекст) и загружает состояние другого. vc.ru Это даёт возможность вернуться к предыдущему процессу, как только у него снова наступит очередь. vc.ru
- Распределение между ядрами. vc.ru Если в процессоре несколько ядер, ОС может распределять процессы и потоки между разными ядрами, чтобы те действительно выполнялись параллельно. vc.ru
По-настоящему параллельное выполнение задач возможно только в многопроцессорной системе. habr.com В однопроцессорной многозадачной системе поддерживается псевдопараллельное исполнение, при котором создаётся видимость параллельной работы нескольких процессов. habr.com