Sobes.tech
Junior — Middle

İşletim sistemi, aynı işlemci çekirdeğinde başlatılan iki sürecin yürütülmesini nasıl dağıtır?

sobes.tech yapay zeka

AI'dan gelen yanıt

İşletim sistemi, yalnızca bir çekirdeğe sahip olsa bile, CPU zamanını birden çok süreç arasında dağıtmak için bir zamanlayıcı (scheduler) kullanır.

Temel prensip, zaman bölmeli çoklu görev (time slicing)dir. Süreçler, belirli bir zaman dilimi (time slice) alır ve bu süre boyunca çalışır. Süre dolduğunda, zamanlayıcı mevcut süreci duraklatır ve diğerine geçer.

Bu çok hızlı gerçekleşir (milisaniyeler), böylece eşzamanlı yürütme yanılsaması yaratılır.

Go'da, işletim sistemi dışında, kendi goroutine zamanlayıcısı vardır; bu, hafif iş parçacıklarının (goroutine'lerin) bir veya birkaç sistem iş parçacığı içinde yürütülmesini dağıtır, ancak süreç seviyesinde bu zaten işletim sisteminin görevidir.