Aanbevolen, 2024

Editor'S Choice

Verschil tussen aaneengesloten en niet-aaneengesloten geheugentoewijzing

Geheugen is een groot aantal bytes, waarbij elke byte een eigen adres heeft. De geheugentoewijzing kan worden onderverdeeld in twee methoden, naast geheugentoewijzing en niet-aaneengesloten geheugentoewijzing. Het belangrijkste verschil tussen aaneengesloten en niet-aangrenzende geheugenallocatie is dat de aaneengesloten geheugenallocatie de opeenvolgende geheugenblokken toewijst aan een proces dat om geheugen verzoekt, terwijl de niet-aangrenzende geheugenallocatie de afzonderlijke geheugenblokken toewijst op de andere locatie in de geheugenruimte op een niet-opeenvolgende manier om een proces dat vraagt ​​om geheugen. We zullen enkele meer verschillen bespreken tussen aaneengesloten en niet-aaneengesloten geheugentoewijzing met behulp van de onderstaande vergelijkingsgrafiek.

Vergelijkingstabel

Basis de vergelijkingAaneengesloten geheugentoewijzingNiet-aaneengesloten geheugentoewijzing
basis-Wijst opeenvolgende blokken geheugen toe aan een proces.Wijst afzonderlijke blokken geheugen toe aan een proces.
Algemene kostenAaneengesloten geheugentoewijzing heeft niet de overhead van adresvertaling tijdens het uitvoeren van een proces.Niet-opeenvolgende geheugentoewijzing heeft overhead van adresvertaling tijdens uitvoering van een proces.
UitvoeringspercentageEen proces voert fatser uit in aaneengesloten geheugentoewijzingEen proces verloopt betrekkelijk trager in niet-opeenvolgende geheugentoewijzing.
OplossingDe geheugenruimte moet worden verdeeld in de partitie met een vaste grootte en elke partitie wordt toegewezen aan slechts één proces.Verdeel het proces in verschillende blokken en plaats ze in verschillende delen van het geheugen op basis van de beschikbaarheid van beschikbare geheugenruimte.
TafelEen tabel wordt onderhouden door een besturingssysteem dat de lijst met beschikbare en bezette partities in de geheugenruimte bijhoudtEr moet een tabel worden bijgehouden voor elk proces dat de basisadressen van elk blok bevat dat is verkregen door een proces in het geheugen.

Definitie van aansluitende geheugentoewijzing

Het besturingssysteem en de processen van de gebruiker moeten beide in het hoofdgeheugen worden ondergebracht. Daarom is het hoofdgeheugen verdeeld in twee partities: op een partitie bevindt het besturingssysteem zich en op andere bevinden de gebruikersprocessen zich. Onder normale omstandigheden moeten de verschillende gebruikersprocessen tegelijkertijd in het geheugen blijven en daarom is het belangrijk om de toewijzing van geheugen aan de processen te overwegen.

De aaneengesloten geheugentoewijzing is een van de methoden voor geheugentoewijzing. In aaneengesloten geheugentoewijzing wordt, wanneer een proces om het geheugen verzoekt, een enkel aaneengesloten gedeelte van geheugenblokken toegewezen aan het proces volgens zijn vereiste.

De aaneengesloten geheugentoewijzing kan worden bereikt door het geheugen te verdelen in de partitie met een vaste grootte en elke partitie alleen aan een enkel proces toe te wijzen. Maar dit zal de mate van multiprogrammering veroorzaken, begrenzend tot het aantal vaste partities dat in het geheugen is gedaan. De aaneengesloten geheugentoewijzing leidt ook tot de interne fragmentatie . Als een geheugenblok met een vaste grootte dat aan een proces is toegewezen iets groter is dan zijn vereiste, dan wordt de resterende geheugenruimte in het blok interne fragmentatie genoemd. Wanneer het proces dat zich in de partitie bevindt, wordt beëindigd, wordt de partitie beschikbaar voor het andere proces.

