Hva er personsøk?
Personsøk er en lagringsmekanisme som lar OS hente prosesser fra sekundærlagring til hovedminnet i form av sider. I personsøkemetoden er hovedminnet delt inn i små fysiske adresseblokker i fast størrelse, som kalles rammer.
Størrelsen på en ramme bør holdes den samme som på en side for å ha maksimal utnyttelse av hovedminnet og for å unngå ekstern fragmentering. Personsøk brukes for raskere tilgang til data, og det er et logisk konsept.
I denne veiledningen vil du lære
- Hva er personsøk?
- Hva er segmentering?
- Personsøking kontra segmentering
- Fordeler med personsøk
- Fordel med segmentering
- Ulemper ved personsøk
- Ulemper ved segmentering
Hva er segmentering?
Segmenteringsmetoden fungerer nesten likt personsøking. Den eneste forskjellen mellom de to er at segmentene har variabel lengde, mens sidene alltid har fast størrelse i personsøkingsmetoden.
Et programsegment inkluderer programmets hovedfunksjon, datastrukturer, nyttefunksjoner osv. OS har en segmentkartetabell for alle prosessene. Den inneholder også en liste over gratis minneblokker sammen med størrelse, segmentnummer og minneplasseringer i hovedminnet eller det virtuelle minnet.
HOVEDFORSKJELL:
- En side har den faste blokkstørrelsen, mens et segment har variabel størrelse.
- I personsøk bestemmer maskinvaren sidestørrelsen mens segmentstørrelsen er spesifisert av brukeren.
- Sideteknikken er raskere for minnetilgang, men segmentering er tregere enn personsøkemetoden.
- I personsøk gir brukeren bare et enkelt heltall som adressen mens det i segmentering er tilgjengeligheten av mange uavhengige adresserom.
- Sidetabell lagrer sidedataene mens Segmenteringstabell lagrer segmenteringsdataene.
Forskjellen mellom personsøk og segmentering
Her er det forskjeller mellom personsøking og segmenteringsmetode:
Personsøk | Segmentering |
En side har den faste blokkstørrelsen. | Et segment har variabel størrelse. |
Det kan føre til intern fragmentering. | Det kan føre til ekstern fragmentering. |
I personsøk bestemmer maskinvaren sidestørrelsen. | Segmentstørrelsen er spesifisert av brukeren. |
Et prosessadresseområde er delt inn i blokker i fast størrelse, som kalles sider. | Et prosessadresseområde er ødelagt i forskjellige blokker kalt seksjoner. |
Sideteknikken er raskere for minnetilgang. | Segmentering er tregere enn personsøkemetoden. |
Sidetabellen lagrer sidedataene | Segmenteringstabell lagrer segmenteringsdataene. |
Personsøk muliggjør ikke deling av prosedyrer. | Segmentering muliggjør deling av prosedyrer. |
Personsøk skiller ikke ut og sikrer prosedyrer og data separat. | Segmentering kan være i stand til å skille sikre prosedyrer og data. |
Personsøkeradresse er en dimensjonal | I segmentering er det tilgjengeligheten av mange uavhengige adresserom |
I personsøk gir brukeren bare et enkelt heltall som adresse, som er delt av maskinvaren i et sidetall og forskjøvet. | I segmenteringsmetoden spesifiserer brukeren adressen i to størrelser 1) segment nummer 2) forskjøvet. |
Fordeler med personsøk
Her er fordeler / fordeler med å bruke personsøkemetoden
- På programmeringsnivå er personsøk en gjennomsiktig funksjon og krever ikke inngrep.
- Rammer trenger ikke å være sammenhengende.
- Enkel å bruke minnehåndteringsalgoritme
- Det er enkelt å bytte mellom like store sider og siderammer.
Fordel med segmentering
Her er fordeler / fordeler med segmentering:
- Enkel å flytte segmenter enn hele adresseplassen.
- Fraværet av intern fragmentering som ekstern fragmentering må gjøres.
- Segmenttabellen er av mindre størrelse sammenlignet med sidetabellen i personsøk.
- Den gjennomsnittlige størrelsen på segmentet er større enn den faktiske størrelsen på siden
- Tilbyr beskyttelse innen segmentet
- Ikke tilbyr intern fragmentering
- Segmenttabeller bruker mindre minne enn personsøk
- Siden det tilbyr den lille segmenttabellen, er minnereferanse enkel, noe som gir seg til å dele data mellom prosesser.
Ulemper ved personsøk
Her er ulemper / ulemper ved personsøk:
- Personsøk forårsaker intern fragmentering på eldre systemer.
- Lengre oppslagstider for minne sammenlignet med segmentering
- Det kan forårsake indre fragmentering
- Kompleks algoritme for minnestyring
- Sidetabeller bruker ekstra minne.
- Søking på flere nivåer kan føre til overordnede referanser.
Ulemper ved segmentering
Her er ulemper / ulemper ved segmentering:
- Ulik størrelse på segmenter er ikke bra i tilfelle bytte.
- Å portere Linux til forskjellige arkitekturer er vanskelig å behandle fordi det gir svært begrenset støtte for segmentering.
- Det krever programmererintervensjon.
- Det er vanskelig å tildele smittsomt minne til partisjonen, siden det er av variabel størrelse.
- Dette er kostbar minnehåndteringsalgoritme.