Mis on mäluhaldus?
Mäluhaldus on arvutimälu juhtimise ja koordineerimise protsess, mis määrab plokkidena tuntud osad erinevatele töötavatele programmidele, et süsteemi üldist jõudlust optimeerida.
See on esmast mälu haldava operatsioonisüsteemi kõige olulisem funktsioon. See aitab protsessidel põhi- ja täiteketta vahel edasi-tagasi liikuda. See aitab operatsioonisüsteemil jälgida kõiki mälupunkte, olenemata sellest, kas see on mõnele protsessile eraldatud või jääb see vabaks.
Selles operatsioonisüsteemi õpetuses saate teada:
- Mis on mäluhaldus?
- Miks kasutada mäluhaldust?
- Mäluhalduse tehnikad
- Mis on vahetamine?
- Mis on mälu eraldamine?
- Mis on lehitsemine?
- Mis on killustamismeetod?
- Mis on segmentimine?
- Mis on dünaamiline laadimine?
- Mis on dünaamiline linkimine?
- Staatilise ja dünaamilise laadimise erinevus
- Staatilise ja dünaamilise linkimise erinevus
Miks kasutada mäluhaldust?
Siin on mäluhalduse kasutamise põhjused:
- See võimaldab teil kontrollida, kui palju mälu tuleb eraldada protsessidele, mis otsustavad, milline protsessor millal mälu peaks saama.
- Rajad alati, kui varud vabanevad või jaotamata. Vastavalt sellele värskendab olekut.
- See eraldab ruumi rakenduste rutiinidele.
- Samuti kontrollitakse, et need rakendused üksteist ei segaks.
- Aitab kaitsta erinevaid protsesse üksteise eest
- See paigutab programmid mällu nii, et mälu kasutatakse täies ulatuses.
Mäluhalduse tehnikad
Siin on mõned kõige olulisemad mäluhalduse tehnikad:
Üks külgnev eraldamine
See on lihtsaim mäluhaldustehnika. Selles meetodis on ühe rakenduse jaoks saadaval igat tüüpi arvuti mälu, välja arvatud väike osa, mis on reserveeritud operatsioonisüsteemile. Näiteks eraldab MS-DOS-i operatsioonisüsteem sel viisil mälu. Manustatud süsteem töötab ka ühe rakendusega.
Jaotatud jaotamine
See jagab primaarmälu erinevateks mälupartitsioonideks, mis on enamasti külgnevad mälupiirkonnad. Igas sektsioonis salvestatakse kogu teave konkreetse ülesande või töö jaoks. See meetod seisneb partitsiooni eraldamises tööl, kui see algab, ja eraldatakse töö lõppedes.
Paigutatud mäluhaldus
See meetod jagab arvuti põhimälu kindla suurusega üksusteks, mida nimetatakse leheraamideks. See riistvara mäluhaldusüksus kaardistab lehed kaadritesse, mis tuleks eraldada lehepõhiselt.
Segmenteeritud mäluhaldus
Segmenteeritud mälu on ainus mäluhaldusmeetod, mis ei anna kasutaja programmile lineaarset ja külgnevat aadressiruumi.
Segmendid vajavad riistvara tuge segmentide tabeli kujul. See sisaldab mälus oleva jaotise füüsilist aadressi, suurust ja muid andmeid, näiteks juurdepääsukaitse bitte ja olekut.
Mis on vahetamine?
Vahetamine on meetod, kus protsess tuleks ajutiselt vahetada põhimälust tugipoodi. See tuuakse hiljem uuesti mällu jätkamiseks.
Varunduspood on kõvaketas või mõni teine teisese salvestusseade, mis peaks olema piisavalt suur, et mahutada kõigi mälupiltide koopiad kõigile kasutajatele. Samuti on see võimeline pakkuma nendele mälupiltidele otsest juurdepääsu.
Vahetuse eelised
Siin on vahetamise peamised eelised / plussid:
- See pakub kõrgemat mitmeprogrammeerimist.
- Lubab dünaamilise ümberpaigutamise. Näiteks kui kasutatakse täitmise ajal aadressi sidumist, saab protsesse erinevates kohtades vahetada. Muidu kompileerimise ja laadimisaja sidumiste korral tuleks protsessid viia samasse kohta.
- See aitab mälu paremini ära kasutada.
- Protsessori aja minimaalne raiskamine lõpetamisel, et seda saaks tulemuslikkuse parandamiseks hõlpsasti kasutada prioriteedipõhisel ajastamismeetodil.
Mis on mälu eraldamine?
Mälu eraldamine on protsess, mille käigus arvutiprogrammidele määratakse mälu või ruum.
Siin jaguneb põhimälu kahte tüüpi vaheseinteks
- Mälu on vähe - operatsioonisüsteem asub seda tüüpi mälus.
- Kõrge mälu - kasutajaprotsesse hoitakse suures mälus.
Jaotise jaotamine
Mälu on jagatud erinevateks plokkideks või sektsioonideks. Iga protsess on jaotatud vastavalt nõudele. Partitsioonide eraldamine on ideaalne meetod sisemise killustatuse vältimiseks.
Allpool on toodud erinevad jaotiste jaotamise skeemid:
- First Fit : Selle tüübi korral jaotatakse partitsioon, mis on esimene piisav plokk põhimälu algusest.
- Parim sobivus: see eraldab protsessi partitsioonile, mis on tasuta partitsioonide seas esimene väikseim partitsioon.
- Halvim sobivus: see eraldab protsessi partitsioonile, mis on põhimälus piisavalt suur vabalt saadaolev partitsioon.
- Next Fit: see on enamasti sarnane esimese Fitiga, kuid see Fit otsib viimasest eralduspunktist esimest piisavat sektsiooni.
Mis on lehitsemine?
Lehekülgede otsimine on salvestusmehhanism, mis võimaldab operatsioonisüsteemil lehtede kujul protsessoreid sekundaarsest mälust põhimällu tuua. Paging-meetodil jagatakse põhimälu väikesteks fikseeritud suurusega füüsilise mälu plokkideks, mida nimetatakse kaadriteks. Põhimälu maksimaalseks kasutamiseks ja välise killustatuse vältimiseks tuleks kaadri suurus hoida lehe omaga sama. Otsinguid kasutatakse andmetele kiiremaks juurdepääsuks ja see on loogiline mõiste.
Mis on killustatus?
Protsessid salvestatakse ja eemaldatakse mälust, mis loob vaba mäluruumi, mis on teiste protsesside jaoks liiga väike.
Mõnikord nimetatakse seda fragmentideks neid protsesse, mida ei saa mäluplokkidele eraldada, kuna selle väikesed mõõtmed ja mäluplokid jäävad alati kasutamata. Seda tüüpi probleem juhtub dünaamilise mälu jaotussüsteemi ajal, kui vabad plokid on üsna väikesed, nii et see ei suuda ühtegi taotlust täita.
Killustamismeetodeid on kahte tüüpi:
- Väline killustatus
- Sisemine killustatus
- Välist killustumist saab vähendada, kui korraldada mälu sisu ümber, et kogu vaba mälu paigutada ühte plokki.
- Sisemist killustatust saab vähendada, määrates väikseima partitsiooni, mis on siiski piisavalt hea kogu protsessi läbiviimiseks.
Mis on segmentimine?
Segmenteerimismeetod töötab peaaegu sarnaselt leheotsinguga. Ainus erinevus nende kahe vahel on see, et segmendid on erineva pikkusega, samas kui isikuotsingumenetluses on lehed alati kindla suurusega.
Programmisegment sisaldab programmi põhifunktsiooni, andmestruktuure, utiliidi funktsioone jne. Operatsioonisüsteem hoiab kõigi protsesside jaoks segmendikaardi tabelit. See sisaldab ka vabade mäluplokkide loendit koos selle suuruse, segmentide numbritega ja mälu asukohtadega põhimälus või virtuaalses mälus.
Mis on dünaamiline laadimine?
Dünaamiline laadimine on programmi rutiin, mida laaditakse alles siis, kui programm seda kutsub. Kõik rutiinid peaksid olema kettal ümberpaigutatava laadimise vormingus. Põhiprogramm laaditakse mällu ja käivitatakse. Dünaamiline laadimine tagab ka parema mäluruumi kasutamise.
Mis on dünaamiline linkimine?
Linkimine on meetod, mis aitab OS-il koguda ja ühendada mitmesuguseid koodi- ja andmemooduleid ühte käivitatavasse faili. Faili saab mällu laadida ja käivitada. OS saab süsteemitaseme teegid linkida programmiks, mis ühendab teegid laadimise ajal. Dünaamilise linkimise meetodis lingitakse teegid täitmise ajal, nii et programmi koodi suurus võib jääda väikeseks.
Staatilise ja dünaamilise laadimise erinevus
Staatiline laadimine | Dünaamiline laadimine |
Staatilist laadimist kasutatakse siis, kui soovite oma programmi staatiliselt laadida. Seejärel lingitakse ja kompileeritakse kompileerimise ajal kogu programm, ilma et oleks vaja välist moodulit või sõltuvust programmist. | Dünaamiliselt laaditud programmis antakse viited ja laadimine toimub käivitamise ajal. |
Laadimise ajal laaditakse kogu programm mällu ja alustatakse selle käivitamist. | Teegi rutiin laaditakse mällu ainult siis, kui see on programmis vajalik. |
Staatilise ja dünaamilise linkimise erinevus
Siin on peamine erinevus staatilise ja dünaamilise linkimise vahel:
Staatiline linkimine | Dünaamiline linkimine |
Staatilist linkimist kasutatakse kõigi teiste programmiga nõutavate moodulite ühendamiseks üheks käivitatavaks koodiks. See aitab operatsioonisüsteemil vältida mis tahes sõltuvust käitusest. | Dünaamilise linkimise kasutamisel ei pea see tegelikku moodulit ega teeki programmiga linkima. Selle asemel kasutage viidet dünaamilisele moodulile, mis oli koostamise ja linkimise ajal. |
Kokkuvõte:
- Mäluhaldus on protsess, millega kontrollitakse ja koordineeritakse arvutimälu, määrates plokkideks nimetatud osi erinevatele töötavatele programmidele, et optimeerida süsteemi üldist jõudlust.
- See võimaldab teil kontrollida, kui palju mälu tuleb eraldada protsessidele, mis otsustavad, milline protsessor millal mälu peaks saama.
- Ühtse külgneva jaotuse korral on ühe rakenduse jaoks saadaval igat tüüpi arvuti mälu, välja arvatud väike osa, mis on reserveeritud operatsioonisüsteemile
- Partitioned Allocation meetod jagab primaarmälu erinevateks mälupartitsioonideks, mis on enamasti külgnevad mälupiirkonnad
- Paigutatud mäluhalduse meetod jagab arvuti põhimälu kindla suurusega üksusteks, mida nimetatakse lehekaadriteks
- Segmenteeritud mälu on ainus mäluhaldusmeetod, mis ei anna kasutaja programmile lineaarset ja külgnevat aadressiruumi.
- Vahetamine on meetod, kus protsess tuleks ajutiselt vahetada põhimälust tugipoodi. See tuuakse hiljem uuesti mällu jätkamiseks.
- Mälu eraldamine on protsess, mille käigus arvutiprogrammidele määratakse mälu või ruum.
- Lehekülgede otsimine on salvestusmehhanism, mis võimaldab operatsioonisüsteemil lehtede kujul protsessoreid sekundaarsest mälust põhimällu tuua.
- Killustatus viitab ketta seisundile, kus failid jagatakse ketta ümber laiali laiali.
- Segmenteerimismeetod töötab peaaegu sarnaselt leheotsinguga. Ainus erinevus nende kahe vahel on see, et segmendid on erineva pikkusega, samas kui isikuotsingumenetluses on lehed alati kindla suurusega.
- Dünaamiline laadimine on programmi rutiin, mida laaditakse alles siis, kui programm seda kutsub.
- Linkimine on meetod, mis aitab OS-il koguda ja ühendada mitmesuguseid koodi- ja andmemooduleid ühte käivitatavasse faili.