Verschil tussen paging en swapping in OS

Schrijver: Laura McKinney
Datum Van Creatie: 2 April 2021
Updatedatum: 1 Juli- 2024
Anonim
Linux-handleiding voor beginners
Video: Linux-handleiding voor beginners

Inhoud


Paging en Swapping zijn twee strategieën voor geheugenbeheer. Voor uitvoering moet elk proces in het hoofdgeheugen worden geplaatst. Door het verwisselen en oproepen worden beide processen in het hoofdgeheugen geplaatst voor uitvoering. Het ruilen kan worden toegevoegd aan elk CPU-planningsalgoritme waar processen worden omgewisseld van hoofdgeheugen naar back-store en teruggezet naar hoofdgeheugen. paging staat de fysieke adresruimte van een proces toe aaneengesloten. Laten we de verschillen tussen paging en swapping bespreken met behulp van de onderstaande vergelijkingstabel.

  1. Vergelijkingstabel
  2. Definitie
  3. Belangrijkste verschillen
  4. Gevolgtrekking

Vergelijkingstabel

VergelijkingsbasispagingHet ruilen
basis-Door paging kan de geheugenadresruimte van een proces niet-aaneengesloten zijn.Door swapping kunnen meerdere programma's parallel in het besturingssysteem worden uitgevoerd.
FlexibiliteitPaging is flexibeler omdat alleen pagina's van een proces worden verplaatst.Ruilen is minder flexibel omdat het hele proces heen en weer beweegt tussen hoofdgeheugen en back-store.
mutiprogrammerenDoor paging kunnen meer processen in het hoofdgeheugen worden opgeslagenIn vergelijking met paging-swapping kunnen minder processen in het hoofdgeheugen worden opgeslagen.


Definitie van paging

Paging is een geheugenbeheerschema, waaraan een niet-aaneengesloten adresruimte naar een proces. Nu, wanneer het fysieke adres van een proces niet aaneengesloten kan zijn, is het probleem van externe fragmentatie zou niet ontstaan.

Paging wordt geïmplementeerd door de hoofd geheugen in blokken van vaste grootte die worden aangeroepen frames. De logisch geheugen van een proces is onderverdeeld in dezelfde blokken van vaste grootte die worden genoemd pagina's. De paginagrootte en framegrootte worden bepaald door de hardware. Zoals we weten, moet het proces in het hoofdgeheugen worden geplaatst voor uitvoering. Dus wanneer een proces moet worden uitgevoerd, worden de pagina's van het proces van de bron, d.w.z. back store, geladen in beschikbare frames in het hoofdgeheugen.

Laten we nu bespreken hoe paging is geïmplementeerd. CPU genereert het logische adres voor een proces dat uit twee delen bestaat paginanummer en de pagina offset. Het paginanummer wordt gebruikt als een inhoudsopgave in de paginatabel.


De paginatabel bevat de basis adres van elke pagina die in het hoofdgeheugen is geladen. Dit basisadres wordt gecombineerd met pagina-offset om het adres van de pagina in het hoofdgeheugen te genereren.

Elk besturingssysteem heeft zijn eigen manier om paginatabel op te slaan. Het grootste deel van het besturingssysteem heeft een afzonderlijke paginatabel voor elk proces.

Definitie van swappen

Voor uitvoering moet elk proces in het hoofdgeheugen worden geplaatst. Wanneer we een proces moeten uitvoeren en het hoofdgeheugen helemaal vol is, dan is het geheugen manager swaps een proces van hoofdgeheugen naar back-up store door de plaats te evacueren voor de andere processen om uit te voeren. De geheugenbeheerder verwisselt de processen zo vaak dat er altijd een proces in het hoofdgeheugen gereed is voor uitvoering.

Door adres bindend methoden, neemt het proces dat uit het hoofdgeheugen wordt verwisseld dezelfde adresruimte in beslag wanneer het wordt teruggewisseld naar het hoofdgeheugen als de binding wordt gedaan tijdens de assemblage of laadtijd. Als de binding wordt uitgevoerd op het moment van uitvoering, kan het proces elke beschikbare adresruimte in het hoofdgeheugen innemen omdat adressen worden berekend op het moment van uitvoering.

Hoewel de prestaties worden beïnvloed door ruilen, helpt het bij het uitvoeren meerdere processen parallel.

  1. Het fundamentele verschil tussen paging en swapping is dat paging voorkomt externe fragmentatie door de fysieke adresruimte van een proces niet-aaneengesloten te laten zijn, terwijl ruilen dit toestaat mutiprogrammeren.
  2. Paging zou pagina's van een proces heen en weer overbrengen tussen hoofdgeheugen en secundair geheugen, dus paging is flexibel. Ruilen wisselt echter het gehele proces heen en weer tussen het hoofd- en secundaire geheugen en daarom is ruilen minder flexibel.
  3. Door paging kunnen meer processen in het hoofdgeheugen worden opgeslagen dan bij het omwisselen.

Gevolgtrekking:

Paging voorkomt externe fragmentatie, omdat de niet-aaneengesloten adresruimten in het hoofdgeheugen worden gebruikt. Swapping kan worden toegevoegd aan het CPU-planningsalgoritme waarbij het proces vaak in en uit het hoofdgeheugen moet zijn.