Upravljanje memorijom u OS-u: Neprekidno, Zamjena, Fragmentacija

Sadržaj:

Anonim

Što je upravljanje memorijom?

Upravljanje memorijom postupak je upravljanja i koordiniranja računalne memorije, dodjeljivanje dijelova poznatih kao blokovi raznim pokrenutim programima radi optimizacije ukupnih performansi sustava.

To je najvažnija funkcija operativnog sustava koji upravlja primarnom memorijom. Pomaže procesima da se kreću naprijed i natrag između glavne memorije i izvršnog diska. Pomaže OS-u da prati svako mjesto u memoriji, bez obzira na to je li dodijeljeno nekom procesu ili ostaje slobodno.

U ovom vodiču za operativni sustav naučit ćete:

  • Što je upravljanje memorijom?
  • Zašto koristiti upravljanje memorijom?
  • Tehnike upravljanja memorijom
  • Što je razmjena?
  • Što je dodjela memorije?
  • Što je straničenje?
  • Što je metoda fragmentacije?
  • Što je segmentacija?
  • Što je dinamičko učitavanje?
  • Što je dinamičko povezivanje?
  • Razlika između statičkog i dinamičkog opterećenja
  • Razlika između statičkog i dinamičkog povezivanja

Zašto koristiti upravljanje memorijom?

Evo razloga za korištenje upravljanja memorijom:

  • Omogućuje vam provjeru koliko memorije treba dodijeliti procesima koji odlučuju koji će procesor u kojem trenutku dobiti memoriju.
  • Prati svaki put kad se inventar oslobodi ili ne dodijeli. Prema njemu će ažurirati status.
  • Dodjeljuje prostor aplikacijskim rutinama.
  • Također osigurava da ove aplikacije ne ometaju jedna drugu.
  • Pomaže u zaštiti različitih procesa jedni od drugih
  • Programe smješta u memoriju tako da se memorija koristi u cijelosti.

Tehnike upravljanja memorijom

Evo nekoliko najvažnijih tehnika upravljanja memorijom:

Jedna susjedna dodjela

To je najlakša tehnika upravljanja memorijom. U ovoj metodi, sve vrste računalne memorije, osim malog dijela koji je rezerviran za OS, dostupne su za jednu aplikaciju. Na primjer, MS-DOS operativni sustav na taj način dodjeljuje memoriju. Ugrađeni sustav također radi na jednoj aplikaciji.

Dijeljena raspodjela

Primarnu memoriju dijeli na različite memorijske particije, koja su uglavnom susjedna područja memorije. Svaka particija pohranjuje sve informacije za određeni zadatak ili posao. Ova metoda sastoji se od dodjeljivanja particije poslu kada započne i neraspoređivanju kada završi.

Upravljanje stranom memorijom

Ova metoda dijeli glavnu memoriju računala na jedinice fiksne veličine poznate kao okviri stranica. Ova hardverska jedinica za upravljanje memorijom preslikava stranice u okvire koji bi se trebali dodijeliti na osnovi stranice.

Segmentirano upravljanje memorijom

Segmentirana memorija jedina je metoda upravljanja memorijom koja ne pruža korisničkom programu linearni i susjedni adresni prostor.

Segmenti trebaju hardversku podršku u obliku tablice segmenata. Sadrži fizičku adresu odjeljka u memoriji, veličinu i ostale podatke poput bitova i statusa zaštite pristupa.

Što je razmjena?

Zamjena je metoda u kojoj postupak treba privremeno zamijeniti iz glavne memorije u spremište. Kasnije će se vratiti u memoriju radi nastavka izvršenja.

Prostor za pohranu podataka je tvrdi disk ili neki drugi sekundarni uređaj za pohranu koji bi trebao biti dovoljno velik da primi kopije svih memorijskih slika za sve korisnike. Također je u mogućnosti ponuditi izravan pristup tim memorijskim slikama.

Prednosti zamjene

