INF.02 · pytanie 10
Przydzielaniem czasu procesora do określonych zadań zajmuje się
- Apamięć RAM
- Bcache procesora
- Cchipset
- Dsystem operacyjnyPoprawna
Wyjaśnienie
Za przydzielanie czasu procesora do zadań odpowiada system operacyjny, a dokładniej jego część nazywana planistą zadań, czyli schedulerem. To on decyduje, który proces albo wątek dostanie dostęp do CPU, na jak długo i w jakiej kolejności. Dzięki temu komputer może sprawiać wrażenie, że robi wiele rzeczy naraz: odtwarza muzykę, pobiera plik, obsługuje przeglądarkę i jeszcze skanuje system antywirusem. W praktyce procesor bardzo szybko przełącza się między zadaniami, a system operacyjny pilnuje priorytetów, kolejek procesów i reakcji na przerwania. Moim zdaniem to jeden z ważniejszych mechanizmów, który odróżnia nowoczesny system od prostego programu uruchamianego bezpośrednio na sprzęcie. W Windows można to częściowo obserwować w Menedżerze zadań, a w Linuxie np. przez top, htop, ps czy nice i renice. Dobre praktyki administracyjne mówią, żeby nie podnosić priorytetów procesów bez potrzeby, bo można pogorszyć responsywność całego systemu. Scheduler współpracuje też z mechanizmami wielozadaniowości, zarządzania pamięcią, obsługą wielordzeniowych procesorów i uprawnieniami użytkowników. Cache procesora, RAM i chipset są ważne, jasne, ale nie podejmują decyzji o kolejności wykonywania programów. To rola systemu operacyjnego.