
Sammenligningstabel
Basis sammenligningen | Kontinuerlig hukommelseallokering | Ikke-tilstødende hukommelseallokering |
---|---|---|
Grundlæggende | Tillader fortløbende blokke af hukommelse til en proces. | Tillader separate hukommelsesblokke til en proces. |
Overheads | Vedvarende hukommelsesallokering har ikke overhead til adressetranslation under udførelsen af en proces. | Ikke-sammenhængende hukommelsesallokering har overhead af adressetranslation under udførelsen af en proces. |
Udførelse sats | En proces udfører fetter i sammenhængende hukommelseallokering | En proces udføres ret langsommere forholdsvis i ikke-sammenhængende hukommelseallokering. |
Opløsning | Hukommelsespladsen skal opdeles i den faste partition, og hver partition er kun tildelt en enkelt proces. | Opdel processen i flere blokke og læg dem i forskellige dele af hukommelsen i henhold til tilgængeligheden af ledigt lagerplads. |
Bord | En tabel opretholdes af operativsystemet, som opretholder listen over ledige og optagede partitioner i hukommelsesrummet | Der skal opretholdes en tabel for hver proces, der bærer basisadresserne for hver blok, som er erhvervet ved en proces i hukommelsen. |
Definition af sammenhængende hukommelseallokering
Operativsystemet og brugerens processer skal begge indkvarteres i hovedhukommelsen. Derfor er hovedhukommelsen opdelt i to partitioner: Ved en partition befinder operativsystemet sig, og i andre tilfælde opholder brugerprocesserne sig. Under normale forhold skal de mange brugerprocesser ligge i hukommelsen på samme tid, og derfor er det vigtigt at overveje fordelingen af hukommelse til processerne.
Den sammenhængende hukommelsesallokering er en af metoderne til hukommelseallokering. Ved sammenhængende hukommelsesallokering tildeles en enkelt sammenhængende sektion af hukommelsesblokke, når en proces anmoder om hukommelsen, til processen i henhold til dens krav.

I den variable partitioneringsskema opretholder operativsystemet et bord, der angiver, hvilken partition af hukommelsen der er fri og som optager processerne. Den sammenhængende hukommelsesallokering forøger udførelsen af en proces ved at reducere overhead af adressetranslation.
Definition Ikke-sammenhængende hukommelseallokering
Den ikke-sammenhængende hukommelsesallokering gør det muligt for en proces at erhverve flere hukommelsesblokke på den anden placering i hukommelsen i overensstemmelse med dens krav. Den ikke-sammenhængende hukommelsesallokering reducerer også det hukommelsesspild, der skyldes intern og ekstern fragmentering. Da det udnytter hukommelseshullerne, der er skabt under intern og ekstern fragmentering.

Personsøgning og segmentering er de to måder, der gør det muligt for en process fysiske adresserum at være ikke-sammenhængende. Ved ikke-sammenhængende hukommelseallokering er processen opdelt i blokke (sider eller segmenter), der placeres i det forskellige område af hukommelsesrum i henhold til tilgængeligheden af hukommelsen.
Den ikke-sammenhængende hukommelseallokering har en fordel at reducere hukommelsesspild, men det øger overhead af adressetranslation. Da delene af processen er placeret på en anden placering i hukommelsen, sænker det udførelsen af hukommelsen, fordi tiden forbruges i adressetranslation.
Her skal operativsystemet vedligeholde tabellen for hver proces, som indeholder basisadressen for hver blok, som er erhvervet ved processen i hukommelsesrummet.
Nøgleforskelle mellem sammenhængende og ikke-sammenhængende hukommelseallokering
- Den grundlæggende forskel mellem sammenhængende og ikke-sammenhængende hukommelseallokering er, at den sammenhængende allokering allokerer en enkelt sammenhængende blokhukommelse til processen, medens den ikke-sammenhængende allokering opdeler processen i flere blokke og placerer dem i det forskellige adressrum i hukommelsen, dvs. på en ikke-sammenhængende måde .
- Ved sammenhængende hukommelsesallokering lagres processen i sammenhængende hukommelsesplads; så der er ingen overhead af adressetranslation under udførelsen. Men ved ikke-sammenhængende hukommelseallokering er der en overhead af adressetranslation, mens procesudførelsen, da procesblokkene spredes i hukommelsesrummet.
- Processen gemt i sammenhængende hukommelse udføres hurtigere i sammenligning med proces, der er lagret i ikke-kontiøst hukommelsesrum.
- Løsningen til sammenhængende hukommelseallokering er at opdele hukommelsespladsen i den partikelformede partition og kun tildele en partition til en enkelt proces. På den anden side er en proces opdelt i flere blokke ved ikke-kontinuerlig hukommelseallokering, og hver blok er placeret på forskellige steder i hukommelsen i henhold til tilgængeligheden af hukommelsen.
- Ved sammenhængende hukommelseallokering skal operativsystemet vedligeholde et bord, der angiver, hvilken partition der er tilgængelig for processen, og som er optaget af processen. Ved ikke-sammenhængende hukommelseallokering opretholdes en tabel for hver proces, der angiver basisadressen for hver blok af processen placeret i hukommelsesrummet.
Konklusion:
Vedvarende hukommelsesallokering skaber ingen overhead og fastgør udførelseshastigheden af processen, men øger hukommelsesspild . Til gengæld skaber ikke-sammenhængende hukommelsesallokering overhead af adressetranslation, reducerer udførelseshastigheden for en proces, men øger hukommelsesudnyttelsen . Så der er fordele og ulemper ved begge tildelingsmetoder.