460 likes | 906 Views
Planavimas-CPU laiko skirstymas. 4 .1 Planavimo tipai 4 .2 CPU laiko planuotojo kriterijai 4 .3 Planavimo disciplinos vieno procesoriaus atveju 4 .4 Prioritetinis planavimas 4 .5 Planavimas realaus laiko sistemose 4 .6 Planavimas multiprocesorinėse sistemose. 4 skyrius.
E N D
Planavimas-CPU laiko skirstymas 4.1 Planavimo tipai 4.2 CPU laiko planuotojo kriterijai 4.3 Planavimo disciplinos vieno procesoriaus atveju 4.4 Prioritetinis planavimas 4.5 Planavimas realaus laiko sistemose 4.6 Planavimas multiprocesorinėse sistemose 4 skyrius parengė N. Sarafinienė
3 lygių planavimas parengė N. Sarafinienė
Planavimo tipai parengė N. Sarafinienė
Ilgalaikiai ir vid. laiko planuotojai • Ilgalaikiai planuotojai • Nusprendžia, kuri programa bus priimama į sistemą (taps procesu) • Užklausos gali būti atmestos esant perpildymo būsenai arba dideliam puslapių mainų aktyvumui. • Vidutinio laiko planuotojai • Nusprendžia kada ir kokį procesą reikia atidėti ir vėl suaktyvinti. • Abu planavimo mechanizmai kontroliuoja multiprogramavimo lygį. • Kuo daugiau procesų, tuo mažesnis bus procentiniai kiekvieno proceso vykdymo laikas. parengė N. Sarafinienė
Trumpalaikiai planuotojai • Apsprendžia, kuriam procesui bus skiriamas CPU esant: • Laikrodžio mechanizmo generuotiems pertraukimams. • I/O pertraukimams. • OS kvietiniams • Signalams • CPU laiko skirstytojo vėlinimas– tai laikas, kurio reikia vieno proceso sustabdymui ir kito proceso vykdymo paleidimui, tą nusako: • persijungimo turinys • Naujo proceso išrinkimas. parengė N. Sarafinienė
CPU-I/O veiksmų ciklas • Proceso vykdymas susideda iš tokių ciklų: • CPU vykdymas ir • I/O laukimas. • Procesas gali būti • Daugiau skaičiavimų pobūdžio (CPU-bound). • Daugiau susijęs su I/O veiksmais (IO-bound). parengė N. Sarafinienė
CPU planuotojo kriterijai • CPU panaudojimas – siekiama padaryti jį galimai labiau užimtą. • Pralaidumas – kiekis procesų, kurie baigia savo vykdymą per nurodytą laiko vienetą. • Atsakymo laikas – laiko tarpas nuo to momento, kai užklausa buvo pateikta iki tol, kol buvo gauti pirmi atsakymai (vykdymo laikas +laukimo eilėse laikas pasiruošusių procesų eilėje) • Pilnas apsisukimo (Turnaround) laikas – laikas, kurio reikia įvykdyti tam tikrą procesą (vykdymas + visi laukimai); • Vertinama: prioritetai, reikia vengti badavimo situacijos • Planuotojo efektyvumas – papildomi darbai (pav. konteksto perjungimas, prioritetų skaičiavimas, …) parengė N. Sarafinienė
Sprendimo būdai Negalimas perėmimas • Jei procesas jau yra vykdomas, tai jis išliks tokiam būvyje kol baigsis arba bus blokuotas dėl I/O veiksmų. Galimas perėmimas • Vykdomas procesas gali būti pertraukiamas ir OS perkeliamas į pasiruošusį būvį • Tai geriau tinkama politika, nes neleidžia jokiam procesui monopolizuoti procesorių ilgame laiko intervale. parengė N. Sarafinienė
FCFS- pirmas pasirodęs aptarnaujamas pirmas Perėmimas negalimas • Gerai tinka daugiau skaičiavimų pobūdžio (CPU-bound) tipo procesams. • Jei yra trumpi skaičiavimai, tai procesui gali tekti ilgai laukti, kol gaus procesorių. parengė N. Sarafinienė
Round Robin –ciklinis aptarnavimas CPU perėmimas pagal laikrodžio mechanizmą (pertraukimas vyksta kas laiko kvantą -q- paprastai 10-100 msec) • Esant n procesų, kiekvienas iš jų gauna 1/n dalį CPU laiko kvantais, kurio kiekvieno maksimalus dydis q. • Funkcionavimas – q didelis FIFO – q mažas gaištama daug laiko perėjimams nuo vieno proceso prie kito. parengė N. Sarafinienė
Trumpiausias procesas aptarnaujamas pirmas CPU nėra perimamas. •Trumpi procesai iššoka prieš ilgesnius. parengė N. Sarafinienė
Likęs mažiausias aptarnavimo laikas aptarnaujamas pirmas CPU perimamas (proceso pasirodymo momentu), jei sekantis procesas yra trumpesnis. parengė N. Sarafinienė
Apie planavimo discipliną: trumpiausias procesas aptarnaujamas pirmas • Duoda aukštą pralaidumą • Užtikrina minimalų (optimalų) vidutinį atsakymo (laukimo) laiką duotam procesų rinkiniui. • Turi įvertinti apdorojimo procesoriumi laiką (sekantį reikalingą cpu laiko intervalą) • – tai gali būti atliekama automatiškai (naudojant eksponentinį vidurkinimą). • –Jei vartotojo pateiktas procesui reikalingas laikas (paketinės sistemos atveju) yra netikslus, sistema gali nutraukti procesą. • Ilgesni procesai gali “badauti” nesulaukdami CPU. parengė N. Sarafinienė
Prioritetinis planavimas: bendros taisyklės • Planuotojas gali parinkti vykdymui procesą su didesniu prioritetu. • gali būt taikomas CPU perėmimas arba perėmimas nenaudojamas. • gali būti naudojama daug eilių pasiruošusiems procesams, kurios atitinka skirtingiems procesų prioritetams. • Pavyzdys: trumpiausias procesas aptarnaujamas pirmas – čia prioritetą nusako sekantis reikalaujamas (planuojamas) CPU laikas. • Problema ≡ badavimas – žemo prioriteto procesai gali būti niekad nevykdomi • Sprendimas ≡ sendinimas – laikui bėgant proceso prioritetą didinti. parengė N. Sarafinienė
Prioritetinis planavimasHRRN (Highest Response Ratio Next) disciplina • Aptarnavimui parenkamas procesas, kuriam šio santykio reikšmė yra didžiausia. • CPU nėra perimamas • • Nėra badavimo (įvertinamas sendinimas) • • Tinka trumpiems procesams. • • papildomų veiksmų gali iššaukti daug. parengė N. Sarafinienė
Prioritetinis planavimas: daugelio lygių eilė • Pasiruošusių procesų eilė yra sudaloma į atskiras eiles, pav. • interaktyvūs ir foniniai procesai. • Kiekviena eilė turi savą procesų planavimo discipliną, pav. • interaktyvūs – RR, foniniai - FCFS. • Planavimas turi būti daromas ir tarp eilių. • Fiksuotas, pav. aptarnauti pradžioje visus interaktyvius procesus, tada foninius. Galimas badavimas. • Kitas sprendimas – kiekvienai eilei taikyti laiko kvantavimo principą– kiekviena eilė gauna dalį CPU laiko ir padalina jį eilėje esantiems procesams. Pav. 80% interaktyviems taikant RR discipliną, bei 20% foniniams, taikant FCFS discipliną. parengė N. Sarafinienė
Daugelio lygių grįžtamojo ryšio eilė • Procesas gali pereiti per įvairias eiles, taip įvertinant proceso senėjimą. • Planuotojo parametrai: • Eilių kiekis; • Planavimo algoritmas, taikomas kiekvienai eilei; • Proceso naujinimo metodas; • Proceso “žeminimo” metodas; • Metodas, kuris apsprendžia į kurią eilę pradžioje turi patekti procesas. parengė N. Sarafinienė
Daugelio lygių grįžtamojo ryšio eilė parengė N. Sarafinienė
Fair-Share planavimas • Tai daugelio lygių eilės sugrįžtamu ryšiu disciplinos išplėtimas + prioriteto perskaičiavimas • Taikomosios programos yra vykdomos kaip procesų (gijų) rinkinys • Kreipiamas dėmesys: – įtaikomosios programos funkcionavimą, vartotojų grupes, … • Planavimo sprendimai grindžiami atžvilgiu procesų grupės, o ne atskiro proceso atžvilgiu. • Pav. tradicinis BSD, … unix planavimas. parengė N. Sarafinienė
Realaus laiko planavimas parengė N. Sarafinienė
Realaus laiko sistemos • Užduotys arba procesai bando sąveikauti su išorinio pasaulio įvykiais, kurie vyksta “realiu laiku” procesasturi sugebėti atlikti tokius veiksmus, kaip pavyzdžiui: • Kontroliuoti vykstančius laboratorinius bandymus, valdyti robotą, valdyti skrydžius, valdyti telekomunikacijas, kontroliuoti karines sistemas, .... • Realaus laiko sistemų tikslumas priklauso ne tik nuo loginio skaičiavimo rezultatų bet ir nuo laiko, kada tas rezultatas gautas. • Užduotims arba procesams dažnai būna nurodomas kritinis terminas jų startavimui arba įvykdymui. Reikalavimai gali būti “kieti” arba “minkšti”. parengė N. Sarafinienė
Periodinė realaus laiko užduotis. Laiko diagrama parengė N. Sarafinienė
Multimedia proceso planavimas parengė N. Sarafinienė
Pavyzdys: multimedia procesų planavimas • Periodiniai procesai – filmo demonstravimas • Kadrų greičiai ir apdorojimo reikalavimai gali būti skirtingi kiekvienam filmui parengė N. Sarafinienė
Planavimas realaus laiko sistemose • Planavimas realaus laiko sistemoje įmanomas, jei: • Esant • m periodinių įvykių • Kiekvienam iš i įvykių įvykstant periode Pi ir reikalaujant Ci sekundžių aptarnavimo • Ši apkrova bus įvykdoma, jei: parengė N. Sarafinienė
Planavimas esant kritiniams terminams: anksčiausias kritinis laikas-pirmas • Grupę užduočių su kritiniais laiko terminais yra galima suplanuoti (t.y. jos gali būti vykdomos tokia tvarka, kad nė viena iš jų nepraleis savo kritinio momento, jei galima šiai grupei pritaikyti tokį planavimą: pirma aptarnaujama ta užduotis, kurios kritinis laikas yra anksčiausias.) • Pavyzdžiui, turime tokias sekas parengė N. Sarafinienė
RMS planavimas • RMS (Rate Monotonic Scheduling) planavimo atveju procesams priskiriami prioritetai pagal jų kartojimosi periodo dydį, kuo jis trumpesnis, tuo didesnis prioritetas. • RMS gali susitvarkyti su užduočių aibe, jei tenkinamas santykis: RMS yra dažnai taikomas praktikoje. – pagrindinė priežastis: stabilumas lengviau pasiekiamas, prioritetai yra statiniai, tačiau, esant trumpalaikiam periodui su praleistais kritiniais pabaigos momentais, kritinės užduotys gali būti išsaugotos ir joms gali būti padidinti prioritetai. parengė N. Sarafinienė
Multiprocesorinis planavimas Multiprocesorine sistema vadinama kompiuterinė sistema, kurioje du ar daugiau CPU dalinasi prieiga prie bendro RAM. parengė N. Sarafinienė
Multiprocesorių techninė įranga Magistrale pagrįsti multiprocesoriai parengė N. Sarafinienė
Planavimo principai • “Pono/tarno” (Master/slave)architektūra: pagrindinės branduolio funkcijos vykdomos viename iš procesorių. • Master procesorius yra atsakingas už planavimą; slave procesoriai siunčia aptarnavimo užklausas “master” procesoriui.– Disadvantages • Minusai tame, kad nulūžus master procesoriui, nulūžta visa sistema. • Master procesorius gali tampi funkcionavimo siaura vieta. • Lygiavertė (Peer) architektūra: operacinės sistemos veiksmai gali būti vykdomi bet kuriame iš procesorių • Kiekvienas procesorius vykdo savą planavimą. • Reikia tam tikros garantijos, kad du procesoriai neišrinktų to paties proceso. parengė N. Sarafinienė
“Master-slave” tipo multiprocesorinė sistema parengė N. Sarafinienė
Nesimetrinė lygiavertė multiprocesorinė sistema • Kiekvienas CPU turi savą operacinę sistemą parengė N. Sarafinienė
Simetrinė lygiavertė multiprocesorinė sistema parengė N. Sarafinienė
Procesų priskyrimas procesoriams • Su kiekvienu procesoriumi surišta pasiruošusių procesų eilė. • Procesas surišamas su tam tikru procesoriumi. • Gaunamas mažesnis papildomų darbų kiekis • Kažkuris procesorius gali prastovėti, kai tuo tarpu kitas yra perkrautas. • Galima turėti bendrą pasiruošusių procesų eilę ir priskirti procesą tuo metu esančiam laisvam procesoriui • Galima siaura vieta • Užduočių migracija nėra pigi. parengė N. Sarafinienė
Pasiruošusių procesų eilės sudalinimas • Erdvės bendras naudojimas • Daugelis gijų tuo pačiu metu pasiskirsto po daugelį CPU. parengė N. Sarafinienė
Globali pasiruošusių procesų eilė • Planavime naudojama bendra duomenų struktūra parengė N. Sarafinienė
Multiprogramavimas ir procesoriai • Priskiriant gijas atskiriems procesoriams suteikia dideles funkcionavimo padidinimo galimybes. • Specifinės planavimo disciplinos nėra tiek svarbios esant daugiau nei vienam procesoriui. • Svarbu yra užduočių paskirstymas procesoriams. parengė N. Sarafinienė
Grupinis planavimas Sudaromos gijų grupės (gang) : • Darbo planavimas vykdomos imant grupes kaip planavimo vienetą. • Visi grupės nariai vienu metu vykdomi skirtinguose CPU, veikiančiuose laiko dalinimo principu. 3. Visi grupės nariai vienu metu pradeda ir vienu metu baigia naudotis išskirtu laiko kvantu. parengė N. Sarafinienė