Sobes.tech
Junior — Middle

Kako operativni sistem raspoređuje izvršavanje dva procesa pokrenuta na jednom procesorskom jezgru?

sobes.tech АИ

Одговор од АИ

Operativni sistem koristi planerač (scheduler) za raspodelu vremena procesora između više procesa, čak i ako ima samo jedno jezgro.

Osnovni princip je multitasking sa deljenjem vremena (time slicing). Procesi dobijaju kvant vremena (time slice), tokom kojeg se izvršavaju. Nakon isteka kvanta, planerač zaustavlja trenutni proces i prebacuje se na drugi.

Ovo se dešava veoma brzo (milisekunde), stvarajući iluziju istovremenog izvršavanja.

U Go, pored OS-a, postoji sopstveni scheduler za goroutine, koji raspoređuje izvršavanje lakih niti (goroutine) unutar jednog ili više sistemskih niti, ali na nivou procesa to je već zadatak OS-a.