1 / 38

Planavimas-CPU laiko skirstymas

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.

tam
Download Presentation

Planavimas-CPU laiko skirstymas

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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ė

  2. 3 lygių planavimas parengė N. Sarafinienė

  3. Planavimo tipai parengė N. Sarafinienė

  4. 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ė

  5. 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ė

  6. 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ė

  7. 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ė

  8. 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ė

  9. 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ė

  10. 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ė

  11. Trumpiausias procesas aptarnaujamas pirmas CPU nėra perimamas. •Trumpi procesai iššoka prieš ilgesnius. parengė N. Sarafinienė

  12. Likęs mažiausias aptarnavimo laikas aptarnaujamas pirmas CPU perimamas (proceso pasirodymo momentu), jei sekantis procesas yra trumpesnis. parengė N. Sarafinienė

  13. 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ė

  14. 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ė

  15. 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ė

  16. 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ė

  17. 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ė

  18. Daugelio lygių grįžtamojo ryšio eilė parengė N. Sarafinienė

  19. 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ė

  20. Realaus laiko planavimas parengė N. Sarafinienė

  21. 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ė

  22. Periodinė realaus laiko užduotis. Laiko diagrama parengė N. Sarafinienė

  23. Multimedia proceso planavimas parengė N. Sarafinienė

  24. Pavyzdys: multimedia procesų planavimas • Periodiniai procesai – filmo demonstravimas • Kadrų greičiai ir apdorojimo reikalavimai gali būti skirtingi kiekvienam filmui parengė N. Sarafinienė

  25. 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ė

  26. 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ė

  27. 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ė

  28. Multiprocesorinis planavimas Multiprocesorine sistema vadinama kompiuterinė sistema, kurioje du ar daugiau CPU dalinasi prieiga prie bendro RAM. parengė N. Sarafinienė

  29. Multiprocesorių techninė įranga Magistrale pagrįsti multiprocesoriai parengė N. Sarafinienė

  30. 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ė

  31. “Master-slave” tipo multiprocesorinė sistema parengė N. Sarafinienė

  32. Nesimetrinė lygiavertė multiprocesorinė sistema • Kiekvienas CPU turi savą operacinę sistemą parengė N. Sarafinienė

  33. Simetrinė lygiavertė multiprocesorinė sistema parengė N. Sarafinienė

  34. 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ė

  35. Pasiruošusių procesų eilės sudalinimas • Erdvės bendras naudojimas • Daugelis gijų tuo pačiu metu pasiskirsto po daugelį CPU. parengė N. Sarafinienė

  36. Globali pasiruošusių procesų eilė • Planavime naudojama bendra duomenų struktūra parengė N. Sarafinienė

  37. 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ė

  38. 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ė

More Related