Junior — Middle
Czy możesz wyjaśnić mechanizm działania planisty zadań w systemie operacyjnym?
sobes.tech AI
Odpowiedź od AI
Planista zadań (scheduler) w systemie operacyjnym odpowiada za rozdzielanie czasu procesora między uruchomione procesy i wątki. Jego głównym celem jest zapewnienie efektywnego i sprawiedliwego wykorzystania zasobów CPU.
Podstawowe zasady działania:
- Kolejka gotowych do wykonania procesów — planista utrzymuje listę procesów gotowych do wykonania.
- Wybór procesu do wykonania — na podstawie algorytmu planowania (np. Round Robin, priorytety, kolejki wielopoziomowe) wybierany jest następny proces.
- Kwanta czasu — procesowi przydziela się określony przedział czasu (kwant), po którym kontrola może przejść do innego procesu.
- Obsługa przerwań i zdarzeń — planista reaguje na zdarzenia, takie jak zakończenie procesu, blokada na wejście/wyjście, aby zaktualizować stan kolejek.
Przykład algorytmu Round Robin:
// Pseudokod planisty Round Robin
for {
for _, proces := range kolejkaGotowych {
uruchomProces(proces, kwantCzasu)
if proces.jestZakończony() {
usunZKolejki(proces)
} else {
przenieśNaKoniecKolejki(proces)
}
}
}
W ten sposób planista zapewnia wielozadaniowość i reaktywność systemu.