Porównanie

Wstecz
Indeks

Choć w zasadzie dość podobne, mechanizmy szeregowania procesów w Windows i Linuksie nieco się różnią. Poniżej porównanie wraz z komentarzem.

Linux 2.6Windows NT
Priorytety: 32 - 16 czasu rzeczywistego, 16 użytkownika 140 - 100 czasu rzeczywistego, 40 użytkownika
Priorytety czasu rzeczywistego Dostępne tylko dla użytkownika uprzywilejowanego Dostępne tylko dla użytkownika uprzywilejowanego, nie do końca gwarantowany czas rzeczywisty
Regulacja priorytetów Funkcje jądra lub "intuicyjne" API Funkcja nice()
Struktury danych Kolejki procesów aktywnych - po 1 dla każdego priorytetu Kolejki procesów aktywnych - po 1 dla każdego priorytetu
Kwant czasu Niezależny od priorytetu: NT Server: 120ms, NT WorkStation: 20, 40, 60ms (konfirgurowalny); brak epok Zależny od priorytetu: 10..200ms, ale za to są epoki
Dynamiczna zmiana priorytetu Boost (nieograniczony) dla procesów oczekujących, spora integracja z GUI pozwala rozróżnić procesy interaktywne od tych, które czekają np. na odczyt z dysku; nie dotyczy procesów czasu rzeczywistego Ograniczony bonus dla procesów oczekujących, nie odróżnia procesów interaktywnych od oczekujących na jakiekolwiek inne zdarzenie; Ograniczona kara dla procesów zachłannych; Relaksacja interaktywności procesów; nie dotyczy procesów czasu rzeczywistego
Zapobieganie zagłodzeniu Menadżer Balansu okresowo boostuje procesy zagłodzone Epoki - w każdej epoce wykonają się wszystkie procesy
Wieloprocesorowość SMP, w XP także SMT; ograniczenia licencyjne dot. ilości procesorów; 1 kolejka dla wszystkich procesorów SMT, SMP, NUMA; 1 kolejka na każdy procesor
Przydzielanie procesowi ostatnio używanego procesora jest jest
Przydzielanie procesora twarde powiązanie, procesor idealny programista nie ma wpływu

Podsumowanie

Wróć do góry