Препоръчано, 2024

Избор На Редактора

Разлика между вътрешна и външна фрагментация

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

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

Сравнителна таблица

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

Определение на вътрешната фрагментация

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

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

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

Определение за външно фрагментиране

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

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

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

Ключови разлики между вътрешната и външната фрагментация

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

Заключение:

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

Top