2012-08-24 11 views
6

Mam pytanie dotyczące kwantu czasu nadanego procesom i wątkom w oknach i systemie Linux.Czas kwantowy na proces na wątek

Wiem, że ogólnie systemy operacyjne dają stały czas kwantowy na wątek. (Wiem, że zmiany kwantowe czasu zależą od wątków pierwszoplanowych lub tła.) Może również ulec zmianie w zależności od priorytetu procesu.)

Czy istnieje określony czas trwania kwantu na proces? Na przykład Jeśli system operacyjny daje 36 kwantów czasu na proces, a jeśli proces ma 2 wątki, to każdy otrzyma 18 kwantów. Jeśli liczba wątków wynosi 3, to każdy otrzyma 12.

Jeśli jednak nie ma ustalonego kwitu na proces, a system operacyjny daje wielkość kwantową na wątek (brak zależności od procesu nadrzędnego.), Wtedy mogę być w stanie dokonać mój proces jest bardziej efektywny poprzez tworzenie wielu wątków. (Zakładając, że nie mam dwóch wielu muteksów/semaforów w moim kodzie.)

Mam aplikację, która działa w obu systemach operacyjnych (Windows i Linux). Pytam o to w sensie ogólnym.

Dzięki

+0

Skąd ten okropny termin 'kwantowy' pochodzi? 99,99% wszystkich wątków nigdy nie uruchamia się dla niczego zbliżającego się do przedziału czasowego timera OS, zanim zostanie zablokowane na I/O, innym wątku lub innym wywołaniu systemowym. Myślałem, że "kwanty" powinny być niepodzielne? Głupi termin, który daje mylące wrażenia! –

+0

Możesz to sprawdzić: http://support.microsoft.com/kb/259025 –

+0

smith - M $, powinienem odgadnąć ... –

Odpowiedz

1

Na systemu ze szeregowania wątków i procesów perspektywicznych są równoważne. Więc jeśli proces spawnuje dwa wątki, każdy powinien otrzymać 36 kwantów. Chociaż chciałbym to usłyszeć od kogoś o większej wiarygodności niż moja, by to potwierdzić.

+1

Windows też. Program planujący zajmuje się wątkami, a nie procesami. –

+0

@Harry: W takim przypadku proces może ukraść więcej czasu dzięki wielu wątkom. Czy to stwierdzenie jest właściwe? –

+0

Tak, chociaż określenie "kradzież" wydaje się nieco dziwne. :-) –

Powiązane problemy