In het variabel partitioneringsschema houdt het besturingssysteem een tabel bij die aangeeft welke partitie van het geheugen vrij is en welke door de processen wordt ingenomen. De aaneengesloten geheugentoewijzing maakt de uitvoering van een proces vast door de overhead van adresvertaling te verminderen.

Definitie Niet-aansluitende geheugentoewijzing

De niet-aaneengesloten geheugentoewijzing maakt het mogelijk dat een proces de verschillende geheugenblokken op de verschillende locaties in het geheugen verkrijgt overeenkomstig zijn vereiste. De niet-aangrenzende geheugentoewijzing vermindert ook de geheugenverspilling die wordt veroorzaakt door interne en externe fragmentatie. Omdat het gebruik maakt van de geheugengaten, gemaakt tijdens interne en externe fragmentatie.

Paging en segmentatie zijn de twee manieren waarop de fysieke adresruimte van een proces niet-aangrenzend kan zijn. Bij niet-aaneengesloten geheugentoewijzing is het proces onderverdeeld in blokken (pagina's of segmenten) die in het verschillende gebied van de geheugenruimte worden geplaatst overeenkomstig de beschikbaarheid van het geheugen.

De niet-opeenvolgende geheugentoewijzing heeft een voordeel van het reduceren van geheugenverspilling, maar dit verhoogt de overhead van adresomzetting. Omdat de onderdelen van het proces op een andere locatie in het geheugen worden geplaatst, vertraagt ​​dit de uitvoering van het geheugen omdat er tijd wordt besteed aan adresvertaling.

Hier moet het besturingssysteem de tabel onderhouden voor elk proces dat het basisadres bevat van elk blok dat wordt verkregen door het proces in de geheugenruimte.

Belangrijkste verschillen tussen aaneengesloten en niet-aaneengesloten geheugentoewijzing

  1. Het basisverschil tussen aaneengesloten en niet-aaneengesloten geheugentoewijzing is dat aaneengesloten toewijzing één enkel aangrenzend blok geheugen aan het proces toewijst, terwijl de niet-aaneengesloten toewijzing het proces verdeelt in verschillende blokken en deze in de verschillende adresruimte van het geheugen plaatst, dat wil zeggen op een niet-opeenvolgende manier .
  2. Bij continue geheugentoewijzing wordt het proces opgeslagen in aaneengesloten geheugenruimte; dus er is geen overhead van adresvertaling tijdens de uitvoering. Maar bij niet-aaneengesloten geheugentoewijzing is er een overhead van adrestranslatie terwijl de procesuitvoering plaatsvindt, terwijl de procesblokken in de geheugenruimte worden verspreid.
  3. Proces dat is opgeslagen in aangrenzend geheugen wordt sneller uitgevoerd in vergelijking met het proces dat is opgeslagen in niet-opeenvolgende geheugenruimte.
  4. De oplossing voor continue geheugentoewijzing is het verdelen van de geheugenruimte in de partitie met een vaste grootte en het toewijzen van een partitie aan slechts één enkel proces. Aan de andere kant, in niet-permanente geheugentoewijzing, is een proces verdeeld in verschillende blokken en wordt elk blok op verschillende plaatsen in het geheugen geplaatst op basis van de beschikbaarheid van het geheugen.
  5. Bij continue geheugentoewijzing moet het besturingssysteem een tabel bijhouden waarin wordt aangegeven welke partitie beschikbaar is voor het proces en die door het proces wordt gebruikt. Bij niet-opeenvolgende geheugentoewijzing wordt een tabel bijgehouden voor elk proces dat het basisadres aangeeft van elk blok van het proces dat in de geheugenruimte is geplaatst.

Conclusie:

Aaneengesloten geheugentoewijzing creëert geen overhead en maakt de uitvoersnelheid van het proces vast, maar vergroot geheugenverspilling . Op zijn beurt creëert niet-continue geheugentoewijzing overhead van adresvertaling, verlaagt de uitvoeringssnelheid van een proces maar verhoogt het geheugengebruik . Er zijn dus voor- en nadelen van beide toewijzingsmethoden.

Top