Atminties valdymas OS: gretimas, keitimasis, suskaidymas

Kas yra atminties valdymas?

Atminties valdymas yra kompiuterio atminties valdymo ir koordinavimo procesas, paskirstant dalis, žinomas kaip blokai, įvairioms veikiančioms programoms, siekiant optimizuoti bendrą sistemos veikimą.

Tai svarbiausia operacinės sistemos, valdančios pirminę atmintį, funkcija. Tai padeda procesams judėti pirmyn ir atgal tarp pagrindinės atminties ir vykdymo disko. Tai padeda OS sekti kiekvieną atminties vietą, neatsižvelgiant į tai, ar ji skirta kokiam nors procesui, ar ji lieka laisva.

Šioje operacinės sistemos pamokoje sužinosite:

  • Kas yra atminties valdymas?
  • Kodėl verta naudoti atminties valdymą?
  • Atminties valdymo būdai
  • Kas yra apsikeitimas?
  • Kas yra atminties paskirstymas?
  • Kas yra puslapių ieškojimas?
  • Kas yra suskaidymo metodas?
  • Kas yra segmentavimas?
  • Kas yra dinaminis įkėlimas?
  • Kas yra dinaminis susiejimas?
  • Skirtumas tarp statinės ir dinaminės apkrovos
  • Skirtumas tarp statinio ir dinaminio susiejimo

Kodėl verta naudoti atminties valdymą?

Čia pateikiamos atminties valdymo naudojimo priežastys:

  • Tai leidžia jums patikrinti, kiek atminties reikia skirti procesams, kurie nusprendžia, kuris procesorius turėtų gauti atmintį.
  • Stebėti, kai atsargos atlaisvinamos arba nepaskirstomos. Pagal jį bus atnaujinta būsena.
  • Ji paskirsto vietą programų rutinai.
  • Taip pat įsitikinkite, kad šios programos netrukdo viena kitai.
  • Padeda apsaugoti skirtingus procesus vienas nuo kito
  • Programos į atmintį dedamos taip, kad visa atmintis būtų panaudota.

Atminties valdymo būdai

Štai keletas svarbiausių atminties valdymo būdų:

Vienkartinis gretimas paskirstymas

Tai lengviausia atminties valdymo technika. Taikant šį metodą, vienai programai galima naudoti visų tipų kompiuterio atmintį, išskyrus nedidelę dalį, skirtą OS. Pavyzdžiui, „MS-DOS“ operacinė sistema tokiu būdu paskirsto atmintį. Įterptoji sistema taip pat veikia vienoje programoje.

Padalytas paskirstymas

Ji dalija pirminę atmintį į įvairias atminties skaidinius, kurie dažniausiai yra gretimos atminties sritys. Kiekviename skaidinyje saugoma visa informacija apie konkrečią užduotį ar darbą. Šis metodas apima skirsnio paskirstymą darbui, kai jis prasideda, ir nepaskirsto, kai baigiasi.

Skirstomos atminties valdymas

Šis metodas padalija pagrindinę kompiuterio atmintį į fiksuoto dydžio vienetus, vadinamus puslapio rėmeliais. Šis aparatinės atminties valdymo blokas puslapius susieja su rėmeliais, kurie turėtų būti priskirti puslapiams.

Segmentuotas atminties valdymas

Segmentuota atmintis yra vienintelis atminties valdymo metodas, kuris vartotojo programai nepateikia linijinės ir gretimos adresų erdvės.

Segmentams reikalinga aparatinė pagalba segmentų lentelės pavidalu. Jame yra fizinis skyriaus adresas atmintyje, dydis ir kiti duomenys, pvz., Prieigos apsaugos bitai ir būsena.

Kas yra apsikeitimas?

Keitimas yra metodas, kai procesas turėtų būti laikinai pakeistas iš pagrindinės atminties į pagrindinę atmintinę. Vėliau jis bus grąžintas į atmintį tęsti vykdymą.

Atsarginė saugykla yra kietasis diskas ar kitas papildomas saugojimo įrenginys, kuris turėtų būti pakankamai didelis, kad tilptų visų atminties vaizdų kopijas visiems vartotojams. Jis taip pat gali pasiūlyti tiesioginę prieigą prie šių atminties vaizdų.

Keitimo nauda

Čia yra pagrindiniai keitimo privalumai / privalumai:

  • Jis siūlo aukštesnį daugiaprogramavimo laipsnį.
  • Leidžia dinamiškai perkelti. Pvz., Jei naudojamas adresų susiejimas vykdymo metu, procesai gali būti keičiami skirtingose ​​vietose. Kitu atveju, jei bus sudaromi ir įkeliami laiko susiejimai, procesai turėtų būti perkelti į tą pačią vietą.
  • Tai padeda geriau panaudoti atmintį.
  • Mažiausias procesoriaus laiko sugaišimas baigus darbą, kad jį būtų galima lengvai pritaikyti prioritetiniu planavimo metodu, siekiant pagerinti jo našumą.

Kas yra atminties paskirstymas?

Atminties paskirstymas yra procesas, kurio metu kompiuterinėms programoms priskiriama atmintis arba vieta.

Čia pagrindinė atmintis yra padalinta į dviejų tipų pertvaras

  1. Mažai atminties - operacinė sistema yra šio tipo atmintyje.
  2. Didelė atmintis - vartotojo procesai laikomi didelėje atmintyje.

Padalijimo paskirstymas

Atmintis yra padalinta į skirtingus blokus arba skaidinius. Kiekvienas procesas paskirstomas pagal reikalavimą. Pertvarų paskirstymas yra idealus būdas išvengti vidinio susiskaidymo.

Toliau pateikiamos įvairios skaidinių paskirstymo schemos:

  • „First Fit“ : tokio tipo tinkle skiriamas skaidinys, kuris yra pirmasis pakankamas blokas nuo pagrindinės atminties pradžios.
  • Geriausias tinkamumas: Jis paskirsto procesą skaidiniui, kuris yra pirmasis mažiausias skaidinys tarp nemokamų skaidinių.
  • Blogiausias tinkamumas: jis paskirsto procesą skaidiniui, kuris yra didžiausias pakankamai laisvai prieinamas skaidinys pagrindinėje atmintyje.
  • „Next Fit“: jis dažniausiai panašus į pirmąjį „Fit“, tačiau šis „Fit“ ieško pirmo pakankamo skaidinio iš paskutinio paskirstymo taško.

Kas yra puslapių ieškojimas?

Puslapių paieška yra saugojimo mechanizmas, leidžiantis OS puslapių pavidalu gauti procesus iš antrinės atminties į pagrindinę atmintį. Taikymo metodu pagrindinė atmintis yra padalinta į mažus fiksuoto dydžio fizinės atminties blokus, kurie vadinami rėmeliais. Kad maksimaliai išnaudotų pagrindinę atmintį ir būtų išvengta išorinio suskaidymo, kadro dydis turėtų būti toks pats kaip puslapio dydžio. Puslapių paieška naudojama greitesnei prieigai prie duomenų ir tai yra logiška sąvoka.

Kas yra suskaidymas?

Procesai yra saugomi ir pašalinami iš atminties, todėl atsiranda laisvos atminties vietos, kurios yra per mažai, kad galėtų naudoti kiti procesai.

Kartais tie procesai, kurių negalima priskirti atminties blokams, nes jo mažas dydis ir atminties blokai visada lieka nenaudojami, vadinamas fragmentacija. Šio tipo problemos įvyksta dinaminės atminties paskirstymo sistemos metu, kai laisvų blokų yra gana mažai, todėl ji negali įvykdyti jokių prašymų.

Yra du suskaidymo metodų tipai:

  1. Išorinis susiskaldymas
  2. Vidinis susiskaldymas
  • Išorinį suskaidymą galima sumažinti pertvarkant atminties turinį, kad visa laisva atmintis būtų sujungta į vieną bloką.
  • Vidinį susiskaldymą galima sumažinti priskiriant mažiausią skaidinį, kuris vis tiek yra pakankamai geras, kad būtų galima atlikti visą procesą.

Kas yra segmentavimas?

Segmentavimo metodas veikia beveik panašiai kaip puslapių ieškojimas. Vienintelis skirtumas tarp jų yra tas, kad segmentai yra kintamo ilgio, tuo tarpu, kai ieškomas metodas, puslapiai visada yra fiksuoto dydžio.

Programos segmente yra pagrindinė programos funkcija, duomenų struktūros, naudingumo funkcijos ir kt. OS palaiko segmentų žemėlapių lentelę visiems procesams. Jame taip pat yra laisvų atminties blokų sąrašas kartu su dydžiu, segmentų numeriais ir atminties vietomis pagrindinėje atmintyje arba virtualioje atmintyje.

Kas yra dinaminis įkėlimas?

Dinaminis pakrovimas yra įprasta programa, kuri nėra įkeliama tol, kol programa jos nepakviečia. Diske visos tvarkos turėtų būti perkeltos įkrovos formatu. Pagrindinė programa bus įkelta į atmintį ir bus vykdoma. Dinaminis pakrovimas taip pat leidžia geriau išnaudoti atminties vietą.

Kas yra dinaminis susiejimas?

Susiejimas yra metodas, padedantis OS rinkti ir sujungti įvairius kodo ir duomenų modulius į vieną vykdomąjį failą. Failą galima įkelti į atmintį ir vykdyti. OS gali susieti sistemos lygio bibliotekas į programą, kuri sujungia bibliotekas įkelties metu. Taikant dinaminio susiejimo metodą, bibliotekos susiejamos vykdymo metu, todėl programos kodo dydis gali likti nedidelis.

Skirtumas tarp statinės ir dinaminės apkrovos

Statinė apkrova Dinaminis pakrovimas
Statinė apkrova naudojama, kai norite įkelti savo programą statiškai. Tada kompiliavimo metu visa programa bus susieta ir sukompiliuota nereikalaujant jokio išorinio modulio ar priklausomybės nuo programos. Dinamiškai įkeltoje programoje bus pateiktos nuorodos, o jos bus įkeltos vykdymo metu.
Pakrovimo metu visa programa įkeliama į atmintį ir pradedama vykdyti. Bibliotekos tvarkaraščiai į atmintį įkeliami tik tada, kai jų reikia programoje.

Skirtumas tarp statinio ir dinaminio susiejimo

Čia yra pagrindinis skirtumas tarp statinio ir dinaminio susiejimo:

Statinis susiejimas Dinaminis susiejimas
Statinis susiejimas naudojamas sujungti visus kitus modulius, kurių reikalauja programa, į vieną vykdomąjį kodą. Tai padeda OS išvengti bet kokios priklausomybės vykdymo metu. Kai naudojamas dinaminis susiejimas, nereikia susieti tikrojo modulio ar bibliotekos su programa. Vietoj to naudokite nuorodą į dinaminį modulį, pateiktą kompiliavimo ir susiejimo metu.

Santrauka:

  • Atminties valdymas yra kompiuterio atminties valdymo ir koordinavimo procesas, blokams, vadinamiems blokais, priskiriant įvairias veikiančias programas, siekiant optimizuoti bendrą sistemos našumą.
  • Tai leidžia jums patikrinti, kiek atminties reikia skirti procesams, kurie nusprendžia, kuris procesorius turėtų gauti atmintį.
  • Vieno greta esančio paskirstymo metu visų tipų kompiuterio atmintis, išskyrus nedidelę dalį, skirtą OS, yra prieinama vienai programai
  • Pasiskirstymo paskirstymo metodas pirminę atmintį padalija į įvairias atminties skaidinius, kurie dažniausiai yra gretimos atminties sritys
  • Pages Memory Management metodas pagrindinę kompiuterio atmintį padalija į fiksuoto dydžio vienetus, vadinamus puslapio rėmeliais
  • Segmentuota atmintis yra vienintelis atminties valdymo metodas, kuris vartotojo programai nepateikia linijinės ir gretimos adresų erdvės.
  • Keitimas yra metodas, kai procesas turėtų būti laikinai pakeistas iš pagrindinės atminties į pagrindinę atmintinę. Vėliau jis bus grąžintas į atmintį tęsti vykdymą.
  • Atminties paskirstymas yra procesas, kurio metu kompiuterinėms programoms priskiriama atmintis arba vieta.
  • Puslapių paieška yra saugojimo mechanizmas, leidžiantis OS puslapių pavidalu gauti procesus iš antrinės atminties į pagrindinę atmintį.
  • Suskaidymas reiškia disko būklę, kai failai yra suskirstyti į dalis, išsibarsčiusias aplink diską.
  • Segmentavimo metodas veikia beveik panašiai kaip puslapių ieškojimas. Vienintelis skirtumas tarp jų yra tas, kad segmentai yra kintamo ilgio, tuo tarpu, kai ieškomas metodas, puslapiai visada yra fiksuoto dydžio.
  • Dinaminis pakrovimas yra įprasta programa, kuri nėra įkeliama tol, kol programa jos nepakviečia.
  • Susiejimas yra metodas, padedantis OS rinkti ir sujungti įvairius kodo ir duomenų modulius į vieną vykdomąjį failą.

Įdomios straipsniai...