Sobes.tech
Junior — Middle

Ako operačný systém rozdeľuje vykonávanie dvoch procesov spustených na jednom procesorovom jadre?

sobes.tech AI

Odpoveď od AI

Operačný systém používa plánovač (scheduler) na rozdelenie času procesora medzi viaceré procesy, aj keď má iba jedno jadro.

Základným princípom je multitasking s delením času (time slicing). Procesy dostávajú kvantum času (time slice), počas ktorého sa vykonávajú. Po uplynutí kvanta plánovač pozastaví aktuálny proces a prepne na iný.

To sa deje veľmi rýchlo (milisekundy), vytvárajúc ilúziu súčasného vykonávania.

V Go, okrem OS, existuje vlastný scheduler pre goroutines, ktorý rozdeľuje vykonávanie ľahkých vlákien (goroutines) v rámci jedného alebo viacerých systémových vlákien, ale na úrovni procesov je to už úloha OS.