Personsökning i OS (operativsystem)

Personsökning i OS (operativsystem)

I operativsystem är personsökning en lagringsmekanism som används för att hämta processer från det sekundära minnet till huvudminnet i form av sidor.

Huvudtanken bakom personsökningen är att dela upp varje process i form av sidor. Huvudminnet kommer också att delas i form av ramar.

En sida av processen ska lagras i en av ramarna i minnet. Sidorna kan lagras på olika platser i minnet men prioritet är alltid att hitta de sammanhängande ramarna eller hålen.

Sidor av processen förs in i huvudminnet endast när de krävs, annars finns de i det sekundära minnet.

Olika operativsystem definierar olika ramstorlekar. Storleken på varje ram måste vara lika. Med tanke på att sidorna är mappade till ramarna i Paging måste sidstorleken vara lika stor som ramstorleken.


OS-sökning

Exempel

Låt oss betrakta huvudminnets storlek 16 Kb och ramstorleken är 1 KB, därför kommer huvudminnet att delas upp i samlingen av 16 ramar på 1 KB vardera.

Det finns 4 processer i systemet som är P1, P2, P3 och P4 på 4 KB vardera. Varje process är uppdelad i sidor om 1 KB vardera så att en sida kan lagras i en ram.

Inledningsvis är alla ramar tomma, därför kommer sidor av processerna att lagras på ett sammanhängande sätt.

Ramar, sidor och kartläggningen mellan de två visas i bilden nedan.


OS-personsökningsexempel

Låt oss tänka på att P2 och P4 flyttas till vänteläge efter en tid. Nu blir 8 ramar tomma och därför kan andra sidor laddas på den tomma platsen. Processen P5 av storlek 8 KB (8 sidor) väntar inne i klarkön.

Med tanke på det faktum att vi har 8 icke sammanhängande ramar tillgängliga i minnet och personsökning ger flexibiliteten att lagra processen på de olika platserna. Därför kan vi ladda sidorna i process P5 i stället för P2 och P4.


OS-sökningsexempel 2

Minneshanteringsenhet

Syftet med Memory Management Unit (MMU) är att konvertera den logiska adressen till den fysiska adressen. Den logiska adressen är adressen som genereras av CPU:n för varje sida medan den fysiska adressen är den faktiska adressen till ramen där varje sida kommer att lagras.

När en sida ska nås av CPU:n genom att använda den logiska adressen, behöver operativsystemet erhålla den fysiska adressen för att komma åt sidan fysiskt.

Den logiska adressen har två delar.

  1. Sidonummer
  2. Offset

Minneshanteringsenheten i OS måste konvertera sidnumret till ramnumret.

Exempel

Med tanke på bilden ovan, låt oss säga att CPU:n kräver 10:e ordet av 4:e sidan i process P3. Eftersom sidnummer 4 i process Pl lagras vid ramnummer 9 kommer därför det tionde ordet i den nionde ramen att returneras som den fysiska adressen.