De huvudskillnad mellan fragmentering och segmentering är att fragmentering är ett villkor som medför att minnesblocken förblir oanvända medan segmentering är tekniken att dela en process i flera moduler eller sektioner.
Fragmentering och segmentering är två termer associerade med minneshantering. Var är minneshantering en stor uppgift som utförs av ett operativsystem. Den hanterar minne genom att flytta processerna fram och tillbaka mellan huvudminnet och disken under körning. Vissa minnesplatser kan tilldelas till en process eller avdelas från en process. Därför håller operativsystemet alla register över minnesplatserna i processerna. Det kontrollerar också mängden minne som är allokerat till processer. Dessutom bestämmer den vilken process som ska få minne vid vilken tidpunkt. Dessutom uppdaterar operativsystemet statusen för minnesplatser, dvs. om de är fria eller tilldelade till processer.
1. Vad är fragmentering
- Definition, Funktionalitet
2. Vad är segmentering
- Definition, Funktionalitet
3. Skillnad mellan fragmentering och segmentering
- Jämförelse av viktiga skillnader
Extern fragmentering, fragmentering, Intern fragmentering, Minnehantering, Operativsystem, Segmentering
När du kör en process laddas den i minnet. Efter avslutad körning avlägsnas det från minnet. Processläsning och borttagning skapa lediga utrymmen i minnet. Dessa mellanslag är små i storlek och kan inte tilldelas för någon annan process. Därför förblir dessa minnesblock oanvända. Det kallas fragmentering. Det finns två typer av fragmentering som kallas intern fragmentering och extern fragmentering.
Vid intern fragmentering är minnesblocket allokerat till en process större än vad som krävs. Det gör att en del av minnet lämnas oanvänd. Det här vänstra utrymmet kan inte tilldelas till en annan process. Om en process exempelvis kräver 2 MB men den är allokerad till ett 3 MB minneblock, lämnas 1 MB block oanvänd. Denna 1 MB kan inte tilldelas någon annan process, och det är ett slöseri.
I extern fragmentering är det totala minnesutrymmet tillräckligt för att lokalisera en process, men det är inte angränsande. Därför förblir detta utrymme oanvänd. Antag exempelvis att det finns en process på 3 MB och det finns tre minnesblock i olika minnesplatser. Dessa block kan inte användas för processen eftersom de inte är angränsande. Shuffling-minne är en lösning på problemet. Det hjälper till att placera allt ledigt minne till en laktation.
Segmentering delar varje process i flera segment eller sektioner av olika storlekar. Ett segment kan vara ett huvudprogram, funktion, staplar, symboltabeller, datastrukturer, etc. Varje segment är ett annat logiskt adressutrymme i programmet. Dessa segment har variabel längdstorlek. Med andra ord är segmenten inte fixade i storlek.
När programmet körs laddas varje segment i icke-angränsande minne. En referens till en minnesplats för ett segment innefattar segmentnummer och offset. Operativsystemet upprätthåller ett bord som kallas segmentkartstabell. Det kallas också den lokala deskriptortabellen. Denna tabell lagrar register över alla processer och lediga minnesblock. Den består av startadressen (basadressen) och längden på varje segment.
Fragmentering är ett fenomen där lagringsutrymme används ineffektivt, vilket minskar kapacitet eller prestanda och ofta båda. Segmentering är processen att dela datorns primära minne i segment eller sektioner.
Medan fragmentering gör att minnesblock inte kan användas, fungerar segmentering som en minneshanteringsteknik för att utföra processer.
Fragmentering och segmentering är associerade med minneshantering. Skillnaden mellan fragmentering och segmentering är att fragmentering är ett tillstånd som medför att minnesblocken förblir oanvända medan segmentering är tekniken att dela en process i flera moduler eller sektioner.
1. Introduktion av segmentering | Operativsystem |, Utbildning 4u, 9 maj 2018, Tillgänglig här.
2. "Minne för hantering av operativsystem". Www.tutorialspoint.com, Tutorials Point, tillgängligt här.
1. "Protected Mode Segments" Av John Källén (jkl på commons) - Egent arbete (Public Domain) via Commons Wikimedia