Vergelijkingstabel
Basis de vergelijking | Aaneengesloten geheugentoewijzing | Niet-aaneengesloten geheugentoewijzing |
---|---|---|
basis- | Wijst opeenvolgende blokken geheugen toe aan een proces. | Wijst afzonderlijke blokken geheugen toe aan een proces. |
Algemene kosten | Aaneengesloten 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. |
Uitvoeringspercentage | Een proces voert fatser uit in aaneengesloten geheugentoewijzing | Een proces verloopt betrekkelijk trager in niet-opeenvolgende geheugentoewijzing. |
Oplossing | De 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. |
Tafel | Een tabel wordt onderhouden door een besturingssysteem dat de lijst met beschikbare en bezette partities in de geheugenruimte bijhoudt | Er 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.
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
- 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 .
- 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.
- Proces dat is opgeslagen in aangrenzend geheugen wordt sneller uitgevoerd in vergelijking met het proces dat is opgeslagen in niet-opeenvolgende geheugenruimte.
- 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.
- 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.