We zullen enkele meer verschillen bespreken tussen paging en segmentatie met behulp van de onderstaande vergelijkingsgrafiek.
Vergelijkingstabel
Basis voor vergelijking | paging | Segmentatie |
---|---|---|
basis- | Een pagina heeft een vaste blokgrootte. | Een segment heeft een variabele grootte. |
fragmentatie | Paging kan leiden tot interne fragmentatie. | Segmentatie kan leiden tot externe fragmentatie. |
Adres | Het door de gebruiker opgegeven adres wordt door de CPU opgedeeld in een paginanummer en een offset. | De gebruiker geeft elk adres op twee grootheden een segmentnummer en de offset (segmentlimiet). |
Grootte | De hardware bepaalt het paginaformaat. | De segmentgrootte wordt door de gebruiker opgegeven. |
Tafel | Bij paging gaat het om een paginatabel die het basisadres van elke pagina bevat. | Segmentatie betreft de segments tabel die segmentnummer en offset (segmentlengte) bevat. |
Definitie van paging
Paging is een geheugenbeheerschema . Met paging kan een proces op een niet-aansluitende manier in een geheugen worden opgeslagen. Het opslaan van het proces op een niet-aansluitende manier lost het probleem van externe fragmentatie op .
Voor het implementeren van paging zijn de fysieke en logische geheugenruimten verdeeld in dezelfde blokken van een vaste grootte. Deze blokken van fysiek geheugen met een vaste grootte worden frames genoemd en de blokken met een vast formaat van logisch geheugen worden pagina's genoemd .
Wanneer een proces moet worden uitgevoerd, worden de procespagina's uit de logische geheugenruimte in de frames van het fysieke geheugenadresvak geladen. Het door de CPU gegenereerde adres voor toegang tot het frame is nu verdeeld in twee delen, dwz paginanummer en pagina-offset .
Definitie van segmentatie
Net als bij paging is segmentatie ook een geheugenbeheerschema . Het ondersteunt de gebruikersweergave van het geheugen. Het proces is onderverdeeld in de segmenten met variabele grootte en geladen in de adresruimte van het logische geheugen.
De logische adresruimte is de verzameling van segmenten met variabele grootte. Elk segment heeft zijn naam en lengte . Voor de uitvoering worden de segmenten uit de logische geheugenruimte naar de fysieke geheugenruimte geladen.
Belangrijkste verschillen tussen semafonie en segmentering
- Het basisverschil tussen paging en segmentatie is dat een pagina altijd een vaste blokgrootte heeft, terwijl een segment een variabele grootte heeft .
- Paging kan leiden tot interne fragmentatie omdat de pagina een vaste blokgrootte heeft, maar het kan gebeuren dat het proces niet de volledige blokgrootte krijgt die het interne fragment in het geheugen zal genereren. De segmentering kan leiden tot externe fragmentatie als het geheugen wordt gevuld met blokken van variabele grootte.
- Bij paging biedt de gebruiker slechts één geheel getal als het adres dat door de hardware wordt verdeeld in een paginanummer en een offset . Aan de andere kant specificeert de gebruiker bij segmentering het adres in twee hoeveelheden, dat wil zeggen segmentnummer en offset .
- De grootte van de pagina wordt bepaald of gespecificeerd door de hardware . Aan de andere kant wordt de grootte van het segment door de gebruiker opgegeven.
- Bij paging wijst de paginatabel het logische adres toe aan het fysieke adres en bevat deze het basisadres van elke pagina die is opgeslagen in de frames van de fysieke geheugenruimte. Bij segmentering wijst de segmenttabel echter het logische adres toe aan het fysieke adres en bevat het segmentnummer en offset (segmentlimiet).
Conclusie:
Paging en segmentatie zijn beide de geheugenbeheerprogramma's . Met paging kan het geheugen worden verdeeld in blokken van een vaste grootte, terwijl de segmentering de geheugenruimte verdeelt in segmenten van de variabele blokgrootte . Waar de paging leidt tot interne fragmentatie leidt de segmentatie tot externe fragmentatie .