Управление на паметта в операционната система: непрекъснато, замяна, фрагментация

Какво е управление на паметта?

Управление на паметта е процесът на контролиране и координиране на компютърната памет, присвояване на части, известни като блокове, към различни работещи програми за оптимизиране на цялостната производителност на системата.

Това е най -важната функция на операционна система, която управлява първичната памет. Той помага на процесите да се движат назад и напред между основната памет и диска за изпълнение. Той помага на операционната система да следи всяко място в паметта, независимо дали е разпределено за някакъв процес или остава свободно.

В този урок за операционна система ще научите:

Защо да използвате управление на паметта?

Ето причините да използвате управлението на паметта:

  • Тя ви позволява да проверите колко памет трябва да бъде разпределена за процеси, които решават кой процесор трябва да получи памет по кое време.
  • Проследява всеки път, когато инвентарът бъде освободен или неразпределен. Според него ще се актуализира състоянието.
  • Той разпределя пространството за рутинните приложения.
  • Също така се уверете, че тези приложения не си пречат.
  • Помага за защита на различни процеси един от друг
  • Той поставя програмите в паметта, така че паметта да се използва в пълния си обем.

Техники за управление на паметта

Ето някои от най -важните техники за управление на паметта:

Единично съседно разпределение

Това е най -лесната техника за управление на паметта. При този метод всички видове памет на компютъра, с изключение на малка част, която е запазена за операционната система, са достъпни за едно приложение. Например, операционната система MS-DOS разпределя памет по този начин. Вградена система също работи на едно приложение.

Разделено разпределение

Той разделя първичната памет на различни дялове на паметта, които са предимно съседни области на паметта. Всеки дял съхранява цялата информация за конкретна задача или работа. Този метод се състои в разпределяне на дял на задача, когато тя стартира, и неразпределяне, когато приключва.

Управление на пейджинг памет

Този метод разделя основната памет на компютъра на единици с фиксиран размер, известни като рамки на страници. Този хардуерен модул за управление на паметта картографира страници в рамки, които трябва да бъдат разпределени на базата на страница.

Управление на сегментирана памет

Сегментираната памет е единственият метод за управление на паметта, който не предоставя на потребителската програма линейно и непрекъснато адресно пространство.

Сегментите се нуждаят от хардуерна поддръжка под формата на сегментна таблица. Той съдържа физическия адрес на секцията в паметта, размера и други данни като битове и състояние за защита на достъпа.

Какво е замяна?

Размяната е метод, при който процесът трябва да бъде разменен временно от основната памет към резервното хранилище. По -късно той ще бъде върнат в паметта за продължаване на изпълнението.

Магазинът за архивиране е твърд диск или друго вторично устройство за съхранение, което трябва да е достатъчно голямо, за да побере копия на всички изображения от паметта за всички потребители. Той също така е в състояние да предложи директен достъп до тези изображения от паметта.

Ползите от размяната

Ето основните предимства/предимства на размяната:

  • Той предлага по -висока степен на мултипрограмиране.
  • Позволява динамично преместване. Например, ако се използва свързване на адрес по време на изпълнение, тогава процесите могат да се разменят на различни места. В противен случай в случай на обвързване на времето за компилиране и зареждане, процесите трябва да бъдат преместени на едно и също място.
  • Помага за по -добро използване на паметта.
  • Минимална загуба на време на процесора при завършване, така че може лесно да се приложи към метод за планиране, базиран на приоритети, за да се подобри неговата производителност.

Какво представлява разпределението на паметта?

Разпределението на паметта е процес, чрез който на компютърните програми се присвоява памет или пространство.

Тук основната памет е разделена на два типа дялове

  1. Малко памет - Операционната система се намира в този тип памет.
  2. Висока памет - Потребителските процеси се държат с висока памет.

Разпределение на дялове

Паметта е разделена на различни блокове или дялове. Всеки процес се разпределя според изискванията. Разпределението на дялове е идеален метод за избягване на вътрешна фрагментация.

По -долу са различните схеми за разпределение на дялове:

  • Първо прилягане : При този тип приспособяване се разпределя дялът, който е първият достатъчен блок от началото на основната памет.
  • Най -подходящ: Той разпределя процеса към дяла, който е първият най -малък дял сред свободните дялове.
  • Най -лошото: Той разпределя процеса на дял, който е най -големият достатъчно свободно достъпен дял в основната памет.
  • Следващ Fit: Той е най -вече подобен на първия Fit, но този Fit търси първия достатъчен дял от последната точка на разпределение.

Какво е пейджинг?

Пейджингът е механизъм за съхранение, който позволява на ОС да извлича процеси от вторичното хранилище в основната памет под формата на страници. В метода на пейджинг основната памет е разделена на малки блокове с физическа памет с фиксиран размер, която се нарича рамки. Размерът на рамката трябва да бъде същият като този на страница, за да се използва максимално основната памет и да се избегне външно фрагментиране. Пейджингът се използва за по -бърз достъп до данни и е логична концепция.

