Шта је управљање меморијом?
Управљање меморијом је процес контроле и координације рачунарске меморије, додељивањем делова познатих као блокови различитим покретаним програмима ради оптимизације укупних перформанси система.
То је најважнија функција оперативног система који управља примарном меморијом. Помаже процесима да се крећу напред и назад између главне меморије и извршног диска. Помаже ОС-у да прати сваку меморијску локацију, без обзира да ли је додељена неком процесу или остаје слободна.
У овом упутству за оперативни систем научићете:
- Шта је управљање меморијом?
- Зашто користити управљање меморијом?
- Технике управљања меморијом
- Шта је замена?
- Шта је додељивање меморије?
- Шта је пејџинг?
- Шта је метода фрагментације?
- Шта је сегментација?
- Шта је динамичко учитавање?
- Шта је динамичко повезивање?
- Разлика између статичког и динамичког оптерећења
- Разлика између статичког и динамичког повезивања
Зашто користити управљање меморијом?
Ево разлога за коришћење управљања меморијом:
- Омогућава вам да проверите колико меморије треба доделити процесима који одлучују који процесор треба да добије меморију у којем тренутку.
- Прати сваки пут када се инвентар ослободи или не додели. Према њему ће ажурирати статус.
- Додељује простор апликацијским рутинама.
- Такође се побрините да ове апликације не ометају једна другу.
- Помаже у заштити различитих процеса једни од других
- Програме смешта у меморију тако да се меморија користи у потпуности.
Технике управљања меморијом
Ево неколико најважнијих техника управљања меморијом:
Јединствена суседна алокација
То је најлакша техника управљања меморијом. На овај начин, све врсте рачунарске меморије, осим малог дела који је резервисан за ОС, доступне су за једну апликацију. На пример, МС-ДОС оперативни систем додељује меморију на овај начин. Уграђени систем такође ради на једној апликацији.
Подељена алокација
Примарну меморију дели на различите меморијске партиције, која су углавном суседна подручја меморије. Свака партиција чува све информације за одређени задатак или посао. Овај метод се састоји од додељивања партиције послу када започне и нераспоређивању када заврши.
Управљање страном меморијом
Овај метод дели главну меморију рачунара на јединице фиксне величине познате као оквири страница. Ова јединица за управљање хардверском меморијом пресликава странице у оквире који би требали бити додељени на основу странице.
Сегментирано управљање меморијом
Сегментирана меморија је једина метода управљања меморијом која не пружа корисничком програму линеарни и суседни адресни простор.
Сегменти требају хардверску подршку у облику табеле сегмената. Садржи физичку адресу одељка у меморији, величину и друге податке као што су битови заштите и статус.
Шта је замена?
Замјена је метода којом се поступак треба привремено замијенити из главне меморије у складиште сигурносних копија. Касније ће бити враћен у меморију ради даљег извршења.
Бацкинг сторе је чврсти диск или неки други секундарни уређај за складиштење који би требао бити довољно велик да прими копије свих меморијских слика за све кориснике. Такође је у могућности да понуди директан приступ овим меморијским сликама.
Предности замене
Ево главних предности / предности замјене:
- Нуди већи степен мултипрограмирања.
- Омогућава динамичко пресељење. На пример, ако се користи везивање адресе у време извршења, тада се процеси могу заменити на различитим локацијама. Иначе, у случају везивања времена компајлирања и учитавања, процесе треба преместити на исто место.
- Помаже у бољем искоришћавању меморије.
- Минимално губљење ЦПУ времена по завршетку, тако да се лако може применити на метод заказивања заснован на приоритету како би се побољшале његове перформансе.
Шта је додељивање меморије?
Додела меморије је процес којим се рачунарским програмима додељује меморија или простор.
Овде је главна меморија подељена на две врсте партиција
- Нема довољно меморије - оперативни систем се налази у овој врсти меморије.
- Велика меморија - Кориснички процеси се чувају у великој меморији.
Додјела партиција
Меморија је подељена на различите блокове или партиције. Сваки процес се додељује према захтеву. Додјела партиција је идеална метода за избјегавање интерне фрагментације.
Испод су разне шеме расподјеле партиција:
- Прво уклапање: У овом типу уклапања додељује се партиција, што је први довољан блок од почетка главне меморије.
- Најбоље прилагођавање: Додељује поступак партицији која је прва најмања партиција међу бесплатним партицијама.
- Најгоре прилагођавање: Додељује поступак партицији, која је највећа довољно доступна партиција у главној меморији.
- Следеће прилагођавање: Углавном је слично првом уклапању, али ово уклапање тражи прву довољну партицију са последње тачке додељивања.
Шта је пејџинг?
Пејџинг је механизам за складиштење који омогућава ОС-у да преузима процесе из секундарног складишта у главну меморију у облику страница. У методи пејџинга главна меморија је подељена на мале блокове физичке меморије фиксне величине, који се називају оквири. Величина оквира треба да буде иста као и страница како би се максимално искористила главна меморија и како би се избегла спољна фрагментација. Пејџинг се користи за бржи приступ подацима и то је логичан концепт.
Шта је фрагментација?
Процеси се чувају и уклањају из меморије, што ствара слободан меморијски простор, који је премали да би га користили други процеси.
Понекад се тај процес који није у могућности доделити меморијским блоковима, јер његова мала величина и меморијски блокови увек остају неискоришћени, назива се фрагментацијом. Ова врста проблема се дешава током система динамичке алокације меморије када су бесплатни блокови прилично мали, тако да није у стању да испуни ниједан захтев.
Две врсте метода фрагментације су:
- Спољна фрагментација
- Унутрашња фрагментација
- Спољна фрагментација се може смањити преуређивањем меморијских садржаја како би се сва слободна меморија ставила у један блок.
- Унутрашња фрагментација се може смањити додељивањем најмање партиције, која је и даље довољно добра да носи читав процес.
Шта је сегментација?
Метода сегментације делује готово слично пејџингу. Једина разлика између њих две је у томе што су сегменти променљиве дужине, док су у методи страничења странице увек фиксне величине.
Програмски сегмент укључује главну функцију програма, структуре података, корисне функције итд. ОС одржава табелу мапа сегмената за све процесе. Такође укључује листу бесплатних меморијских блокова заједно са величином, бројевима сегмената и меморијским локацијама у главној или виртуелној меморији.
Шта је динамичко учитавање?
Динамичко учитавање је рутина програма који се не учитава док га програм не позове. Све рутине требале би бити на диску у формату учитавања који се може премјестити. Главни програм ће се учитати у меморију и извршити. Динамичко учитавање такође омогућава боље коришћење меморијског простора.
Шта је динамичко повезивање?
Повезивање је метода која помаже ОС-у да прикупља и спаја различите модуле кода и података у једну извршну датотеку. Датотека се може учитати у меморију и извршити. ОС може повезати библиотеке на системском нивоу у програм који комбинује библиотеке током учитавања. У методи динамичког повезивања, библиотеке су повезане у време извршења, тако да величина програмског кода може остати мала.
Разлика између статичког и динамичког оптерећења
Статичко учитавање | Динамичко учитавање |
Статичко учитавање се користи када желите да свој програм учитате статички. Тада ће у време компилације читав програм бити повезан и компајлиран без потребе за било каквим спољним модулом или програмском зависношћу. | У динамички учитаном програму, пружиће се референце и учитавање ће бити извршено у време извршења. |
У време учитавања, читав програм се учитава у меморију и започиње његово извршавање. | Рутине библиотеке се учитавају у меморију само када су потребне у програму. |
Разлика између статичког и динамичког повезивања
Ево главне разлике између статичког и динамичког повезивања:
Статично повезивање | Динамичко повезивање |
Статичко повезивање користи се за комбиновање свих осталих модула, који су потребни програму, у један извршни код. Ово помаже ОС-у да спречи било какву зависност од времена извођења. | Када се користи динамичко повезивање, не треба да повеже стварни модул или библиотеку са програмом. Уместо њега, користите референцу на динамички модул обезбеђен у време састављања и повезивања. |
Резиме:
- Управљање меморијом је процес контроле и координације рачунарске меморије, додељивањем делова који се зову блокови различитим покретаним програмима ради оптимизације укупних перформанси система.
- Омогућава вам да проверите колико меморије треба доделити процесима који одлучују који процесор треба да добије меморију у којем тренутку.
- У Сингле Цонтигуоус Аллоцатион, све врсте рачунарске меморије, осим малог дела који је резервисан за ОС, доступне су за једну апликацију
- Метода партициониране алокације дели примарну меморију на различите меморијске партиције, која су углавном суседна подручја меморије
- Метод страничног управљања меморијом дели главну меморију рачунара на јединице фиксне величине познате као оквири страница
- Сегментирана меморија је једина метода управљања меморијом која не пружа корисничком програму линеарни и суседни адресни простор.
- Замјена је метода којом се поступак треба привремено замијенити из главне меморије у складиште сигурносних копија. Касније ће бити враћен у меморију ради даљег извршења.
- Додела меморије је процес којим се рачунарским програмима додељује меморија или простор.
- Пејџинг је механизам за складиштење који омогућава ОС-у да преузима процесе из секундарног складишта у главну меморију у облику страница.
- Фрагментација се односи на стање диска у којем су датотеке подељене на делове расуте око диска.
- Метода сегментације делује готово слично пејџингу. Једина разлика између њих две је у томе што су сегменти променљиве дужине, док су у методи страничења странице увек фиксне величине.
- Динамичко учитавање је рутина програма који се не учитава док га програм не позове.
- Повезивање је метода која помаже ОС-у да прикупља и спаја различите модуле кода и података у једну извршну датотеку.