Evo glavnih prednosti / prednosti zamjene:

  • Nudi veći stupanj multiprogramiranja.
  • Omogućuje dinamičko premještanje. Na primjer, ako se koristi vezivanje adrese u vrijeme izvršenja, tada se procesi mogu zamijeniti na različitim mjestima. Inače, u slučaju vezivanja vremena kompajliranja i učitavanja, procese treba premjestiti na isto mjesto.
  • Pomaže u boljem iskorištavanju memorije.
  • Minimalno gubljenje CPU vremena po završetku, tako da se lako može primijeniti na metodu planiranja zasnovanu na prioritetu kako bi se poboljšale njegove performanse.

Što je dodjela memorije?

Dodjela memorije postupak je kojim se računalnim programima dodjeljuje memorija ili prostor.

Ovdje je glavna memorija podijeljena na dvije vrste particija

  1. Nema dovoljno memorije - operativni sustav nalazi se u ovoj vrsti memorije.
  2. Velika memorija - Korisnički procesi zadržavaju se u velikoj memoriji.

Dodjela particija

Memorija je podijeljena u različite blokove ili particije. Svaki se postupak dodjeljuje prema zahtjevu. Dodjela particija idealna je metoda za izbjegavanje unutarnje fragmentacije.

Ispod su razne sheme raspodjele particija:

  • Prvo uklapanje: U ovom tipu uklapanja dodjeljuje se particija, što je prvi dovoljan blok s početka glavne memorije.
  • Najbolje uklapanje: Dodjeljuje postupak particiji koja je prva najmanja particija među besplatnim particijama.
  • Najgore uklapa: Dodijeljuje postupak particiji, koja je najveća dovoljno dostupna particija u glavnoj memoriji.
  • Sljedeće uklapanje: Uglavnom je slično prvom uklapanju, ali ovaj uklapač traži prvu dovoljnu particiju sa zadnje točke dodjele.

Što je straničenje?

Paging je mehanizam za pohranu koji omogućuje OS-u da dohvaća procese iz sekundarne pohrane u glavnu memoriju u obliku stranica. U metodi Paging glavna je memorija podijeljena na male blokove fizičke memorije fiksne veličine, koji se nazivaju okviri. Veličina okvira treba biti ista kao i stranica kako bi se maksimalno iskoristila glavna memorija i kako bi se izbjegla vanjska fragmentacija. Paging se koristi za brži pristup podacima i logičan je koncept.

Što je fragmentacija?

Procesi se pohranjuju i uklanjaju iz memorije, što stvara slobodan memorijski prostor, koji je premali za korištenje drugim procesima.

Nakon što se ponekad taj proces koji se ne može dodijeliti memorijskim blokovima, jer njegova mala veličina i memorijski blokovi uvijek ostaju neiskorišteni, naziva se fragmentacijom. Ova vrsta problema događa se tijekom dinamičkog sustava dodjele memorije kada su slobodni blokovi prilično mali, pa nije u stanju ispuniti niti jedan zahtjev.

Dvije su vrste fragmentacijskih metoda:

  1. Vanjska fragmentacija
  2. Unutarnja fragmentacija
  • Vanjska fragmentacija može se smanjiti preslagivanjem sadržaja memorije tako da se sva slobodna memorija stavi u jedan blok.
  • Unutarnja fragmentacija može se smanjiti dodjeljivanjem najmanje particije, koja je još uvijek dovoljno dobra da nosi cijeli postupak.

Što je segmentacija?

Metoda segmentacije djeluje gotovo slično straničenju. Jedina razlika između njih dvije je u tome što su segmenti promjenjive duljine, dok su u metodi straničenja stranice uvijek fiksne veličine.

Programski segment uključuje glavnu funkciju programa, strukture podataka, korisne funkcije itd. OS održava tablicu mapa segmenata za sve procese. Također uključuje popis slobodnih memorijskih blokova, zajedno s veličinom, brojevima segmenata i memorijskim mjestima u glavnoj ili virtualnoj memoriji.

Što je dinamičko učitavanje?

