Minnehåndtering Lars Vidar Magnusson October 4, 2011 Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 1 / 20
Oversikt Introduksjon 1 Introduksjon Beskrivelse Terminologi Krav til minnehåndterere Illustasjon av prosessen 2 Memory partitioning 3 Paging 4 Segmentation 5 Logisk adressering Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 2 / 20
Introduksjon Beskrivelse Beskrivelse Alle operativsystem med støtte for prosesser må ha en eller form for minnehåndterer. Essensielt for effektiv minnebruk Må oppfylle en rekke krav Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 3 / 20
Introduksjon Terminologi Terminologi Terminologien som benyttes i forhold til minnehåndtering Frame brukes for å betegne en sammenhengende sekvens av primærminne (RAM) med fast størrelse Page brukes for å betegne en sammenhengende sekvens data som ligger i sekundærminnet (harddisk) med fast størrelse. Segment betegner et område med variabel størrelse som ligger i sekundærminnet. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 4 / 20
Introduksjon Krav til minnehåndterere Krav til minnehåndterere Alle minnehåndterere må oppfylle et sett med krav. Relocation - må støtte å flytte minnet tilhørende en prosess rundt etter behov. Protection - må beskytte minnet til en prosess fra andre prosesser. At prosesser kan flyttes rundt gjør beskyttelse vanskeligere. I tillegg så har vi pekere og dynamisk allokasjon. Sharing - må kunne være mulig å dele data mellom prosesser der det er behov for det. Logical organization - sørge for lineær representasjon og gjøre det mulig å dele opp en applikasjon i moduler som bedre passer logisk oppbygning. Physical organization - sørge for effektiv bytting mellom de ulike nivåer av minne. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 5 / 20
Illustasjon av prosessen Introduksjon Illustasjon av prosessen En illustrasjon av hvordan en prosess kan være representert i minnet. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 6 / 20
Oversikt Memory partitioning 1 Introduksjon 2 Memory partitioning Fixed partitioning Dynamic partitioning 3 Paging 4 Segmentation 5 Logisk adressering Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 7 / 20
Memory partitioning Fixed partitioning Fixed partitioning Fixed partitioning er en enkel minnehåndteringsmekanisme hvor minnet blir delt inn i statiske partisjoner. Størrelsen på partisjonene kan være enten like eller ulike. Kan ha en eller flere køer for å fordele prosesser til en ledig partisjon. Mange problemer med en slik løsning e.g. internal fragmentation. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 8 / 20
Memory partitioning Dynamic partitioning Dynamic partitioning Dynamic partioning ble utviklet for å overkomme de mest åpenbare manglene med partisjoner med fast størrelse. Benytter seg av et variabelt antall partisjoner med variabel størrelse. Det kan bli et problem med external fragmentation. Det kan være vanskelig å finne den beste plassen for en ny prosess. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 9 / 20
Oversikt Paging 1 Introduksjon 2 Memory partitioning 3 Paging Beskrivelse Illustrasjon av paging Illustrasjon av paging... Illustrasjon av pagetables 4 Segmentation 5 Logisk adressering Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 10 / 20
Paging Beskrivelse Beskrivelse Deler inn prosess minneområde og minnet inn i små biter med fast størrelse. En page er en relativt liten bit med minne i prosessen En frame en en bit med samme størrelse i minnet. En page kan enkelt lastes inn og ut av minnet Løser poblemet med external fragmentation og internal fragmentation er forbeholdt den siste siden. Operativsystemet ivaretar en page table for hver prosess som inneholder hvor de ulike sidene er plassert. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 11 / 20
Illustrasjon av paging Paging Illustrasjon av paging Under er det illustrert et sett med rammer som blir fylt opp av sidene i prosess A og B. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 12 / 20
Illustrasjon av paging... Paging Illustrasjon av paging... Under er det illustrert hva som skjer når ytterligere 2 prosesser blir lagt til og en blir fjernet. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 13 / 20
Illustrasjon av pagetables Paging Illustrasjon av pagetables Under er det illustrert hva som ligger i pagetable for de ulike prosessene i de forrige illustrasjonene. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 14 / 20
Oversikt Segmentation 1 Introduksjon 2 Memory partitioning 3 Paging 4 Segmentation Beskrivelse 5 Logisk adressering Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 15 / 20
Segmentation Beskrivelse Beskrivelse Segmentation er en variant til paging og skiller seg i hovedsak ved at segmenter i motsetning til pages ikke trenger å være på samme størrelse. Det er en maksgrense på hvor stort et segment kan være. Mer komplisert oversetting fra logisk adresse til fysisk adresse. Minner litt om dynamisk partisjonering med de samme svakhetene ( external fragmentation). Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 16 / 20
Oversikt Logisk adressering 1 Introduksjon 2 Memory partitioning 3 Paging 4 Segmentation 5 Logisk adressering Illustrasjon på logisk adressering Oversetting med paging Oversetting med segmentation Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 17 / 20
Logisk adressering Illustrasjon på logisk adressering Illustrasjon på logisk adressering En illustrasjon over den logiske adressestrukturen i de tre ulike type minnehåndterere som er blitt diskutert. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 18 / 20
Oversetting med paging Logisk adressering Oversetting med paging En illustrasjon over oversettingen fra logisk til fysisk adresse med paging. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 19 / 20
Logisk adressering Oversetting med segmentation Oversetting med segmentation En illustrasjon over oversettingen fra logisk til fysisk adresse med segmentation. Lars Vidar Magnusson () Forelesning i Operativsystemer 04.10.2011 October 4, 2011 20 / 20