1 / 29

Operacinės sistemos

Operacinės sistemos. asist. S. Ramanauskaitė. Atminties valdymas. Programų kūrėjai norėtų atminties, kuri: Didelė; Greita; Nekintanti. Tuo tarpu atminties hierarchija pasižymi: Nedaug greitos, brangios atminties – kešo; Vidutiniškai vidutinio greičio atminties – pagrindinės atminties;

taariq
Download Presentation

Operacinės sistemos

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. Operacinės sistemos asist. S. Ramanauskaitė

  2. Atminties valdymas • Programų kūrėjai norėtų atminties, kuri: • Didelė; • Greita; • Nekintanti. • Tuo tarpu atminties hierarchija pasižymi: • Nedaug greitos, brangios atminties – kešo; • Vidutiniškai vidutinio greičio atminties – pagrindinės atminties; • Gigabaitai lėtos atminties – kietasis diskas. • Atminties valdymas apima visos atminties hierarchijos valdymą

  3. Atminties valdymo uždaviniai: • Sekti užimtą ir laisvą atmintį; • Išskirti atmintį procesams; • Atlaisvinti atmintį pasibaigus procesams; • Išstumti procesus iš operatyviosios atminties į diską, kada pagrindinės atminties nepakanka visiems procesams; • Grąžinti procesus į operatyviąją atmintį, kai joje atsiranda laisvos vietos; • Priderinti programos adresus konkrečiai fizinės atminties sričiai.

  4. Atminties valdymas monoprograminėse OS: • a) OS ir vartotojo programa RAM; • b) OS tik ROM (BIOS), o programa RAM; • c) OS pasiskirsčiusi tarp ROM ir RAM, o vartotojo programa laikoma RAM.

  5. Atminties skirstymo metodai Nenaudojantys išorinės atminties Naudojantys išorinę atmintį Sukeitimas (Swapping) Fiksuoti skyriai Dinaminis skirstymas Virtuali atmintis (Pagging) Perkeliami skyriai Atminties valdymo būdai multiprograminėse OS:

  6. Atminties skirstymas fiksuoto dydžio skyriais • Atmintis suskirstoma į tam tikro dydžio blokus – skyrius; • Į tam tikrą laisvą skyrių įkraunama didžiausia ten galinti tilpti programa; • Dalis skyriaus dažniausiai lieka neišnaudojama; • Gali būti realizuojama: • Naudojant vieną bendrą eilę; • Naudojant atskiras eiles kiekvienam skyriui.

  7. (a) OS Skyrius 1 Skyrius 2 Užduočių eilė Skyrius 3 - laisva atmintis (b) OS Eilės prie skyrių Skyrius 1 Skyrius 2 Skyrius 3 Atminties skirstymas fiksuoto dydžio skyriais

  8. Atminties skirstymas fiksuoto dydžio skyriais • Privalumai: • Paprasta realizacija. • Trūkumai: • Neefektyviai išnaudojama atmintis (dalis skyriaus laisva); • Multiprogramavimas ribojamas skyrių skaičiumi.

  9. Atminties skirstymas kintamo dydžio skyriais • Programos atmintyje talpinamos nuosekliai viena paskui kitą; • Procesui pasibaigus – skirta vieta atlaisvinama ir gali būti panaudojama kitų užkraunamų procesų; • Naujas procesas talpinamas atmintyje ten, kur tik yra pakankamo dydžio laisvos vietos blokas.

  10. P6 OS OS OS OS OS P1 P1 P1 P7 P2 P2 P2 P3 P3 P3 P8 P4 P6 P5 P5 P5 P11 t0 t1 t2 t3 … ti - užimta sritis - laisva sritis Atminties skirstymas kintamo dydžio skyriais

  11. Atminties skirstymas kintamo dydžio skyriais • Privalumai: • Neribojamas vienu metu veikiančių procesų skaičius; • Trūkumai: • Atminties fragmentacija – gali susidaryti tokie maži laisvos atminties blokai, kad juose nebeįmanoma patalpinti jokių kitų procesų; • Norint patalpinti procesą, būtine pereiti visus atminties blokus, kad būtų galima rasti reikiamo dydžio bloką.

  12. Atminties skirstymas kintamo dydžio skyriais su suglaudinimu • Norint panaikinti fragmentaciją, laikas nuo laiko gali būti atliekamas suglaudinimas; • Jo esmė – pertvarkyti atmintį taip, kad procesai eitų vienas po kito, nepalikdami laisvų tarpų; • Tai reikalauja papildomo laiko ir darbo atnaujinant informaciją pačiuose procesuose.

  13. OS OS P1 P1 P2 a P2 P3 b P3 P4 c P4 a+b+c+d Suglaudinimo procedūra d t1 t2 Atminties skirstymas kintamo dydžio skyriais su suglaudinimu

  14. Procesų vietos nurodymas ir saugumas • Keli atmintyje esantys procesai turi neįtakoti vienas kito; • Kadangi iš anksto nežinoma nuo kokio adreso bus užkrautas procesas – proceso viduje yra naudojamas adresas, nuo kokio adreso tas procesas prasideda ir postūmis tame bloke; • Kad procesai “neužeitų” vienas ant kito – nurodžius adresą turi būti tikrinama ar tai patenka į galimą adresų intervalą.

  15. Išorinės atminties naudojimas • Dėl vis didėjančių programų apimties, atsiranda papildomos vietos pagrindinėje atmintyje trūkumas; • Tokiais atvejai naudojama išorinė atmintis (kietasis diskas ir pan.); • Kadangi rašymas į diską yra palyginti lėtas – tai taikomi metodai, tik tam tikrą dalį ir tik tam tikru laiko momentu laikantys išoriniame diske; • Pagrindinėje atimtyje esantis kodas nuolat keičiamas su diske esančiu; • Taip sudaromas didelės pagrindinės atminties įspūdis.

  16. Sukeitimas (Swapping) • Procesai nedelsiant talpinami atmintyje; • Jei nebetelpa kiti procesai – senieji laikinai talpinami kietajame diske; • Kuomet ateina eilė vėl to proceso vykdymui – procesas iš disko vėl perkeliamas į atmintį.

  17. Sukeitimas (Swapping) skiriant papildomos vietos duomenims • Atmintyje esantys procesai gali reikalauti papildomos erdvės; • Kad būtų galima rečiau iš naujo skirti papildomos vietos – papildoma vieta skiriama iš anksto; • Papildomos vietos gali reikti duomenims arba duomenims ir stekui praplėsti.

  18. Dinaminis atminties sekimas sukeitimo (swapping) atminties valdyme • Kaip sukontroliuoti kur tam tikru laiko momentu yra išnaudojama atmintis? • Būtina nuolat vesti apskaitą kur tam tikras procesas užkraunamas atmintyje; • Galimi 2 pagrindiniai būdai: • Bitų žemėlapiai; • Susieti sąrašai.

  19. Bitų žemėlapiai • Atskirai saugomas kodas, kiekvienu bitu nusakantis tam tikro atminties elemento užimtumą;

  20. Susieti sąrašai • Sudaromas dinaminis tuščių ir užimtų vietų sąrašai su nurodymu nuo kokio adreso ir per keik

  21. Atminties bloko parinkimas dinaminiame atminties valdyme • Pirmas tikęs – skiriamas pirmas rastas pakankamo dydžio atminties blokas; • Sekantis tikęs – veikimas kaip pirmo, tik tiek, kad žiūrėti pradedama nuo paskutinio skirto bloko, o ne nuo pradžios; • Geriausiai tinkamas – rankamas artimiausio dydžio pakankamas bloko dydis; • Blogiausiai tinkamas – skiriamas pats didžiausias tuo metu galimas blokas.

  22. Padengimai (overlay) • Kuomet procesas užimta daugiau vietos nei iš viso yra atminties, pačią programą galima dalinti į dalis; • Tokiu atveju programa rašoma taip, kad ją būtų galima vykdyti atskiromis dalimis; • Kiekviena dalis užkraunama atskirai į atmintį; • Sudėtinga, kuomet turi bendrauti kelios programos dalys; • Tai realizuojama pačio programos autoriaus, o ne operacinės sistemos.

  23. Virtuali atmintis • Virtualios atminties esmė panaši į padengimus (overlay); • Dalis procesų yra saugoma pagrindinėje atmintyje, o kita dalis kietajame diske; • Tačiau sudaromas įspūdis, kad atmintis iš tikro yra didesnė (pakankama visiems procesams); • Procesai naudoja virtualius adresus, kurie automatiškai perverčiami į realius.

  24. Virtualaus adreso vertimas fiziniu • Procesorius naudoja virtualų adresą; • Fizinio adreso atitikmenį nustato atminties valdymo įtaisas.

  25. Sąryšis tarp virtualios ir fizinės atminties • Virtualios ir fizinės atminčių puslapiai būna sudalinti vienodo dydžio blokais; • Kiekvienas virtualios atminties blokas nurodo į tam tikrą fizinės atminties adresą arba nenaudojamas; • Jei procesorius reikalauja puslapio, kuris neturi nuorodos, toks žemėlapis sudaromas iš naujo ir kartojama procesoriaus užklausa.

  26. Sąryšis tarp virtualios ir fizinės atminties • Žemoji virtualaus ir fizinio adresų dalis sutampa, nes nurodo vietą tame puslapyje; • Pirmieji keli bitai automatiškai yra pakeičiami pagal puslapių lentelę, kad būtų sudaromas perėjimas tarp virtualios ir fizinės atminties.

  27. Virtualios atminties dydžio išplėtimas naudojant tarpines lenteles • Gali būti naudojamos tarpinės puslapiavimo lentelės; • Jos leidžia virtualios atminties erdvė praplėsti dar labiau; • Tokiu atveju virtualus adresas tarsi sudalinamas į dar smulkesnes dalis, nurodančias vietą konkrečiai kiekvienoje tarpinėje lentelėje.

  28. Puslapių pakeitimo algoritmai • Kadangi virtualioje atmintyje gali būti tik tiek aktyvių nuorodų, kiek puslapių yra realioje atmintyje – tas nuorodas laikas nuo laiko reik atnaujinti; • Atnaujinimas vyksta atmintyje užraunant naujus puslapius ir atitinkamai pakeičiant virtualios puslapių lentelės įrašus;

  29. Segmentacija • Programa gali būti suskirstyta į atskirus segmentus; • Kiekvienas segmentas skirtas tam tikram tikslui (duomenims, stekui, programos duomenims ir pan.); • Kad vieno bloko duomenys “neužliptų” ant kitų – atmintis suskirstoma į segmentus, su galimybe kiekvienam segmentui “augti”.

More Related