Dinamičko učitavanje je rutina programa koji se ne učitava dok ga program ne pozove. Sve rutine trebaju biti na disku u formatu učitavanja koji se može premjestiti. Glavni program će se učitati u memoriju i izvršit će se. Dinamičko učitavanje također omogućuje bolje korištenje memorijskog prostora.

Što je dinamičko povezivanje?

Povezivanje je metoda koja pomaže OS-u da prikuplja i spaja različite module koda i podataka u jednu izvršnu datoteku. Datoteka se može učitati u memoriju i izvršiti. OS može povezati knjižnice na razini sustava u program koji kombinira knjižnice tijekom učitavanja. U metodi dinamičkog povezivanja, knjižnice su povezane u vrijeme izvršenja, tako da veličina programskog koda može ostati mala.

Razlika između statičkog i dinamičkog opterećenja

Statičko učitavanje Dinamičko učitavanje
Statičko učitavanje koristi se kada želite statički učitati svoj program. Tada će se u vrijeme kompilacije cijeli program povezati i sastaviti bez potrebe za bilo kakvim vanjskim modulom ili programskom ovisnošću. U dinamički učitanom programu pružit će se reference i učitavanje će se izvršiti u vrijeme izvršenja.
U vrijeme učitavanja cijeli se program učitava u memoriju i započinje njegovo izvršavanje. Rutine knjižnice učitavaju se u memoriju samo kada su potrebne u programu.

Razlika između statičkog i dinamičkog povezivanja

Evo glavne razlike između statičkog i dinamičkog povezivanja:

Statično povezivanje Dinamičko povezivanje
Statičko povezivanje koristi se za kombiniranje svih ostalih modula koji su potrebni programu u jedan izvršni kod. To pomaže OS-u spriječiti bilo kakvu ovisnost o runtu. Kada se koristi dinamičko povezivanje, ne treba povezati stvarni modul ili knjižnicu s programom. Umjesto njega koristite referencu na dinamički modul osiguran u vrijeme sastavljanja i povezivanja.

Sažetak:

  • Upravljanje memorijom postupak je upravljanja i koordiniranja računalne memorije, dodjeljivanje dijelova koji se zovu blokovi raznim pokrenutim programima radi optimizacije ukupnih performansi sustava.
  • Omogućuje vam provjeru koliko memorije treba dodijeliti procesima koji odlučuju koji će procesor u kojem trenutku dobiti memoriju.
  • U Single Contiguous Allocation, sve vrste računalne memorije, osim malog dijela koji je rezerviran za OS, dostupne su za jednu aplikaciju
  • Metoda raspodijeljene raspodjele dijeli primarnu memoriju na različite memorijske particije, koja su uglavnom susjedna područja memorije
  • Metoda straničnog upravljanja memorijom dijeli glavnu memoriju računala na jedinice fiksne veličine poznate kao okviri stranica
  • Segmentirana memorija jedina je metoda upravljanja memorijom koja ne pruža korisničkom programu linearni i susjedni adresni prostor.
  • Zamjena je metoda u kojoj postupak treba privremeno zamijeniti iz glavne memorije u spremište. Kasnije će se vratiti u memoriju radi nastavka izvršenja.
  • Dodjela memorije postupak je kojim se računalnim programima dodjeljuje memorija ili prostor.
  • Paging je mehanizam za pohranu koji omogućuje OS-u da dohvaća procese iz sekundarne pohrane u glavnu memoriju u obliku stranica.
  • Fragmentacija se odnosi na stanje diska u kojem su datoteke podijeljene na dijelove raspršene oko diska.
  • Metoda segmentacije djeluje gotovo slično straničenju. Jedina razlika između njih dvije je u tome što su segmenti promjenjive duljine, dok su u metodi straničenja stranice uvijek fiksne veličine.
  • Dinamičko učitavanje je rutina programa koji se ne učitava dok ga program ne pozove.
  • Povezivanje je metoda koja pomaže OS-u da prikuplja i spaja različite module koda i podataka u jednu izvršnu datoteku.