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

  1. 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.
  2. 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.
  3. 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.

tervezési folyamatok

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.

tervezési folyamatok

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.

tervezési folyamatok

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