В контекста на файлова система, фрагментацията е неефективно използване на пространство за съхранение, за да се съхранява съдържанието на един файл на различни места на диск, а не в една съседна последователност от битове на едно място. Фрагментацията е естествено явление, което се случва физически на твърд диск или понякога на модул памет, когато данните не са записани достатъчно плътно на устройството.
Данните понякога се изписват извън ред, което означава, че частите данни не се поставят един до друг на устройството поради честата употреба на файлове. Тези данни се наричат фрагменти. В определен момент операционната система ще трябва да получи достъп до файловата система, за да открие къде се намират различните фрагменти на устройството.
Например, когато създавате нов документ, да речем, файл с думи; файлът изглежда е на едно място. Можете да отворите файла, да го редактирате или изтриете - каквото искате. Всички дейности като че ли се случват физически на задвижването, поне така си мислите.
Твърдият диск може да спестява парчета файлове в една област на устройството, но останалата част съществува буквално някъде другаде на устройството за съхранение. Казано по-просто, фрагментацията се отнася до пропиленото пространство за съхранение във файловата система, което позволява да се развие пропаст между различните части на файл.
Фрагментацията основно се случва в системата за динамично разпределение на паметта, тъй като тя запазва твърде много място за файла, което води до открити области около него.
Тя по някакъв начин се отнася до деление на фиксиран размер. Системата разпределя памет на различни програми и процеси, като ги разделя на малки блокове, както се изисква от програмата. Въпреки това, понякога се отделя повече памет, отколкото е необходимо на процеса, което в крайна сметка води до излишък от памет или загуба на памет.
Например, паметта може да бъде разпределена само на програми в блокове, делящи се на 4, 8 или 16. Когато процес изисква 24 байта, той обикновено получава блок от 32 байта, излишните 8 байта се оставят неизползвани. Така неизползваната памет се намира в определено разпределено място и е толкова малка, че не може да бъде разпределен нов процес, което води до загуба. Тези отпадъци се наричат вътрешна фрагментация. Вероятно единственият начин за премахване на този тип фрагментиране е чрез динамично разпределение на паметта.
Основната памет образува дупки между части от разпределена памет, които са твърде малки, за да задържат всеки процес. Това е недостатъкът на алгоритмите за разпределение на съхранение, когато съседни блокове от неизползвани пространства не могат да обслужват нова заявка, тъй като пространствата са твърде малки за големи нужди на приложението за памет. Най-просто казано, непрекъснатите блокове създават дупки в паметта, което води до неизползвано съхранение, което е извън разпределените региони, което означава, че не може да се използва заедно с основната памет за по-големи задачи с памет. Те в крайна сметка са изолирани и не могат да бъдат напълно премахнати от паметта. Това се нарича външна фрагментация. Тя може да бъде премахната чрез уплътняване, което разбърква съдържанието на паметта, за да постави цялата свободна памет заедно.
Вътрешна фрагментация:
Вътрешната фрагментация се отнася до допълнителни пространства, които се разхищават, когато за процеса се отделя повече памет, отколкото е необходимо. Обикновено възниква, когато блоковете с фиксиран размер се разпределят към програмите или процесите.
Външна фрагментация:
Външната фрагментация, напротив, се отнася до неизползваните пространства, които се образуват между съседни блокове памет, които не са съседни един на друг..
Вътрешна фрагментация:
Свободното пространство, което се образува в рамките на разпределения блок памет, когато паметта, разпределена за процеса, е по-голяма от паметта, поискана от процеса, се нарича вътрешна фрагментация. "Вътрешен" се отнася до неизползваните байтове, които се намират в по-големите блокове памет.
Външна фрагментация:
Когато основната памет образува дупки, които са твърде малки, за да задоволят всяка заявка, тя се нарича външна фрагментация.
Вътрешна фрагментация:
Основната причина, поради която се получава вътрешна фрагментация, е, когато паметта е разделена на блокове с фиксиран размер .
Външна фрагментация:
Външната фрагментация е явление, което се случва, когато паметта е разделена на блокове с променлив размер въз основа на размера на различните процеси.
Вътрешна фрагментация:
Вътрешната фрагментация е естествено явление, което може да бъде елиминирано чрез динамично разпределение на паметта, което е динамично разпределяне на части от блокове памет към процесите по тяхна заявка и освобождаване, когато те вече не са необходими по време на изпълнение на програма.
Външна фрагментация:
Външната фрагментация, от друга страна, може да бъде елиминирана чрез уплътняване, пейджинг и сегментиране, така че паметта да може да бъде разпределена на процес по непрекъснат начин.
Както вътрешната, така и външната фрагментация са естествени явления, свързани с неизползваното пространство на паметта или загубената памет. Вътрешната фрагментация страда от неефективно разпределение на паметта, което се случва, когато паметта, разпределена за даден процес, е повече от изискваното, оставяйки неизползвано пространство в блока с памет, в крайна сметка причинява вътрешна фрагментация. След като процесът бъде премахнат от физическата памет, свободното пространство се разпределя тук-там и не могат да бъдат намерени съседни блокове памет, което води до външна фрагментация. И двете явления обаче могат да бъдат избегнати. Вътрешната фрагментация може да бъде намалена чрез динамично разпределяне на паметта на процесите, докато външната фрагментация може да се избегне най-добре чрез уплътняване, пейджинг и сегментиране.