Sobes.tech
Junior — Middle

Cum distribuie sistemul de operare executarea a două procese inițiate pe același nucleu de procesor?

sobes.tech AI

Răspuns de la AI

Sistemul de operare utilizează un planificator (scheduler) pentru a distribui timpul procesorului între mai multe procese, chiar dacă are doar un nucleu.

Principiul de bază este multitasking-ul cu împărțirea timpului (time slicing). Procesele primesc un quantum de timp (time slice), în timpul căruia sunt executate. La sfârșitul quantum-ului, planificatorul pune în pauză procesul curent și trece la altul.

Acest lucru se întâmplă foarte rapid (milisecunde), creând iluzia execuției simultane.

În Go, pe lângă sistemul de operare, există un planificator propriu pentru goroutines, care distribuie execuția thread-urilor ușoare (goroutines) în interiorul unuia sau mai multor thread-uri de sistem, dar la nivel de procese, aceasta este deja o sarcină a sistemului de operare.