KWALIFIKACJA INF2 - STYCZEŃ 2015

PYTANIE NR 13.
Za przydzielanie czasu procesora do określonych zadań odpowiada
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Za przydzielanie czasu procesora odpowiada system operacyjny, a dokładniej planista (scheduler) działający w jądrze. To on szereguje procesy/wątki, ustala kolejność i długość wykonania (kwant czasu) oraz inicjuje przełączanie kontekstu. RAM, cache i chipset nie podejmują takich decyzji.

Pełne wyjaśnienie:

Przydzielanie czasu procesora (CPU) do zadań jest zadaniem systemu operacyjnego, ponieważ to on pełni rolę menedżera zasobów komputera. W praktyce realizuje to planista (scheduler) działający w jądrze systemu. Planista decyduje, który proces lub wątek otrzyma dostęp do CPU, na jak długo (kwant czasu, time slice) oraz w jakiej kolejności, aby możliwa była wielozadaniowość.

W nowoczesnych systemach planista korzysta z różnych polityk i algorytmów szeregowania (np. Round Robin czy podejścia priorytetowe). Gdy kończy się kwant czasu albo pojawia się potrzeba obsługi innego zadania, system wykonuje przełączanie kontekstu (context switch), czyli zapisuje stan bieżącego procesu i wznawia inny.

Dlaczego pozostałe odpowiedzi są błędne?

  • "pamięć RAM" – przechowuje kod i dane programów, ale nie decyduje o tym, kto i kiedy korzysta z CPU.
  • "cache procesora" – to szybka pamięć podręczna przyspieszająca dostęp do danych/instrukcji, jednak nie realizuje planowania pracy procesów.
  • "chipset" – odpowiada za komunikację między podzespołami (interfejsy, magistrale), ale nie wykonuje logicznego szeregowania procesów jak planista w systemie operacyjnym.

W praktyce działanie planisty widać np. w Windows w Menedżerze zadań (udział CPU procesów) oraz w Linuxie w narzędziach top/htop. Zmiana priorytetu procesu (nice/renice) wpływa na decyzje planisty, a nie na działanie RAM/cache/chipsetu.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Planista (scheduler) to mechanizm jądra systemu operacyjnego, który wybiera proces/wątek do wykonania na CPU. Ustala kolejność uruchamiania zadań, czas ich działania (kwant czasu) i moment przełączenia na inne zadanie, aby działała wielozadaniowość.
Sprzęt wykonuje instrukcje, ale nie zna celów "sprawiedliwego" podziału CPU między programy. System operacyjny ma globalny obraz procesów i polityk (priorytety, interaktywność, usługi w tle), więc to on podejmuje decyzje o kolejności i czasie wykonywania zadań.
Kwant czasu to maksymalny odcinek, przez który proces może wykonywać się na CPU bez oddania procesora innemu zadaniu. Stosuje się go, aby wiele procesów mogło "dzielić" CPU i żeby system pozostawał responsywny, zwłaszcza przy zadaniach interaktywnych.
Przełączanie kontekstu to operacja, w której system zapisuje stan bieżącego procesu/wątku (np. rejestry, licznik rozkazów) i przywraca stan innego, aby ten mógł kontynuować pracę. Jest inicjowane przez planistę, np. po upływie kwantu czasu lub zmianie priorytetu.
RAM wpływa na wydajność i możliwość uruchomienia wielu programów naraz, ale nie "przydziela" czasu CPU. Decyzje, który proces dostanie procesor, podejmuje system operacyjny (planista). Niedobór RAM może powodować spowolnienia, lecz to inny problem niż szeregowanie.
Cache przyspiesza dostęp CPU do danych i instrukcji, zmniejszając opóźnienia pamięciowe. Nie wybiera jednak, który proces ma być wykonywany. Szeregowanie to decyzja logiczna wykonywana przez system operacyjny, natomiast cache to mechanizm sprzętowy optymalizujący szybkość wykonania.
Priorytet jest jedną z informacji, które planista może brać pod uwagę przy wyborze procesu do uruchomienia. Zwykle wyższy priorytet oznacza częstszy lub szybszy dostęp do CPU, a niższy – mniejszy udział. Konkretne zachowanie zależy od polityki i algorytmu szeregowania.
Najprościej w Menedżerze zadań: widać tam użycie CPU przez procesy oraz ich wpływ na system. To odzwierciedla, jak system rozdziela czas procesora. Dodatkowo można obserwować zmiany po uruchomieniu nowych aplikacji lub usług działających w tle.
Typowo używa się poleceń top lub htop, które pokazują listę procesów oraz procent użycia CPU. To praktyczny sposób, by zobaczyć wielozadaniowość i skutki planowania. Zmiana priorytetu (nice/renice) może zmienić udział procesu w CPU.
Najczęstszy błąd to mylenie elementów sprzętu z mechanizmami systemu: RAM, cache i chipset kojarzą się z "wydajnością", więc bywają wybierane intuicyjnie. Warto zapamiętać, że szeregowanie procesów (kto dostaje CPU i kiedy) to rola systemu operacyjnego.
info

To pytanie poprawnie rozwiązuje 78% zdających egzamin. średnio łatwe

Według specjalistów z branży: "Za przydzielanie czasu procesora odpowiada system operacyjny, a dokładniej planista (scheduler) działający w jądrze."

Źródła:

  • Linux man-pages: sched(7) — Linux scheduling overview, https://man7.org/linux/man-pages/man7/sched.7.html (dostęp: 2026-03-01)
  • The Linux Kernel documentation: CFS scheduler design, https://docs.kernel.org/scheduler/sched-design-CFS.html (dostęp: 2026-03-01)
  • Abraham Silberschatz, Peter B. Galvin, Greg Gagne, "Operating System Concepts", rozdział o CPU Scheduling (wydanie zależne od publikacji; źródło książkowe)

Materiały:

  • Dokumentacja Linux: man 7 sched (planowanie i polityki szeregowania)
  • Dokumentacja jądra Linux dotycząca planisty (CFS) i zasad szeregowania
  • Podręczniki akademickie z systemów operacyjnych (rozdziały o CPU scheduling)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego