Hvað er minnisstjórnun?

Minnisstjórnun er form auðlindastjórnunar, sem vísar sérstaklega til stjórnun tölvuminni, eða vinnsluminni. Kjarni málsins er að stjórna minni úthlutunarkerfisins þegar þess er þörf og losun þess þegar þess er ekki lengur þörf. Í nútíma tölvum felur minnisstjórnun einnig í sér að stjórna sýndarvistunarkerfi fyrir hvert ferli sem er í gangi. Það fer eftir forritunarmálinu, minnisstjórnun getur verið handvirk, sjálfvirk eða bæði.

Hvað gerir minnisstjórnun?

Sérhver tölva hefur takmarkað framboð af minni sem þarf að deila með öllum hlaupandi ferlum. Minnisstjórnun tryggir að þessi takmarkaða auðlind losni þegar þess er ekki lengur þörf. Mörg eldri tungumál, eins og C, leggja áherslu á handvirka minnisstjórnun. Þetta þýðir að verktaki forritsins þarf að úthluta auðlindum sérstaklega fyrir gildi sem þarf að geyma í minni. Þegar þessar breytur eru ekki lengur nauðsynlegar þarf verktaki einnig að losa minnið aftur.

Einn af öðrum þáttum handvirkrar minnisstjórnunar er að þurfa að frumstilla breytur og hreinsa gögn áður en minnið er sleppt. Til dæmis, ef þú úthlutar minni til breytu, er minnisvistfangi úthlutað. Engar frekari aðgerðir eru gerðar, þannig að þetta minnisfang gæti innihaldið gildi frá fyrri notkun sem aldrei var hreinsað. Það að bregðast við gögnum í óinitialínu minni getur haft ófyrirsjáanlegar niðurstöður, sem geta falið í sér sorpviðbrögð og forritahrun. Jafnvel ef þú reynir að setja gögn í minnið, ef þú fyllir ekki allt plássið sem úthlutað er til breytunnar, getur plássið sem þú notaðir ekki innihaldið ó frumstillt gögn. Til að forðast þetta er mikilvægt að frumstilla breytur þegar minni er stjórnað handvirkt.

Ábending: Frumstilling breytu er ferlið við að stilla breytu á þekkt upphafsgildi, venjulega að hreinsa hana.

Nútímalegri tungumál, eins og Python, hafa tilhneigingu til að nota sjálfvirka minnisstjórnun. Þetta keyrir sjálfkrafa alla frumstillingu og sorphirðuferli í bakgrunni. Þetta dregur úr flókinni þróun, hins vegar getur það haft áhrif á frammistöðu nokkuð og gefur örlítið minni beina stjórn til þróunaraðilans.

Vandamál með minnisstjórnun

Það eru nokkrar leiðir til að klúðra minnisstjórnun getur valdið hugsanlega alvarlegum vandamálum. Notkun óskilgreinds minnis getur til dæmis leitt til óskilgreindrar hegðunar. Aftur á móti getur það hugsanlega lekið gögnum í næsta forrit sem reynir að nota þann hluta af minni að hreinsa ekki minnið áður en það er sleppt því.

Þegar ekki er lengur þörf á minnisstað ætti að losa hana. Þetta gerir tölvunni kleift að endurúthluta henni í annan hugbúnað eftir þörfum. Ef þú hreinsar ekki upp óþarfa minni eftir sjálfan þig er talað um minnisleka. Þetta er ekki endilega mikið mál í stuttum forritum, þar sem þegar ferlinu lýkur mun minnið losna. En fyrir langvarandi hugbúnað getur þetta endað með því að neyta meira og meira kerfisminni, þar til tölvan klárast, sem venjulega leiðir til þess að hugbúnaðurinn hrynur.

Það er mikilvægt að tryggja að gögnin sem þú ert að geyma í breytu passi í minni sem er úthlutað til breytunnar. Ef þú ert með breytu sem er hönnuð til að halda þremur stöfum og reynir að skrifa tuttugu stafi í hana, þá er þetta biðminni. Yfirflæði biðminni getur haft áhrif á aðliggjandi minnisföng sem veldur skemmdum á minni.

Minnistjórnunarvandamál leiða til óviljandi hegðunar. Þetta er fyrst og fremst í formi hruns eða villna. Í verstu tilfellum getur það hins vegar leitt til varnarleysis við keyrslu kóða. Ef óviljandi hegðun er fyrirsjáanleg gæti verið hægt að leggja fram ákveðið inntak sem leiðir til þess að forritið keyrir skaðlegan kóða. Sem slík er góð minnisstjórnun mikilvæg við að þróa öruggan kóða.

Sýndarminni

Einn af duldum þáttum minnisstjórnunar er notkun sýndarminni. Sýndarminni er stjórnað af stýrikerfinu frekar en forritinu sem þýðir að verktaki getur ekki raunverulega haft áhrif á það. Í stað þess að vera úthlutað raunverulegum líkamlegum minnisföngum, er hverju ferli úthlutað sínu einstaka minnisfangarými. Stýrikerfið breytir síðan sýndarvistfanginu í líkamlegt heimilisfang hvenær sem það þarf að fá aðgang að minni.

Einn af helstu kostum þess að nota sýndarminni er að það skiptir vistfangarými minni á milli ferla. Þetta kemur í veg fyrir að eitt ferli geti lesið minni annars. Þó að það sé almennt ekki vandamál fyrir lögmætan hugbúnað, hjálpar þetta til við að vernda gegn spilliforritum og fantur hugbúnaði sem sýkir eða steli gögnum frá öðrum forritum. Það hjálpar einnig til við að koma í veg fyrir að yfirflæði biðminni hafi áhrif á mismunandi ferla.

Sem auka ávinningur, með því að nota sýndarminnisföng gerir stýrikerfinu kleift að stilla líkamlega staðsetningu gagna sem eru geymd eftir þörfum. Þetta er venjulega notað til að flytja sjaldan notað minni yfir á síðu eða skipta um skrá á geymsludrifi þegar minnisauðlindir eru álagðar. Þetta hefur áhrif á frammistöðu þegar þörf er á þessum sýndarminnisföngum, þar sem geymsla er hægari en raunverulegt vinnsluminni, en það kemur einnig í veg fyrir kerfis- eða forritshrun, sem er almennt æskilegt.

Niðurstaða

Minnisstjórnun er ferlið við að stjórna takmörkuðu auðlindinni í vinnsluminni kerfisins. Í hugbúnaði er þetta nú venjulega framkvæmt sjálfkrafa, en sum forritunarmál leyfa eða krefjast handvirkrar stjórnun á minni. Röng umsjón með minni getur leitt til margs konar skemmda á minnisvandamálum og hugsanlega til varnarleysis við keyrslu kóða. Stýrikerfið framkvæmir einnig minnisstjórnun í formi sýndarvistfönga. Þetta gerir það kleift að aðgreina minni hvers ferlis, gagnlegur öryggiseiginleiki. Það gerir stýrikerfinu einnig kleift að stilla líkamlega staðsetningu gagna án þess að hafa áhrif á raunverulegt ferli.


Hvernig á að klóna harðan disk

Hvernig á að klóna harðan disk

Í nútíma stafrænni öld, þar sem gögn eru dýrmæt eign, getur klónun á harða diskinum á Windows verið mikilvægt ferli fyrir marga. Þessi alhliða handbók

Hvernig á að laga bílstjóri WUDFRd tókst ekki að hlaðast á Windows 10?

Hvernig á að laga bílstjóri WUDFRd tókst ekki að hlaðast á Windows 10?

Stendur þú frammi fyrir villuboðunum þegar þú ræsir tölvuna þína sem segir að bílstjóri WUDFRd hafi ekki hlaðast á tölvuna þína?

Hvernig á að laga NVIDIA GeForce Experience villukóða 0x0003

Hvernig á að laga NVIDIA GeForce Experience villukóða 0x0003

Ertu með NVIDIA GeForce reynslu villukóða 0x0003 á skjáborðinu þínu? Ef já, lestu bloggið til að finna hvernig á að laga þessa villu fljótt og auðveldlega.

Hvað er SMPS?

Hvað er SMPS?

Lærðu hvað er SMPS og merkingu mismunandi skilvirknieinkunna áður en þú velur SMPS fyrir tölvuna þína.

Af hverju er ekki kveikt á Chromebook

Af hverju er ekki kveikt á Chromebook

Fáðu svör við spurningunni: Af hverju kveikir ekki á Chromebook? Í þessari gagnlegu handbók fyrir Chromebook notendur.

Hvernig á að tilkynna vefveiðar til Google

Hvernig á að tilkynna vefveiðar til Google

Lærðu hvernig á að tilkynna svindlara til Google til að koma í veg fyrir að hann svindli aðra með þessari handbók.

Roomba stoppar, stingur og snýr við – laga

Roomba stoppar, stingur og snýr við – laga

Lagaðu vandamál þar sem Roomba vélmenni ryksuga þín stoppar, festist og heldur áfram að snúa sér.

Hvernig á að breyta grafíkstillingum á Steam Deck

Hvernig á að breyta grafíkstillingum á Steam Deck

Steam Deckið býður upp á öfluga og fjölhæfa leikjaupplifun innan seilingar. Hins vegar, til að hámarka leikina þína og tryggja það besta mögulega

Hvað er einangrunarbundið öryggi?

Hvað er einangrunarbundið öryggi?

Ætluðum að kafa ofan í efni sem er að verða sífellt mikilvægara í heimi netöryggis: einangrunarbundið öryggi. Þessi nálgun við

Hvernig á að nota Auto Clicker fyrir Chromebook

Hvernig á að nota Auto Clicker fyrir Chromebook

Ætluðum í dag að kafa ofan í tól sem getur gert sjálfvirkt endurtekin smellaverkefni á Chromebook þinni: Auto Clicker. Þetta tól getur sparað þér tíma og