Tudd Intuíció, előadás, tervezési folyamatok

Minimum-Job-First (SJF)

Ha figyelembe vesszük algoritmusok FCFS és RR láttuk, hogy mennyire fontos számukra az, hogy a folyamat a sorban folyamatok végrehajtásra kész. Ha a rövid feladatok vannak elrendezve egy vonal közelebb az elején, a teljes teljesítmény ezen algoritmusok jelentősen megnövekedett. Ha tudnánk a következő CPU tört időben a folyamatok a készenléti állapot, tudtunk választani, hogy ne hajtsa végre a folyamatot a sorba, és a folyamat minimális CPU tört időtartamát. Ha ezek az eljárások két vagy több, válassza ki az egyiket, akkor a megszokott FCFS algoritmus. Időszeletelési nem használják. A bemutatott algoritmus az úgynevezett „legrövidebb feladatot először” vagy Minimum Job First (SJF).







SJF-algoritmus rövid távú tervezési lehet elővásárlási. és nem preemptív. Amikor egy nem preemptív SJF - tervezési folyamat választott processzor biztosítja az összes szükséges időt rá, függetlenül attól, hogy a bekövetkezett események a számítógépes rendszer. Amikor preemptív SJF - tervezés figyelembe veszi az új folyamatok a sorban feldolgozásra kész (a számos újonnan született vagy elengedve) működése során a kiválasztott folyamat. Ha a CPU tört az új eljárás kevesebb, mint a többi CPU robbant elvégzésére, a végrehajtható folyamat kénytelen új.

Vegyük példaként a munkáját nem preemptív SJF algoritmus. Tegyük fel, hogy egy készenléti állapotot négy folyamatok, p0. p1. p2 és p3. melyek egy bizonyos idő, hogy a következő CPU tört. Ezek az idők táblázatban mutatjuk be 3.4. Mint korábban, azt feltételezzük, hogy minden tevékenységét a folyamatok korlátozódik csak egy időszak CPU tört. hogy a folyamatok nem végez input-output műveletek, valamint, hogy a körülmények kapcsolási idő elhanyagolható.

Amint láthatjuk, az átlagos várakozási idő a SJF algoritmus (4 + 1 + 9 + 0) / 4 = 3,5 egység időt. Könnyen kiszámítható, hogy a FCFS algoritmusa érdekében p0 folyamatok. p1. p2. p3 ez az érték egyenlő lesz (0 + 5 + 8 + 15) / 4 = 7 időegységekben, t. e. ez két-szer nagyobb, mint SJF algoritmus. Meg lehet mutatni, hogy egy adott eljárások sorozata (ha nem a sorban, új eljárások) algoritmus SJF optimális szempontjából minimalizálja az átlagos várakozási idő közül az osztály nem preemptív algoritmus.







Például, figyelembe véve az elmozdulás SJF ütemezési teszünk egy sor folyamat p0. p1. P2 és P3 különböző időkben CPU tört és a különböző pillanatait megjelenésük a sorban folyamatok végrehajtásra kész (lásd. táblázat. 3.6.).

Előfordulásának ideje a következő CPU tört sorban

A kezdeti időben a készenléti állapotot csak két folyamat p0 és p3. Kevesebb idő a következő CPU tört jelenik meg p3 folyamatot. miért ezt választotta a végrehajtás (lásd. táblázat 3.7.). Miután két alkalommal egységek a rendszer megkapja p1 folyamatot. CPU tört idő kevesebb, mint a CPU tört maradék p3 folyamatot. amely kiszorítja az állam a végrehajtás és ülteti át a készenléti állapotot. Miután további két időegységben a folyamat véget ér P1 és P3 a a folyamat végrehajtása ismét kiválasztja. A t = 6 sorban dolgozza végrehajtásra kész, p2 folyamat megjelenik. hanem azért, mert szükséges 7 egység az idő, és p3 folyamat ment dolgozni, csak 1 egységnyi idő alatt, a folyamat továbbra is p3 végrehajtás állapot. Annak befejezését követően a t = 7 sorban folyamatok p0 és P2. P0 amely eljárás van kiválasztva. Végül az utolsó lesz képes végezni p2 folyamatot.

A fő nehézség az alkalmazása az algoritmus a képtelen SJF finomítani a következő CPU tört időtartama tudás végrehajtó folyamatokat. A szakaszos rendszerek összegét CPU szükséges idő, hogy végre a feladatot, a felhasználó megadja kialakításakor munkát. Mi lehet ez az érték hosszú távú SJF - tervezés. Ha több időt igényel, mint amire szüksége van, akkor meglesz az eredménye hosszabb ideig tudott, amennyit a munka lesz feltöltve a rendszerbe később. Ha ő azt mondja, egy kisebb mennyiségű időt, a feladatot nem lehet számítani, amíg a végén. Így egy csomag döntés processzor rendszerek használata időben értékelési feladat jut el a felhasználó vállára. Ha a rövid távú tervezés, csak akkor tudjuk megtenni előrelátható időtartama a következő CPU tört. története alapján a folyamat működését. Hagyja, - az érték az n-edik processzor tört. T (n + 1) - előre jelzett érték az n + 1-én CPU tört. - mennyiségi tartományban 0-1.

Adjuk kiújulás

T (0), mi meg tetszőleges konstans. Az első ciklus figyelembe veszi a mostani viselkedése a folyamat, míg a második tag figyelembe veszi a történelem. Amikor megszűnik követni a viselkedését az utóbbi folyamat, valóban feltételezhető

t. e. értékeli az összes CPU tört egyformán alapján néhány kezdeti feltételezések.

Tegyük fel, hogy felejtsd el a előtörténete a folyamatot. Ebben az esetben úgy véljük, hogy az idő a következő CPU tört egybeesik az idő az utolsó CPU tört:

Általában választani az utóbbi számviteli egyenértékű viselkedés és a történelem. Meg kell jegyezni, hogy ez a választás alkalmas a gyors megszervezését számítástechnikai értékelési T (n + 1). Ahhoz, hogy kiszámítja az új értékelésre van szükség, hogy a régi értékelés, hogy meghatározza a mért időt CPU tört, és a kapott összeget elosztjuk 2-re mozdítva 1 bittel jobbra. A kapott becslések T (n + 1) használunk időtartama az egymást követő időszakokban folyamatos használat a CPU idő rövid SJF - tervezés.




Kapcsolódó cikkek