logo

Upravljanje memorijom u operativnom sustavu (OS)

U ovom članku ćemo detaljno razumjeti upravljanje memorijom.

Što mislite pod upravljanjem memorijom?

Memorija je važan dio računala koji se koristi za pohranu podataka. Njegovo upravljanje je ključno za računalni sustav jer je količina glavne memorije dostupne u računalnom sustavu vrlo ograničena. U svakom trenutku, mnogi procesi se natječu za to. Štoviše, kako bi se povećala izvedba, nekoliko procesa se izvršava istovremeno. Za to moramo držati nekoliko procesa u glavnoj memoriji, pa je još važnije njima učinkovito upravljati.

Upravljanje memorijom

Uloga upravljanja memorijom

Slijede važne uloge upravljanja memorijom u računalnom sustavu:

  • Upravitelj memorije koristi se za praćenje statusa memorijskih lokacija, je li slobodna ili dodijeljena. Obraća se primarnoj memoriji pružajući apstrakcije tako da softver percipira da mu je dodijeljena velika memorija.
  • Upravitelj memorije dopušta računalima s malom količinom glavne memorije izvršavanje programa koji su veći od veličine ili količine dostupne memorije. To čini pomicanjem informacija naprijed-natrag između primarne memorije i sekundarne memorije pomoću koncepta zamjene.
  • Upravitelj memorije odgovoran je za zaštitu memorije dodijeljene svakom procesu od oštećenja drugim procesom. Ako to nije osigurano, tada sustav može pokazivati ​​nepredvidivo ponašanje.
  • Menadžeri memorije trebaju omogućiti dijeljenje memorijskog prostora između procesa. Dakle, dva programa mogu boraviti na istoj memorijskoj lokaciji iako u različito vrijeme.

Tehnike upravljanja memorijom:

Tehnike upravljanja memorijom mogu se klasificirati u sljedeće glavne kategorije:

  • Sheme upravljanja kontinuiranom memorijom
  • Sheme upravljanja nekontinuiranom memorijom
Upravljanje memorijom

Sheme upravljanja kontinuiranom memorijom:

U shemi kontinuiranog upravljanja memorijom, svaki program zauzima jedan kontinuirani blok lokacija za pohranu, tj. skup memorijskih lokacija s uzastopnim adresama.

Sheme upravljanja jednom neprekidnom memorijom:

Shema upravljanja jednostrukom kontinuiranom memorijom najjednostavnija je shema upravljanja memorijom korištena u najranijoj generaciji računalnih sustava. U ovoj shemi, glavna memorija je podijeljena u dva susjedna područja ili particije. Operativni sustavi trajno se nalaze u jednoj particiji, obično u donjoj memoriji, a korisnički proces učitava se u drugu particiju.

Prednosti jednokratnih shema upravljanja memorijom:

  • Jednostavan za implementaciju.
  • Jednostavan za upravljanje i dizajn.
  • U shemi upravljanja jednom kontinuiranom memorijom, nakon što se proces učita, dobiva puno vrijeme procesora i nijedan ga drugi procesor neće prekinuti.

Nedostaci jednokratnih shema upravljanja memorijom:

  • Gubitak memorijskog prostora zbog neiskorištene memorije jer proces vjerojatno neće iskoristiti sav raspoloživi memorijski prostor.
  • CPU ostaje neaktivan, čekajući da disk učita binarnu sliku u glavnu memoriju.
  • Ne može se izvršiti ako je program prevelik da stane u cijeli raspoloživi prostor glavne memorije.
  • Ne podržava multiprogramiranje, tj. ne može raditi s više programa istovremeno.

Višestruko particioniranje:

