Разлика између страничења и сегментације

Управљање меморијом је једна од основних функција оперативног система. Савремени оперативни системи омогућавају сваком процесу да добије више виртуалне меморије од укупне величине стварне (физичке) меморије на датом рачунарском систему. Главни циљ управљања меморијом је да се комбиновањем велике, али спора меморије са малом али великом брзином меморије постигне ефекат веће меморије велике брзине.

Шта је Пагинг?

Раздвајање између фиксне и променљиве партиције је неефикасно у погледу употребе меморије, јер фиксна партиција резултира унутрашњом, док је динамична у спољној фрагментацији. Могуће решење проблема фрагментације је да се омогући да се процес не упише у континуирани блок меморије. Програм се може произвољно раштркати у меморији. У овом случају, радна меморија је подељена на мање блокове фиксне величине који се зову оквири. Логички адресни простор програма је такође подељен на блокове исте величине, под називом странице. Када се програм унесе у меморију, странице се записују у слободне оквире меморије. Ради лакшег преноса програма с диска у радну меморију, диск је такође подељен у оквире исте величине као и меморијски оквири. Тако се један оквир с диска записује у један оквир радне меморије. Систем страничења ради на следећи начин: када је програм прихваћен за извршење, израчунава се његова величина која се изражава потребним бројем страница. Ако је довољан број кадрова слободан, поступак се бележи у меморији на страницу. Истовремено се у табелу оквира уноси број оквира у којима је написана свака страница.

Шта је сегментација?

Кориснички програм и придружени подаци могу се поделити у више сегмената. Сегменти свих програма не морају бити исте величине, иако постоји максимална дужина сегмента. Као и код страничења, логичка адреса која користи сегментацију састоји се од два дела, у овом случају броја сегмената и дислокација унутар тог сегмента. Због употребе сегмената различитих величина, сегментација је слична динамичкој подјели. У недостатку схеме преклапања или употребе виртуелне меморије, потребно је да се сви сегменти програма учитају у меморију ради извршавања. Разлика у односу на динамичку партицију је та што сегментација може потрајати више од једне партиције и та партиција не мора бити суседна. Сегментација решава проблем унутрашње фрагментације, али као и динамичка подјела, остаје проблем спољне фрагментације. Међутим, с обзиром да је поступак подељен на више мањих делова, спољна фрагментација је обично мања. За разлику од позивања које је програмеру невидљиво, сегментација је обично видљива и погодна за организовање програма и података. У сврху модуларног програмирања, програм или податке могу се даље подијелити у неколико мањих сегмената. Лоша страна ове технике је да програмер мора знати ограничења максималне величине сегмента. Следећа погодност коришћења сегмената различитих величина је та што не постоји перспективна веза између логичке и физичке адресе. Слично као страничење, једноставна техника сегментације користи табелу сегмената за сваки поступак и листу доступних блокова у главној меморији.

Разлика између страничења и сегментације

1. Појам страничења и сегментације

Странирање нуди виртуални и физички простор адресе и секундарни меморијски простор на блоковима (страницама) једнаке дужине. То омогућава додељивање непрекидног виртуелног адресног простора процесу дисперзије (није нужно континуирано дистрибуирано) у стварном адресном простору и секундарној меморији. Чак се и страница, као термин, односи на меморију, а не на логичке објекте који су видљиви на програмском нивоу. Сегментација нуди виртуални адресни простор на блоковима (сегментима) који директно одговарају објектима на програмском нивоу. Због тога сегмент нема фиксну дужину, па се чак и величина сегмента може мењати током извођења програма. Заштита и подјела су, дакле, могући на нивоу објекта, а постоје видљиви процеси где се врши сегментација.

2. Карактеристике страничења и сегментације

Програмер апликације не зна за позивање. Он пише програме као да је меморија линеарна, а оперативни систем и процесор су забринути због његове партиције и претварања у виртуалне адресе. Програмер на системима сегментације, међутим, у својим програмима наводи два дела адресе, сегмента и странице. Све странице су исте величине док су сегменти различити. Сегментација има више линеарних размака адреса, а позивање само на једно страница. Сегменти омогућавају логичку поделу и заштиту компоненти апликације, а странице не.

3. Предности странице и сегментације

Страно позивање, које је програмеру провидно, уклања спољну фрагментацију и на тај начин осигурава ефикасну употребу главне меморије. Комади који се крећу у главну меморију и из ње су фиксни и исте величине, тако да је могуће развити софистициране алгоритме управљања меморијом који искориштавају понашање програма. Сегментација је видљива програмеру и има могућност управљања растом структуре података, модуларношћу и подршком за размену и заштиту.

Стр. Страница према сегментацији: упоредни графикон

Странирање

Сегментација

фиксна величина страница сегменти нису фиксни по величини
невидљив за програмера видљиво за програмера
један линеарни простор адресе више линеарних размака адреса
не допушта логичку партицију и заштиту компоненти апликације омогућава

Резиме странице и сегментације

  • Странирање се заснива на расподјели целокупног адресног простора на блоковима фиксне дужине који се раде као кванти меморије. Надаље, потребно је осигурати начин за означавање расположиве меморије која се може извршити присуством "заглавља" сваке странице који показује статус странице (глобална повезана листа гдје сваки чвор упућује на сљедећу слободну страницу) или постављање адресе бесплатне странице у глобални низ, што је обично најгоре решење.
  • Сегментација значи подјелу адресног простора на сегменте који имају јасно означена права приступа ММУ процесору. Унутар сегмента процеси додељују тачно толико меморије колико им је потребно, али проблем управљања меморијом је како обезбедити такву расподелу тамо где може да сачува довољно велики континуирани блок меморију, за шта ће можда требати неко време.