Anbefalet, 2024

Redaktørens Valg

Forskel mellem personsøgning og segmentering i OS

Hukommelsesstyringen i operativsystemet er en vigtig funktionalitet, som tillader tildeling af hukommelse til processerne til udførelse og deallokerer hukommelsen, når processen ikke længere er nødvendig. I denne artikel vil vi diskutere to hukommelsesstyringssystemer personsøgning og segmentering. Den grundlæggende forskel mellem personsøgning og segmentering er, at "side" er en fast størrelse blok, mens et "segment" er en blok med variabel størrelse.

Vi vil diskutere flere forskelle mellem personsøgning og segmentering ved hjælp af sammenligningsdiagrammet vist nedenfor.

Sammenligningstabel

Grundlag for sammenligningPagingSegmentering
GrundlæggendeEn side har fast blokstørrelse.Et segment er af variabel størrelse.
fragmenteringPersonsøgning kan føre til intern fragmentering.Segmentering kan føre til ekstern fragmentering.
AdresseDen brugerdefinerede adresse er opdelt af CPU i et sidetal og offset.Brugeren angiver hver adresse af to mængder et segmentnummer og forskydningen (Segmentgrænse).
StørrelseHardwareen bestemmer sidestørrelsen.Segmentstørrelsen er angivet af brugeren.
BordPersonsøgning indebærer en sidetabel, der indeholder basisadressen på hver side.Segmentering indebærer segmenttabellen, der indeholder segmentnummer og offset (segmentlængde).

Definition af personsøgning

Personsøgning er en hukommelsesstyringsordning . Personsøgning tillader, at en proces lagres i en hukommelse uden sammenhæng . Lagring af processen på en ikke-sammenhængende måde løser problemet med ekstern fragmentering .

Til gennemførelse af personsøgning er de fysiske og logiske hukommelsesrum opdelt i de samme blokke med fast størrelse. Disse faste størrelser af fysisk hukommelse kaldes rammer, og de faste blokke af logisk hukommelse kaldes sider .

Når en proces skal udføres, lægges processiderne fra logisk hukommelsesplads ind i rammerne for fysisk hukommelsesadresse. Nu er adressen genereret af CPU for adgang til rammen opdelt i to dele, dvs. sidetal og sideforskydning .

Sidetabellen bruger sidetal som et indeks; hver proces har sin separate sidetabel, der kortlægger logisk adresse til den fysiske adresse. Sidetabellen indeholder basisadressen på den side, der er gemt i rammen af ​​det fysiske hukommelsesrum. Basisadressen defineret af sidetabellen er kombineret med sideforskydningen for at definere rammenummeret i den fysiske hukommelse, hvor siden er gemt.

Definition af segmentering

Ligesom Paging er Segmentation også et memory management-system . Det understøtter brugerens visning af hukommelsen. Processen er opdelt i segmenterne med variabel størrelse og indlæst til det logiske hukommelsesadresserum.

Det logiske adresserum er samlingen af ​​variable størrelses segmenter. Hvert segment har sit navn og længde . Til udførelsen lægges segmenterne fra logisk hukommelsesplads til det fysiske hukommelsesrum.

Den adresse, som brugeren angiver, indeholder to mængder segmentnavnet og forskydningen . Segmenterne er nummereret og henvist af segmentnummeret i stedet for segmentnavnet. Dette segmentnummer bruges som et indeks i segmenttabellen, og offsetværdien bestemmer længden eller grænsen for segmentet. Segmentnummeret og forskydningen kombinerer kombineret segmentets adresse i det fysiske hukommelsesrum.

Nøgleforskelle mellem personsøgning og segmentering

  1. Den grundlæggende forskel mellem personsøgning og segmentering er, at en side altid har fast blokstørrelse, mens et segment er af variabel størrelse .
  2. Personsøgning kan føre til intern fragmentering, da siden er af fast blokstørrelse, men det kan ske, at processen ikke erhverver hele blokstørrelsen, som vil generere det interne fragment i hukommelsen. Segmenteringen kan føre til ekstern fragmentering, da hukommelsen er fyldt med blokkerne med variabel størrelse.
  3. Ved personsøgning giver brugeren kun et enkelt heltal som den adresse, der er opdelt af hardware til et sidetal og Offset . På de andre hænder angiver brugeren i segmentering adressen i to mængder, dvs. segmentnummer og forskydning .
  4. Størrelsen på siden er bestemt eller specificeret af hardware . På den anden side er størrelsen af ​​segmentet angivet af brugeren .
  5. Ved personsøgning kortlægger sidetabellen den logiske adresse til den fysiske adresse, og den indeholder basisadressen på hver side, der er gemt i rammerne for fysisk hukommelsesplads. I segmentering kortlægger segmenttabellen imidlertid den logiske adresse til den fysiske adresse, og den indeholder segmentnummer og forskydning (segmentgrænse).

Konklusion:

Personsøgning og segmentering er begge hukommelsesstyringsordningerne . Personsøgning tillader hukommelsen at blive opdelt i blok med fast størrelse, mens segmenteringen deler hukommelsespladsen i segmenter af variabelblokstørrelsen . Hvor personsøgningen fører til intern fragmentering fører segmenteringen til ekstern fragmentering .

Top