tervezési folyamatok
Már felmerült az a kérdés, ami a sorban a kész folyamatokat. A döntés arról, hogy ki datsleduyuschy időszeletet protsessoraopredelyaet tervezés.
Tervezési folyamatok az operációs rendszer a kiválasztási folyamat - aki fut következő, és meddig fog futni.
Nem tévesztendő össze a kontextusban váltás, ami egyszerűen a mechanizmus irányítás átadása.
Context váltás nem egy tervezési művelet, ez egy technikai művelet.
- Egy megszakítás történik;
- Az áramlási kivételt okoz vagy csapda (trap);
- Ezt követően, a másik csatorna kerül kiválasztásra.
Ie alatt vál- világosan meg kell választani, hogy kit fennhatóságát.
osztályok tervezők
- Batch - elsősorban a hosszú távú feladatok, amelyek megkövetelik a nagy számítási erőforrások, amelyek nem igényelnek gyakori megszakítása. Ie bevonni, mikor nagy feladatok nagy csomagok, nincs korlátozás időtartama alatt.
- Interaktív - csökkentését célzó válaszidő, azaz A rendszer úgy tűnt, „szimpatikus”. Rendes előfizető a rendszer a PC-n - az interaktív rendszer, amikor válaszul egy felhasználói művelet (például az egér mozgatásával), az operációs rendszer csinál valamit. És mindig a felhasználó akarja a válasz jött a lehető leggyorsabban.
A lényeg, hogy az érkező kérelem érkezett a lehető leggyorsabban választ. Érdeklődés - bármilyen interakció a számítógép. - Valós idejű - speciális osztály középpontjában a határidő - a befejezés határidejét minden raboty.Glavnoe hogy egy adott művelet befejeződött egy bizonyos időpontban, ez a koncepció az úgynevezett határidő .Postupayuschy kérelmet kell feldolgozni legfeljebb egy bizonyos idő vremeni.Klassichesky példája Vietnam - kezelése egy atomreaktor, amely meghaladta a válaszidő vezet vészhelyzetben.
tervezési szint
- Hosszú távú (dogosrochnoe) - eldönteni, hogy melyik új feladatokat adunk (koncepcionális kérdések).
- Középtávon - dönt arról, hogy ideiglenesen feltölteni a programot, hogy a másodlagos tároló szükség (ami általában szükségessé).
- A rövid távú - eldönti, hogy melyik folyam a következő kvantum CPU-időt, és mennyi ideig. Koordináták flow futó különböző CPU-k.
A fő feladata a tervezési folyamatok az operációs rendszer, hogy egy nagy teljesítményű operációs rendszer.
Vannak különböző mutatók, amely értékeli a teljesítményét ez. Ezek a mutatók gyakran ellentmondásosak.
Ez elméletileg szükséges tervezésénél OS ütemező:
- Maximalizálása CPU használat (az ő maksimalnorabotal feladatokra)
- Maximalizáljuk az áteresztőképességet (chislovypolnennyh kérések egységnyi idő)
- Minimalizálása átlagos válaszideje (az az átlagos idő, hogy otpodachi kérés válasz feldolgozása befejeződött)
- Hogy csökkentse az átlagos várakozási idő (átlag vremyaot kérelmet megelőzően a végrehajtás)
- Energiafelhasználás minimalizálása (joule per utasítás)
tervezési mutatók
Az alábbi ábra, vegyünk egy példát tervezési mutatókat.
ta - a folyamat folytatódik (ha a folyamat végrehajtásra kész);
Tw - a várakozási időt (ami tölti a folyamat futási sorban);
Ts - Runtime CPU;
Tr - a forgalmi idő (a teljes időt várakozás és végrehajtás).
Reakcióvázlat 5. és 6. kapott folyamatban sorban kész folyamatok.
5 késik 1-4 protsesov. Az ötödik eljárás Tw - a várakozási idő Ts - futásidejű CPU.
Az átfutási idő az az idő a kézhezvételt követően az a pont, ahol befejezte végző Tr = w + Ts.
A tervezés a fő kérdés marad: Hogyan melyik folyamat fusson tovább és tovább?
A következő folyamatok ütemezése:
- A FIFO - klasszikus - érkezési sorrendben, először ki
- Minimum munka mellett. azaz kiválasztja a következő munka, amely előírja a legalacsonyabb befejezési idő
- Round-robin
- többszintű sorban
- Többszintű sorban obratnoysvyazyu
Tekintsük nevezett folyamatok ütemezése.
Ebben az esetben azt megérteni, mint egy nem preemptív többfeladatos
- Folyamatok a tervek szerint érkeznek;
- Átfutási idő figyelmen kívül marad (semmi);
- Más eljárás kevés időt kell várni Tr (csökkent válaszkészség a rendszer);
- Amikor a folyamat átlép a készenléti állapotot, költözött az a sor végére.
Tegyük fel, hogy három folyamat, hogy ugyanabban a t = 0 időpontban a sorrendben a P1, P2, P3.
Eljárások mindegyikét van az ideje, hogy fel kell végezni a probléma része. Ez a probléma része, hogy el kell végeznie az úgynevezett angol szó Burst. Három különböző folyamatokban.
Ezután a várakozási idő
Átlagos várakozási idő = 17
Ha ez a három beérkezett folyamat menetrend a másik, akkor nagymértékben csökkenti a válaszidőt a rendszer.
Tegyük fel folyamatok érkezik a sorrendben P2, P3, P1
Ezután a várakozási idő
Átlagos várakozási idő = 3
Ez jelentős mértékben csökkent annak a ténynek köszönhető, hogy mi változott a sorrendben munkafolyamatok érkezett, ugyanabban az időben.
Egy egyszerű példa az adatok rejtve minden erejét és jelentőségét a tervezési folyamatok az operációs rendszer algoritmusok.
- Ő több, mint bármely más komoly, igényes CPU időt folyamatok;
- Gyenge hasznosítása a CPU és az I / O eszközök;
- Átlagos várakozási idő nagyon változó.
Minimum munka mellett
Egyetértünk, mármint nem preemptív ütemezés politika - mennyi időt slot kérő folyamatot, mivel áll, és.
A folyamat lényege - akkor célszerű ütemezni olyan folyamat, amely megköveteli, hogy a legkevésbé vremenidlya annak végrehajtását, azaz a A folyamat, amely a legrövidebb feldolgozási idő.
Meg kell becsülni a szükséges feldolgozási idő minden folyamat.
- A szakaszos feladatokat a korábbi tapasztalatok alapján, vagy kézzel (nincs garancia arra, hogy ismét)
- Az interaktív feladatok alapján eltöltött idő
Amint megkapjuk a folyamatmérőszámokat, rövid folyamat kerül a sorban.
Minimum munka mellett áthelyező megvalósítási módja
Van egy változata az elmozdulás a legrövidebb a következő.
Leválogatás idején, hogy szeretné a folyamat befejezéséhez annak része a problémának. Ha elmozdul a végrehajtás folyamatát, az idő, hogy elhagyta az úgynevezett maradvány.
A maradék időben rendezni, és úgy dönt, amely eljárás futtatásához a következő.
Ennek megfelelően azok a folyamatok, amelyek végrehajtják a CPU által kiszorított folyamat, amely közel a befejezéshez, és dolgozni, hogy az ágazat elhagyására kényszerülnek rá.
Azok a folyamatok, amelyek hosszú ideig munka, hagyja későbbre, és azokat „egy szűk”. A logika ebben.
Általánosítás a „legrövidebb munka mellett”:
- A futó folyamatok a CPU már elmozdult legközelebb a feladat elvégzése;
- Kevesebb teljes folyamat ideje forgalomban;
- Kevesebb CPU várakozási idő.
tervezési prioritások
Ugyanazt az algoritmust legrövidebb feladat mellett is képviselteti magát a tervezési elsőbbség prioritása - a legkevesebb időt.
Az alsó sorban: minden folyamat jár számos jellemző határozza meg a prioritást a folyamat. Minél kisebb a szám, annál nagyobb a prioritás.
Starvatsii probléma - a probléma a „lógó”, „éhezés” - ha a magas prioritású folyamat viszket, hogy végre nagyon hosszú munka, az összes többi folyamat lesz „lógni”, és várjon.
CPU időt szánnak a legmagasabb prioritású folyamatot (preemptív vagy nem preemptív). A folyamat alacsony prioritású nem lehet teljesíteni, mielőtt nem jön minden.
Starvatsiya - leírható, mint az összes sorban állás, és akik kiváltságos emelkedési soron kívül.
Ez nyilvánul meg a Raman algoritmus. Alacsony prioritású kérelmek soha nem lehet teljesíteni.
Bevezetik a „öregedés”: mint az idő múlásával, hogy növelje a kiemelt egy folyamat.
Prioritás = becsült idő a végrehajtás a CPU - a várakozási idő
Prioritások - olyan eszköz, amellyel meg kell, hogy a teljes tervezési folyamat hatékonyságát.
Round-robin
Ez ütemező algoritmus egy ciklikus algoritmust preemptív ütemezés.
- Minden folyamatot kap egy fix kvantum CPU idő (fix egység CPU idő).
- Lejárta után az idő szelet folyamat erőszakkal elmozdulni, és helyezzük a kész végrehajtásra váró.
- Az eljárást minden esetben tervezett ugyanúgy, és minden folyamat kap egy időben slot
- Nem nehéz kiszámolni, hogy ha az idő kvantum q és n-folyamatok a sorban, majd mindegyik kap 1 / n a CPU időt, darab legfeljebb q
- Egyik a folyamatok nem vár több, mint (n-1) * q időegység
- Ha q értéke nagy (cél ∞), majd RR újjászületik a FIFO algoritmus;
- Ha q egy kis (de nem hajlamos 0, különben a számítógép csak akkor kapcsolja folyamatok és már nem folytatnak egyáltalán), akkor minden rendben van;
- Nem starvatsii;
- Úgy tűnik, a magas érzékenység a rendszer;
- Egyenlő elosztását az idő;
- Ha q kevesebb időt vesz igénybe, hogy összefüggésben kapcsolót, majd a menedzser hatástalan lesz.
Intenzív folyamatok az I / O (t.e.zablokirovannye váró az I / O) nem használják fel teljes mértékben az időrésben, így a folyamatok a CPU-intenzív előnyt kapunk.
Két folyamat P1 és P2
Process P1 vár input / output ponton (●), míg a az I / O befejezi részét jelöli kikelési idő folyamat P1 fogja tölteni „elvesztegetett”, akkor lehet kizárni csak a zöld pont a végén időszeletet.
P2 ebben az időben aktívan használja a CPU-t, például, aki hisz.
RR probléma, hogy nem veszi figyelembe a késés. és hasznos üzemidő P1 csak 10%.
többszintű sorban
Ennek révén számos különböző sorok, például:
- Forgassa interaktív folyamatok, azaz a azok, amelyek megkövetelik az alacsony válaszidőt;
- Az összes háttér folyamatok, amelyek megkövetelik a sok vych.resursov, de amelyek nem számít gyors válaszidő (kötegelt feldolgozás), szüksége van egy csomó povychislyat.
Minden sorban van társítva egy ütemező algoritmus, így van egy „erőegyensúly”:
- interaktív folyamatok RR;
- a háttérben - FIFO.
De abban az esetben a többszintű sorok kell tervezni nem csak az egyes szakaszában, hanem a tervezés között tör. Get „befagyott” tervező tud nyújtani egy csomó lehetőség:
1) Tervezze rögzített prioritás
- Kezdetben ellát minden interaktív folyamatok, akkor az összes háttér
- lehetséges starvatsiya
2) Az elválasztási idő
Minden sorban kiosztott része CPU időt, amely tud tervezni közötti folyamatokat. Például 80% a CPU időt a interaktív folyamatok révén RR, 20% -kai az alapérték fölötti FIFO.
3 visszajelzéssel) többszintű sorban
A többszintű visszajelzést sorban
alapján eltöltött idő tervezés, ha a folyamat töltött egy bizonyos időt slot, hogy helyezzenek el egy adott helyen - dinamikusan átütemezett sorban.
A többszintű visszajelzést sorban
Ha végre elég gyorsan, akkor beleesik az első „gyors” folyamatokat.
Ha ez a közepén egy run-time, a közepén.
Ha ez időigényes számítási erőforrások, ez kerül az utolsó FIFO.
Ennek eredményeként, a folyamatok folyamatosan mozognak között robban, tehát nem előre kell tekintenünk, hová tegye a folyamatot, és hasonlítsa össze neki néhány tulajdonság.
Az ütemező által meghatározott számos paramétert:
- Fordulatok száma;
- Ütemezőalgoritmusokat minden sorban;
- Az alkalmazott módszer meghatározására csatlakozási folyamat egy adott sorban.
Példa többszintű visszajelzést sorban
Három fokozata van:
- Q0 -RR egy kvantum t idő = 16 ms
- Q1 -RR egy kvantum t idő = 32ms
- Q2 -FIFO
Az új eljárás kerül végén az első szakaszban Q0
- Amikor a folyamat ebbe a sorba veszi a CPU időt szelet osztják t = 16 ms
- Ha a folyamat tovább tart, nem tért vissza az ellenőrzést a OS, akkor erőszakkal kitelepített és végén elhelyezett Q1 sorban
- Amikor a folyamat ebbe a sorba veszi a CPU időt szelet osztják t = 32ms
- Ha a folyamat tovább tart, ez elmozdul, és erőszakkal helyezünk a sorban Q2 és végezzük a FIFO végéig