De hovedforskjell mellom sammenhengende og ikke-sammenhengende minneallokering er at sammenhengende minneallokering tildeler fortløpende blokker av minne til en prosess mens den ikke-sammenhengende minnetildeling tilordner separate blokker med minne til en prosess.
Kontinuerlig og ikke-sammenhengende minneallokering er to minnetildelingsmodeller. Kontinuerlig minnetildeling tilordner påfølgende minneblokker til en prosess. Ikke-sammenhengende minneallokering tilordner forskjellige blokker av minne på en ikke-sammenhengende måte til en prosess. I sammenhengende tildeling kan det noen ganger være vanskelig å finne en minneboks som er stor nok til å passe til en prosess. Imidlertid er det lettere å finne minneblokker på forskjellige steder, da det ikke krever etterfølgende minneblokker, når det ikke er nok minne.
1. Hva er sammenhengende minneallokering
- Definisjon, funksjonalitet
2. Hva er ubegrenset minneallokering
- Definisjon, funksjonalitet
3. Forskjellen mellom sammenhengende og ubegrenset minneallokering
- Sammenligning av nøkkelforskjeller
Kontinuerlig minnetildeling, Ekstern fragmentering, Intern fragmentering, Ikke-fast minneutdeling, Operativsystem
Ved sammenhengende minneallokering tilordnes en enkelt sammenhengende del av minneblokken en prosess. Derfor eksisterer en enkelt prosess i en blokk av den tilstøtende minnesblokken. For å oppnå sammenhengende minneallokering, kan minnet deles i partisjoner med fast størrelse. Hver partisjon får en enkelt prosess.
Ved intern fragmentering, hvis et minne som er allokert for en prosess, er større enn nødvendig, er resten av ubruket ubrukt. Det kan ikke brukes til annen prosess. Kontinuerlig minnetildeling kan forårsake denne interne fragmenteringen.
Kontinuerlig minnetildeling kan øke hastigheten på utførelsen av prosessen fordi den minimerer overheads av adressetranslation. Det kan imidlertid være vanskelig å finne en sammenhengende blokk med minne som er stor nok til å passe en prosess.
Ved ikke-sammenhengende minneallokering tildeles prosessen til flere minneblokker på forskjellige minnesteder i minnet. Ved intern fragmentering er minneblokken som er tilordnet en prosess stor, så de gjenværende delene kan ikke brukes til en annen prosess; dermed forblir det ubrukt. I ekstern fragmentering er den totale minnesplassen nok til å opprettholde en prosess, men den er ikke sammenhengende, slik at den ikke kan brukes. Ikke-sammenhengende minneallokering gir en løsning for intern og ekstern fragmentering. Det minimerer minnetavfallet.
Selv om ikke-sammenhengende minneallokering reduserer minneavfall, har det noen ulemper. Det forårsaker overhead på grunn av adressetranslation. Videre, da de forskjellige delene av samme prosess ligger i forskjellige minnesteder, kan det redusere den totale utførelseshastigheten.
Kontinuerlig minneallokering er en minneallokeringsmodell som tilordner minneblokker med påfølgende adresser til en prosess. Ikke-sammenhengende minneallokering er en minneallokeringsmodell som tilordner ssigns en prosess til minneblokker plassert på forskjellige steder.
Den sammenhengende minnetildelingen tilordner fortløpende blokker av minne til en prosess. Den ikke-kontinuerlige minnetildelingen tilordner en prosess til minneblokker plassert på forskjellige steder. Det følger en ikke-sammenhengende måte.
Overhead er minimum i sammenhengende minneallokering. Det har ikke mye adresseoversettelser mens du utfører en prosess. Noncontiguous minneallokering inneholder flere kostnader da det er flere adressetranslamer.
En prosess i sammenhengende minne utføres raskere fordi hele prosessen er i en sekvensiell blokk. På den annen side krever en prosess i ikke-sammenhengende minne mer tid til å utføre som det er på forskjellige steder i minnet.
Det er lettere for operativsystemet å kontrollere sammenhengende minne. Det er vanskelig å kontrollere ikke-sammenhengende minne.
Forskjellen mellom sammenhengende og ikke-sammenhengende minneallokering er at den sammenhengende minnetildeling tilordner fortløpende blokker av minne til en prosess mens den ikke-sammenhengende minnetildeling tilordner separate blokker med minne til en prosess.
1. Minneallokering, utdanning 4u, 24. april 2018, tilgjengelig her.
1. "CPT Memory Addressable" Av Pluke - Eget arbeid (CC BY 3.0) via Commons Wikimedia