Kezdőoldal » Számítástechnika » Programozás » Miért száz az ütemező frekvenc...

Miért száz az ütemező frekvenciája?

Figyelt kérdés
Az ütemező frekije windows és a linux rendszerekben is 100. Ez azt jelenti, hogy másodpercenként 100 alkalommal vált taszkot a processzor. Egy taszkváltás viszont elég sok időt felemészt. Nem lenne gyorsabb a végrehajtás, ha a 100 helyett csak 20 lenne a frekvencia? Hiszen ilyenkor csak 20 context switch hajtódna végre másodpercenként a 100 helyett.
tegnap 08:56
 1/9 anonim ***** válasza:
100%

Linux alatt nem valami 250 a default?

Egyébként nem feltétlen vált le egy taskról az ütemező.

Ha nagyon alacsony kenne, akkor egy idő után lehet, hogy az egész felület "laggolna", mert nem kapna időben processzor időt. Az alacsny egy esetben lenne talán jobb, akkor ha néhány hosszan futó taszk van, és nem interaktív. De az ütemező futása elég minimális overhead

tegnap 14:43
Hasznos számodra ez a válasz?
 2/9 A kérdező kommentje:
Pont így kapnak a programok kevesebb processzoridőt, mert a sok taszkváltás során bekövetkező állapot mentés és visszatöltés elég sok processzor időt igényel, ami elveszett, haszontalan teljesítmény.
tegnap 15:15
 3/9 anonim ***** válasza:
100%

2

Na de nagyon sok taszk fut a háttérben. Van egy taszkod, ami mondjuk annyit csinál, hogy időnként ellenőriz egy fájlt, vagy valamit. Ha nagyon lassan váltasz taszkot, akkor teljesen feleslegesen ez fog kapni processzor időt, amikor már rég nincs rá szüksége, és egy másik taszknak meg nem lesz, amikor pont kéne, mert megugrana a processzálási igénye (pl. ki kéne számolni valamit).

tegnap 15:18
Hasznos számodra ez a válasz?
 4/9 A kérdező kommentje:

A processzor ideje másképpen van felosztva. Létezik prioritás. Amelyik magasabb prioritású, az több időt kap.

Amit te írsz, az csak a round robin tipusú ütemezőknél igaz.

tegnap 15:30
 5/9 anonim ***** válasza:
100%

4

De ettől még az igaz amit mondtam, hogy az interaktív taszkoknak az a jobb, ha magasabb a freki.

tegnap 15:44
Hasznos számodra ez a válasz?
 6/9 A kérdező kommentje:

Mitől lenne jobb nekik?

Másodpercenként 100 taszkváltás történik.

tegnap 17:08
 7/9 anonim ***** válasza:

Az 10 ms egy taszk futásra. Nem tudom ezzel mi a baj, teljesen valid érték.

De gondolj bele: legyen mondjuk 4 mag a processzorban.

Powershell/terminál meg tudja mondani, hány szál lett nyitva a futó processzek által: (Get-Process|Select-Object -ExpandProperty Threads).Count

Ez nálam 3300 darab. Na azt a 4 magot oszd el 3300-zal, meglátod, mennyi idő jut 1 szálra. Igaz, soknak nem kell mindig futnia, és rögtön elengedi a procit, de nagyságrendnek jó, hogy érzékeltesse.

Amúgy meg átlagosan egy procinak 2,5 milliárd órajelciklusa van másodpercenként; Ha 100szor történik váltás, akkor ~ 25 millió órajel jutna (ha nem lenne context switch idő). Az internyet alapján egy context switch 5 mikroszekundum időt vesz igénybe, vagyis a 100 darab együtt is csak a fele egy milliszekundumnak. Vagyis ha jól számolok, az idő 99,995%-ában nem a context switch viszi az időt. Így már jobban tetszik?

tegnap 21:03
Hasznos számodra ez a válasz?
 8/9 A kérdező kommentje:

Ez csak papíron van így. A valóságban a tartalom váltása függ a memória sebességétől, és attól is, hogy a memória mennyire van fragmentálódva. Van úgy, hogy egy processz mintegy száz fragmentumban tárolja a saját adattartalmát. Tipikusan ilyenek a böngészők. Ezeknél egy context switch biztos, hogy nem fut le 5, de még 50 uSec alatt sem alatt.

Ezért van az, hogy még korszerű rendszer esetén is előfordul lag.

ma 00:39
 9/9 A kérdező kommentje:

Itt van erről néhány mondat:


"Egy jól konfigurált és optimalizált rendszeren a taszkváltások általában 1-5% közötti processzoridőt vesznek igénybe. Ha a rendszer nagyon terhelt (pl. sok folyamat fut egyszerre, vagy sok I/O művelet történik), ez az arány akár 10-20% is lehet. Extrém esetekben (pl. rosszul tervezett alkalmazások vagy túlterhelt rendszerek) ez az érték még magasabb."

ma 00:55

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!