Какво е фрагментация?

Процесите се съхраняват и премахват от паметта, което създава свободно място в паметта, което е твърде малко, за да се използва от други процеси.

След като понякога тези процеси, които не могат да бъдат разпределени към блокове памет, тъй като малкият му размер и блоковете памет винаги остават неизползвани, се нарича фрагментация. Този тип проблеми възникват по време на динамична система за разпределение на паметта, когато свободните блокове са доста малки, така че тя не може да изпълни никаква заявка.

Два вида методи за фрагментиране са:

  1. Външна фрагментация
  2. Вътрешна фрагментация
  • Външната фрагментация може да бъде намалена чрез пренареждане на съдържанието на паметта, за да се постави цялата свободна памет заедно в един блок.
  • Вътрешната фрагментация може да бъде намалена чрез присвояване на най -малкия дял, който все още е достатъчно добър, за да изпълни целия процес.

Какво е сегментиране?

Методът на сегментиране работи почти подобно на пейджинга. Единствената разлика между двете е, че сегментите са с променлива дължина, докато в метода на страници страниците винаги са с фиксиран размер.

Програмен сегмент включва основната функция на програмата, структури от данни, помощни функции и др. ОС поддържа таблица със сегментна карта за всички процеси. Той също така включва списък с безплатни блокове памет заедно с неговия размер, номера на сегменти и местата му в основната или виртуалната памет.

Какво е динамично зареждане?

Динамичното зареждане е рутина на програма, която не се зарежда, докато програмата не я извика. Всички подпрограми трябва да се съдържат на диск във формат за зареждане, който може да се премества. Основната програма ще бъде заредена в паметта и ще бъде изпълнена. Динамичното зареждане също осигурява по -добро използване на паметта.

Какво е динамично свързване?

Свързването е метод, който помага на ОС да събира и обединява различни модули код и данни в един изпълним файл. Файлът може да бъде зареден в паметта и изпълнен. ОС може да свързва библиотеки на системно ниво в програма, която комбинира библиотеките по време на зареждане. В метода на динамично свързване библиотеките са свързани по време на изпълнение, така че размерът на програмния код може да остане малък.

Разлика между статично и динамично зареждане

Статично зареждане Динамично зареждане
Статичното зареждане се използва, когато искате да заредите програмата си статично. Тогава по време на компилацията цялата програма ще бъде свързана и компилирана без нужда от външен модул или зависимост от програмата.В динамично заредена програма ще бъдат предоставени препратки и зареждането ще се извърши в момента на изпълнение.
По време на зареждане цялата програма се зарежда в паметта и започва нейното изпълнение.Рутините на библиотеката се зареждат в паметта само когато са необходими в програмата.

Разлика между статично и динамично свързване

Ето основните разлики между статичното и динамичното свързване:

Статично свързване Динамично свързване
Статичното свързване се използва за комбиниране на всички други модули, които се изискват от програма в един изпълним код. Това помага на операционната система да предотврати всякаква зависимост по време на работа.Когато се използва динамично свързване, не е необходимо да свързвате действителния модул или библиотека с програмата. Вместо него използвайте препратка към динамичния модул, предоставен по време на компилация и свързване.

Резюме:

  • Управлението на паметта е процес на контролиране и координиране на компютърната памет, присвояване на части, наречени блокове, към различни работещи програми за оптимизиране на цялостната производителност на системата.
  • Тя ви позволява да проверите колко памет трябва да бъде разпределена за процеси, които решават кой процесор трябва да получи памет по кое време.
  • В Single Contiguous Allocation всички видове памет на компютъра, с изключение на малка част, която е запазена за операционната система, са достъпни за едно приложение
  • Методът на разделено разпределение разделя първичната памет на различни дялове на паметта, които са предимно съседни области на паметта
  • Методът за управление на странична памет разделя основната памет на компютъра на единици с фиксиран размер, известни като рамки на страници
  • Сегментираната памет е единственият метод за управление на паметта, който не предоставя на потребителската програма линейно и непрекъснато адресно пространство.
  • Размяната е метод, при който процесът трябва да бъде разменен временно от основната памет към резервното хранилище. По -късно той ще бъде върнат в паметта за продължаване на изпълнението.
  • Разпределението на паметта е процес, чрез който на компютърните програми се присвоява памет или пространство.
  • Пейджингът е механизъм за съхранение, който позволява на ОС да извлича процеси от вторичното хранилище в основната памет под формата на страници.
  • Фрагментацията се отнася до състоянието на диск, при което файловете са разделени на парчета, разпръснати около диска.
  • Методът на сегментиране работи почти подобно на пейджинга. Единствената разлика между двете е, че сегментите са с променлива дължина, докато в метода на страници страниците винаги са с фиксиран размер.
  • Динамичното зареждане е рутина на програма, която не се зарежда, докато програмата не я извика.
  • Свързването е метод, който помага на ОС да събира и обединява различни модули код и данни в един изпълним файл.