Flyttbara dynamiska partitioner är ett minneshanteringsschema som används i operativsystem. Till skillnad från fasta partitionssystem där minnet är uppdelat i statiskt stora partitioner, tillåter flyttbara dynamiska partitioner att partitioner är av variabel storlek och flyttas (flyttas) inom minnet. Detta ger större flexibilitet och effektivitet i minnesanvändningen än fasta partitioner.
Här är en uppdelning av nyckelfunktionerna:
* dynamisk storlek: Partitioner skapas och ändras efter behov baserat på storleken på programmen som laddas. Det finns ingen fördefinierad partitionsstorlek.
* Relocation: Partitioner kan flyttas inom det fysiska minnet. Detta är avgörande eftersom fragmentering (både inre och extern) kan uppstå. Genom att flytta partitioner kan operativsystemet konsolidera ledigt utrymme och minska påverkan av fragmentering.
* Minneskomprimering: För att ta itu med extern fragmentering (där det finns tillräckligt totalt fritt minne men det är inte sammanhängande) kan operativsystemet kompakt minne. Detta handlar om att flytta befintliga partitioner till ena änden av minnet, skapa ett enda stort block av sammanhängande ledigt utrymme. Flyttbarhet är avgörande för komprimering.
* Förbättrat minnesanvändning: Jämfört med fast partitionering leder omlokaterbar dynamisk partition i allmänhet till bättre minnesanvändning eftersom den anpassar sig till olika programstorlekar och undviker slösat utrymme i partitioner med fast storlek som delvis kan användas.
* Mer komplex hantering: Hanteringen av flyttbara dynamiska partitioner är betydligt mer komplex än fasta partitioner. OS måste hålla reda på partitionsstorlekar, platser och ledigt utrymme och implementera algoritmer för omlokalisering och komprimering. Detta lägger till overhead.
hur det fungerar (generellt):
Operativsystemet har en gratis lista eller en bit karta som håller reda på tillgängligt minnesutrymme. När en process begär minne söker OS efter ett tillräckligt stort ledigt utrymme. Om ett lämpligt utrymme hittas tilldelar det minnet till processen. Om omlokalisering är möjlig kan OS flytta befintliga partitioner för att skapa ett sammanhängande block vid behov. När en process avslutas släpps dess minne och lägger till det tillbaka till den fria listan.
Jämförelse med andra minneshanteringsscheman:
* Fast partitionering: Enklare att hantera, men lider av intern och extern fragmentering.
* Paging: Dela in minne i sidor och processer i fast storlek i sidorna; adresserar extern fragmentering genom att tillåta icke-kontinuerlig minnesallokering.
* Segmentering: Dela upp minnet i segment med variabel storlek; behandlar intern fragmentering genom att endast tilldela nödvändigt minne.
Flyttbar dynamisk partitionering representerar ett steg mot effektivare minneshantering jämfört med fast partitionering, men den är mindre sofistikerad än sökning eller segmentering. Det är ett mindre vanligt schema i moderna operativsystem, ofta ersatt av mer avancerade tekniker som sökning och virtuellt minne.