Pojedinačna kontinuirana shema upravljanja memorijom je neučinkovita jer ograničava računala da izvršavaju samo jedan program u isto vrijeme, što dovodi do gubitka memorijskog prostora i CPU vremena. Problem neučinkovitog korištenja CPU-a može se prevladati korištenjem multiprogramiranja koje omogućuje istovremeno izvođenje više od jednog programa. Za prebacivanje između dva procesa, operativni sustavi trebaju učitati oba procesa u glavnu memoriju. Operativni sustav treba podijeliti dostupnu glavnu memoriju na više dijelova kako bi učitao više procesa u glavnu memoriju. Stoga se više procesa može istovremeno nalaziti u glavnoj memoriji.

Sheme višestruke particije mogu biti dvije vrste:

  • Fiksno particioniranje
  • Dinamičko particioniranje

Fiksno particioniranje

Glavna memorija podijeljena je na nekoliko particija fiksne veličine u shemi upravljanja memorijom fiksne particije ili statičkom particioniranju. Ove pregrade mogu biti iste veličine ili različitih veličina. Svaka particija može sadržavati jedan proces. Broj particija određuje stupanj multiprogramiranosti, odnosno maksimalan broj procesa u memoriji. Te se particije izrađuju u trenutku generiranja sustava i nakon toga ostaju fiksne.

Prednosti shema upravljanja memorijom s fiksnim particioniranjem:

java za pauzu
  • Jednostavan za implementaciju.
  • Jednostavan za upravljanje i dizajn.

Nedostaci shema upravljanja memorijom s fiksnim particioniranjem:

  • Ova shema pati od unutarnje fragmentacije.
  • Broj particija je određen u trenutku generiranja sustava.

Dinamičko particioniranje

Dinamičko particioniranje osmišljeno je kako bi se prevladali problemi fiksne sheme particioniranja. U shemi dinamičke particije, svaki proces zauzima samo onoliko memorije koliko mu je potrebno kada se učitava za obradu. Zatraženim procesima dodjeljuje se memorija sve dok se cijela fizička memorija ne potroši ili dok preostali prostor ne bude dovoljan za održavanje zahtjevanog procesa. U ovoj shemi korištene particije su promjenjive veličine, a broj particija nije definiran u trenutku generiranja sustava.

Prednosti shema upravljanja memorijom dinamičkog particioniranja:

  • Jednostavan za implementaciju.
  • Jednostavan za upravljanje i dizajn.

Nedostaci shema upravljanja memorijom dinamičkog particioniranja:

  • Ova shema također pati od unutarnje fragmentacije.
  • Broj particija naveden je u trenutku segmentacije sustava.

Sheme upravljanja nekontinuiranom memorijom:

U shemi upravljanja nekontinuiranom memorijom, program je podijeljen u različite blokove i učitava se u različite dijelove memorije koji ne moraju nužno biti jedan uz drugi. Ova se shema može klasificirati ovisno o veličini blokova i o tome nalaze li se blokovi u glavnoj memoriji ili ne.

Što je straničenje?

Stranicanje je tehnika koja eliminira zahtjeve kontinuirane dodjele glavne memorije. Pri tome je glavna memorija podijeljena na blokove fizičke memorije fiksne veličine koji se nazivaju okviri. Veličina okvira trebala bi biti jednaka veličini stranice kako bi se povećala glavna memorija i izbjegla vanjska fragmentacija.

Prednosti straničenja:

  • Stranice smanjuju vanjsku fragmentaciju.
  • Jednostavan za implementaciju.
  • Učinkovita memorija.
  • Zbog iste veličine okvira, zamjena postaje vrlo jednostavna.
  • Služi za brži pristup podacima.

Što je segmentacija?

Segmentacija je tehnika koja eliminira zahtjeve za kontinuiranom dodjelom glavne memorije. Pri tome je glavna memorija podijeljena na blokove fizičke memorije promjenjive veličine koji se nazivaju segmenti. Temelji se na načinu na koji programer slijedi kako bi strukturirao svoje programe. Sa segmentiranom raspodjelom memorije, svaki posao je podijeljen u nekoliko segmenata različitih veličina, po jedan za svaki modul. Funkcije, potprogrami, stog, niz itd. primjeri su takvih modula.