Operativsystemer [6]: Virtuelt lager Datalogi 1F Forår 2003 Jørgen Sværke Hansen

Slides:



Advertisements
Lignende præsentationer
HUNDE SPEED km h 34,4 HUNDE SPEED km h 34,1 HUNDE SPEED km h 32,8 HUNDE SPEED km h 31,9 HUNDE SPEED km h 31,8 HUNDE SPEED km h 30,9.
Advertisements

KiMs – Maj KiMs SMAGSTEST - franske kartofler - Maj 2012.
Den danske befolknings syn på handicappedes rettigheder
VMS data Geografisk og tidsmæssig udvikling af indsatsen i tobisfiskeriet v/ dataspecialist Josefine Egekvist Sekretariat for myndighedsbetjening.
Atomer Et programmeret forløb. En måde at lære på.
SharePoint /36 2 General SettingsPermissions and ManagementCommunications Titel, description and navigation Versioning settings Advanced settings.
Børns indflydelse på familiens købsbeslutninger
Produktionsøkonomi Planteavl 2013
NemID og Fællesskema 2014 v/Signe Hansen Blegmand
TEST 2 modul 1 20 spørgsmål. Du skal klikke med musen på det rigtige svar, så kommer du automatisk til næste spørgsmål Klik for start.
Torbenfeldvej Vallensbæk strand Tlf.: – – dagligt brug af vores hjemmeside •AGEN LYS har en stor og omfattende.
Log direkte fra GSAK Der er en kæmpe fordel at logge direkte fra GSAK, for det første er det let, da men ikke skal åbne alle cachesiderne for at kunne.
Udlægning af en ny cache
Hvem er vi? •Vi er organiseret i KBH Amts behandlingscenter for stofbrugere. •Vi er 3 år gamle. •Hjulpet i gang af fokus på Ecstasy. •Hjulpet i gang af.
Velkommen hos Juvel A/S
Elevernes digitale dannelse
Bolig selskabernes Landsforening– Almene lejeboliger - Maj/Juni Almene lejeboliger - Danmarkspanelet - Maj/Juni 2010.
Analyse for Ældre Sagen: Trafikundersøgelse: Cykel, cykelhjelm mv Rapport Marts 2010.
Tidlig skriftsprog i dagtilbud
Operativsystemer[4]: Arbejdslageret Datalogi 1F Forår 2003 Jørgen Sværke Hansen
Trivselsundersøgelse og ledelsesevaluering
SMUT PAKKE 4 VIDEN OM MOTION.
1. Ordreside: Køretøjerside: Brugereside: Timesedlerside: Beskederside: Oversigtskortside: Themeside: 19.
SEO PÅ AU.
Efteruddannelsesindsatsen 2007 Analyse Danmarks undersøgelse januar 2008 Oplæg på Kompetencerådets møde den v./ Merete.
1 Effektiv forrentning Kjeld Tyllesen PEØ, CBS Erhvervsøkonomi / Managerial Economics Kjeld Tyllesen, PEØ, CBS.
Statistik.
Naboskabet - en undersøgelse af 3 boligområder 473 beboere besvarede undersøgelsen 6-11 år: år: år: 4 Voksne: 454.
Representations for Path Finding in Planar Environments.
Grundlæggende regnskabsforståelse
Kursus om borger.dk og brugen af digital signatur
Introduktion til Access (Access, del 1)
Opslagsfelter (Access, del 6). RHS – Informationsteknologi 2 Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser vores.
HUSKESPIL – den lille tabel
Østjysk rapport om udligning og tilskud Seminar om udligning den 26. April 2010 Job og Økonomidirektør Asbjørn Friis Jensen, Favrskov.
Titel: Arial, fed, skriftstr. 20, mørkegrå. Tekst: Arial, normal, fed eller kursiv, skriftstr. 10, 12 og 14 til print – 16 og 18 til projektor – mørkegrå.
Adresserum Adresserum: Det interval af adresser, der kan arbejdes med i den samme proces (fra 0 til største adresse) Lippiatt++: adresser fylder 8 bit.
 2 3  3 =  83  43  53  63  73  93  10 4.
Sådan vedligeholdes grundkortets 4 faner Vil du ændre de kort, der vises via Skoleporten > Om skolen > Grundplaner, skal du blot ændre i disse filer: Grundplan_Oversigt.gif.
Pleje og Sundhed Gennemførte719 Inviterede895 Svarprocent80% FREDERICIA KOMMUNE MTU og Psykisk APV 2012 Rapportspecifikationer.
1 UNION-FIND. 2 inddata: en følge af heltalspar (p, q); betydning: p er “forbundet med” q uddata: intet, hvis p og q er forbundet, ellers (p, q) Eksempel.
Operativsystemer [3]: Synkronisering og baglåse Datalogi 1F: Forår 2003 Jørgen Sværke Hansen
1 Powerpointserie om In-line færdiggørelse ved Heatsettrykning Avisrotation Magasindybtryk Den Grafiske Højskole.
Trivselsundersøgelse og ledelsesevaluering Anæstesiologisk Afdeling Flere ledere
1 Algoritme til at løse knude P-center problemet Algoritmen brugte set covering problemet Virker derfor kun til knude problemer Vi vil alligevel bruge.
Datalogi 1F Forår 2003 Operativsystemer og multiprogrammering Jørgen Sværke Hansen
ETU 2008 | Elevtilfredshedsundersøgelse Erhvervsskolen Nordsjælland HTX (Teknisk Gymnasium) - Hillerød Baseret på 313 besvarelser.
1 Lektion 25, Repetition-3 1.Diverse 2.Stedprøven og herunder kurverepetition 3.Makroprøven, II (17-30)
1 Borgerpanelet i Silkeborg Kommune.
Swapping og paging Flytning af processer (swapping) eller dele af processer (paging) mellem arbejdslager og fjernlager. Baggrund: På den ene side skal.
1 Sortering I elementære metoder. 2 Plan Terminologi Elementære metoder til sortering -sortering ved udvælgelse -sortering ved indsættelse -Shellsort.
Matematik B 1.
Claus Brabrand, ITU, Denmark Mar 10, 2009EFFECTIVE JAVA Effective Java Presentation Workshop Claus Brabrand [ ] ( “FÅP”: First-year Project.
1 Vi ser nu på en general graf Men antager at alle afstande er heltallige (Det er ikke så restriktivt) Algoritmen leder efter den mindst mulige dækningsdistance.
Rapporter (Access, del 5). RHS – Informationsteknologi – Udgangspunkt Vi har oprettet en database Vi har defineret en eller flere tabeller, og.
1 Tråde 2 Plan Trådbegrebet Synkronisering Koordinering Eksempel: et flertrådet spil.
It i de gymnasiale uddannelser Udstyr og anvendelse, 2010.
Grunde til at jeg elsker dig
Januar 2009 MandagTirsdagOnsdagTorsdagFredagLørdagSøndag Uge 2. Anette Ø. Kl Tina H. Lone M. 6 Kl Britt H. 7 Kl Vinnie G. Gerda.
Tilføj hjælpelinjer: 1.Højreklik et sted i det grå område rundt om dette dias 2.Vælg "Gitter og hjælpelinjer" 3.Vælg "Vis hjælpelinjer på skærm" Oplæg.
Fundamentale datastrukturer
Opslagsfelter (Access, del 6). RHS – Informationsteknologi – Udgangspunkt Vi er ofte i den situation, at valg af en type for et felt ikke begrænser.
Introduktion til Access (Access, del 1). RHS – Informationsteknologi – Fra design til udvikling Vi ved nu, hvordan vi finder et design for en database,
1 Fundamentale datastrukturer. 2 Definitioner: abstrakt datatype, datastruktur Elementære datastrukturer og abstrakte datatyper : arrays, stakke, køer,
Per P. MadsenStyresystemer og tjenester1 Indhold: 1.Introduktion til styresystemer. 2.Processer og tråde. 3.Synkroniseringsmetoder og InterProcesCommunikation.
1 Kap. 4, Jordens Tyngdefelt = Torge, 2001, Kap. 3. Tyngdekraftens retning og størrelse g (m/s 2 ) Acceleration Tyngdepotentialet (W): evene til at udføre.
Fremstilling af Simple WEB steder [ITPL] Foråret 2004
Operativsystemer, processor og tråde. Disposition Operativsystem Kerne funktionalitet Presser og adresserum Tråde.
Grundlæggende programmering Forår 2002
Præsentationens transcript:

Operativsystemer [6]: Virtuelt lager Datalogi 1F Forår 2003 Jørgen Sværke Hansen

Datalogi 1F: Operativsystemer[6]2 Oversigt •Hvad er virtuelt lager •Mekanismen bag tvungent sideskift •Politikker (strategier) for tvungent sideskift: –FIFO –Optimal –Least Recently Used •Fordeling af sidepladser mellem processer •Trashing

Datalogi 1F: Operativsystemer[6]3 Virtuel lager •Opdeling i virtuel/logisk (per proces) og fysisk adresserum gør en enkelt proces’ billede af lageret uafhængigt af andre processer •Men afkoblingen af en proces’ adresserum fra det fysiske giver OS’et mulighed for at overvåge en proces’ faktiske lageradgang (dog grovkornet).

Datalogi 1F: Operativsystemer[6]4 Virtuelt lager •En proces får først stillet fysisk lager til rådighed når den har brug for det •En proces kan bruge mere lager end der fysisk er i maskinen uden at processen selv skal understøtte det •Deling af lager •Implementeres ved: –tvungent sideskift –tvungent segmentskift

Datalogi 1F: Operativsystemer[6] Virtuelt lager eksempel Proces sekundært lager virtuelt lager fysisk lager sidefejl 6 4 1

Datalogi 1F: Operativsystemer[6]6 Virkemåde •Fang tilgang til sider: –adgangsrettigheder i sidetabel –proces afbrydes kun hvis siden ikke er tilgængelig •Findes siden ikke i fysisk lager: –proces fryses –find en ledig sideplads –findes der ingen ledig sideplads: •gem indhold af sideplads •frigiv sideplads –er siden brugt tidligere/indhold defineret af fil: •hent indhold ind fra sekundært lager –Giv proces adgang til side –Genstart proces

Datalogi 1F: Operativsystemer[6]7 Overvågning af lagertilgang •Sidetabel indeholder statusbit: –gyldig side 0 - ikke i fysisk lager 1 - i fysisk lager •Hvis siden placeret i fysisk lager, lav omkostning (især hvis TLB rammes) •Ellers afbrydelse: –aktiver afbrydelsesroutine for sidefejl –find ledig sideplads –hent side ind fra disk/nulstil side –ændring af statusbit i sidetabel •Genstart proces/instruktion

Datalogi 1F: Operativsystemer[6]8 Gyldig/ugyldig eksempel

Datalogi 1F: Operativsystemer[6]9 Genudførelse af instruktion •Når sidefejlen er behandlet genstartes den instruktion, der forårsagede fejlen •Kan alle instruktioner genstartes uden problemer? –lagerafbildet kontrol af ydre enheder –instruktioner, der ændrer data inden de er færdige, f.eks. Intel: REP MOVS src, dst: •flytter et lagerområde (kilde og mål kan overlappe) •tager tæller i ECX som argument

Datalogi 1F: Operativsystemer[6]10 Tvungent sideskift - eksempel

Datalogi 1F: Operativsystemer[6]11 Problemer •Hvornår hentes sider ind (f.eks. ved processtart)? •Hvilke sider skiftes ud, når der ikke er plads nok i det fysiske lager? •For at opnå det bedste resultat skal processens fremtidige opførsel gættes •Hent de sider ind, der snart skal bruges af processen •Fjern den side hvor der går længst tid til der bliver brug for den igen

Datalogi 1F: Operativsystemer[6]12

Datalogi 1F: Operativsystemer[6]13 Omkostning ved tvungent sideskift •Hvis siden er i fysisk lager i –normal lagertilgangstid •Derudover hvis siden ikke er i lageret –afbrydelsesomkostning –(skriv gammel side til sekundært lager) –(hent side ind fra sekundært lager) –genstart instruktion •Domineres af disk I/O

Datalogi 1F: Operativsystemer[6]14 Omkostninger - eksempel •Ved ½% af lagertilgangen skal der hentes en side ind: –20 klokcykler for lageradgang –21,4 klokcykler for lageradgang gennem sidetabel –afbrydelsesomkostning 20 klokcykler –diskomkostning: 10 ms + 4/20000 = 10,2 ms = klokcykler –Gennemsnitlig omkostning: 21, * = 266,5 klokcykler

Datalogi 1F: Operativsystemer[6]15 Processtart •Programkode hentes direkte fra eksekverbare fil •Ved proceskloning ofte copy-on-write: –sider der kan ændres skrivebeskyttes –ved første skrivning fås sidefejl –side kopieres –proces genstartes –KUN sider der ændres kopieres

Datalogi 1F: Operativsystemer[6]16 Sideudskiftning •Der er ikke plads nok i det fysiske lager: –En enkelt proces har logisk lager > fysisk lager –Summen af processers logiske lager > fysisk lager –Der er foretaget megen fil I/O - I/O bufre optager fysisk lager: •begrænsning på I/O bufre eller •fri konkurrence

Datalogi 1F: Operativsystemer[6]17 Sideudskiftning •Strategi (politik) for at finde side, der skal udskiftes: –Er siden ændret? –First In First Out (FIFO) –Least Recently Used (LRU) –Næsten LRU •Strategi for fordeling af sidepladser mellem processer: –Fast minimum –Baseret på prioritet –Baseret på aktuelt forbrug

Datalogi 1F: Operativsystemer[6]18 Udskiftning af side •Når en side skiftes ud, skal indholdet skrives til sekundært lager (disk), men: –hvis sidens indhold tidligere er skrevet til disk er dette ikke nødvendigt •Man kan holde styr på ændringer vha. en statusbit (modify bit) i sidetabellen: –sættes automatisk af processor ved skrivning –kan implementeres manuelt ved at skrivebeskytte sider •Ved udskiftning prioriteres uændrede sider lavere (men udskift ikke alle uændrede sider før ændrede

Datalogi 1F: Operativsystemer[6]19 Mål for udskiftningsstrategi •Færrest mulige sidefejl •Evalueres ved hjælp af lagertilgangsmønstre/procesmix •Effektivitet ved forskellige mængder af fysisk lager?

Datalogi 1F: Operativsystemer[6]20 Sidefejl som funktion af sidepladser

Datalogi 1F: Operativsystemer[6]21 Først ind først ud •Simpel at implementere: –et tidsstempel per side i fysisk lager der angiver hvornår siden er læst ind/oprettet –udskift ældste side

Datalogi 1F: Operativsystemer[6]22 Beladys anomalitet •Adgangsmønster: 1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5 •Flere sidepladser => flere sidefejl sidepladser sidepladser sidefejl 10 sidefejl

Datalogi 1F: Operativsystemer[6]23 Beladys anomalitet

Datalogi 1F: Operativsystemer[6]24 Den optimale udskiftning •Udskift den side, der vil gå længst tid til der bliver brug for igen •Svær at implementere •Bruges til at bestemme nedre grænse for udskiftningsalgoritmer

Datalogi 1F: Operativsystemer[6]25 Least Recently Used (LRU) •Find sider der ikke er i brug længere – måske den der ikke har været brugt i længst tid? •LRU holder rede på hvornår en side sidst er blevet brugt •Hvis en side skal udskiftes, vælges den der ikke er blevet brugt i længst tid

Datalogi 1F: Operativsystemer[6]26 LRU eksempel

Datalogi 1F: Operativsystemer[6]27 LRU implementation •Tællere: –opdater per side tæller i sidetabel ved hver lagertilgang (dyrt) og søg efter laveste tæller ved sideudskiftning •Stak: –ved hver lagertilgang bliver den refererede side flyttet til øverst på stakken. Ved sideudskiftning tages sider fra bunden. •Problem: Det er dyrt at holde rede på hver enkelt lagertilgang – især uden hardwareunderstøttelse

Datalogi 1F: Operativsystemer[6]28 Næsten LRU •Mange processorer implementerer en ”tilgået” bit, der bliver sat når en side bliver brugt •En systemtråd, der aktiveres periodisk: –gemmer bitten for alle sider ved at skifte den ind som den mest betydende bit i en per side byte/ord/.. T1: : side refereret T2: : side ej refereret –nulstiller tilgået bitten på alle tilgåede sider

Datalogi 1F: Operativsystemer[6]29 2. chance udskiftning •En variation af FIFO •Ved sideudskiftning undersøges tilgået bitten på forreste side i FIFO: –er den 0, skiftes siden ud –er den 1: •opdateres sidens tidsstempel (flyttes forest i FIFO’en) •tilgået bitten sættes til 0 •næste side undersøges •Hvis en side bliver tilgået ofte nok, bliver den i fysisk lager

Datalogi 1F: Operativsystemer[6]30 2. chance - cirkulær kø

Datalogi 1F: Operativsystemer[6]31 Hvornår skrives en udskiftet side til sekundært lager? •I det foregående har vi antaget at alle sider er brugt •Typisk vil OS’et vedligeholde en pulje af frie sider: –ved sidefejl hentes den ønskede side ind i en ledig side –overførslen til disk af siden, der skal skiftes ud, startes –når overførslen er slut, tilføjes den frie side til puljen –sider i puljen kan genbruges •”Beskidte” sider (især hvis de ikke bliver brugt) kan skrives til disk når der er ledig diskkapacitet

Datalogi 1F: Operativsystemer[6]32 Allokering af sidepladser •Fordeling af sidepladser mellem processer –hvad er det mindst mulige antal sidepladser en proces kan klarer sig med –allokeringsstrategier –global versus lokal

Datalogi 1F: Operativsystemer[6]33 Mindste antal sidepladser •Hvor mange sider involverer en instruktion på en given arkitektur? –LDA R1, 4(R2) bruger 2 sider: •side med ordren og siden indeholdende *(R2+4) –REP MOVS bruger 3 sider: •side med ordren samt en side hver for src og dst –Ældre arkitekturer har mere komplicerede adresseringsmekanismer •En proces skal have sider nok til at udføre den afbrudte instruktion

Datalogi 1F: Operativsystemer[6]34 Allokeringsstrategier •Ligeligt fordelt mellem processer •Fordeling efter størrelse: –hver proces får en andel af fysisk lager svarende til andel af allokeret virtuelt lager •Fordeling efter prioritet –processer med højere prioritet får flere sidepladser

Datalogi 1F: Operativsystemer[6]35 Lokal eller global udskiftning •Lokal udskiftning: –en proces leder efter sider blandt sine egne sider •Global udskiftning: –en proces leder blandt alle sider –variant, der leder efter sider allokeret til processer med lavere prioritet •Typisk: Global strategi kombineret med minimumsallokering af sider

Datalogi 1F: Operativsystemer[6]36 Når der bare ikke er plads nok •Hvis en proces’ aktuelle lagerbehov ikke kan placeres i fysisk lager, har vi et problem: –processen afbrydes næsten hele tiden af sidefejl og gør næsten ingen fremskridt •Processen tærsker langhalm (thrashing) •Ofte et resultat af for høj multiprogrammeringsgrad

Datalogi 1F: Operativsystemer[6]37 Thrashing

Datalogi 1F: Operativsystemer[6]38 Hvad kan man gøre? •Mindske graden af multiprogrammering: –suspender en proces og frigiv dens sidepladser •Lokal allokering: –en proces, der ”tærsker”, påvirker ikke andre processer –men de mange sidefejl bruger stadig ressourcer •Forsøg at fastsætte hvor mange sider en proces har brug for – arbejdsmængden

Datalogi 1F: Operativsystemer[6]39 Working Set •De sider, en proces har tilgået inden for de sidste D millisekunder, udgår pga. temporal lokalitet, de sider WS(p) processen har brug for •Søg at holde WS(p) i fysisk lager for hver p •D for lille => dækker ikke det reelle WS(p) •D for stor => dækker mere end WS(p)

Datalogi 1F: Operativsystemer[6]40 Sidefejlsrate •Overvåg raten af sidefejl for en proces: –bliver raten for høj, er det et tegn på thrashing og der bør allokeres flere sidepladser til processen –bliver raten for lav, kan der fjernes sidepladser fra processen (hvis der er behov for dem hos andre processer)

Datalogi 1F: Operativsystemer[6]41 I/O & Caching •Fil I/O er typisk den største forbruger af cache hukommelse •Fil cache og procesallokeret lager konkurrerer om fysisk lager: –fast maksimum på fil cache –lad I/O cache indgå som en del af puljen af brugte sider •Brug lagerafbildet fil I/O for at undgå dobbelt buffering

Datalogi 1F: Operativsystemer[6]42 Lagerafbildet filadgang •Betragt en fil som en del af en proces’ virtuelle lager •Filen optræder som repræsentationen af denne del af det virtuelle lager på det sekundære lager •Hvis filen deles, vil siderne deles mellem processerne

Datalogi 1F: Operativsystemer[6]43 Lagerafbildet filadgang eksempel

Datalogi 1F: Operativsystemer[6]44 Sidefarvning •Processorcaches er baseret på fysiske adresser •Kontinuert fysisk lager håndteres fint af processorcache •De fysiske sider, der afbildes i samme del af cachen får samme farve •Virtuelt lager tildeles sider, så kontinuert virtuelt lager strækker sig over sider med forskellig farve

Datalogi 1F: Operativsystemer[6]45 Strukturering af applikationer •Ved beregninger der foretager sekventiel adgang til store mængder data, kan det betale sig at optimere efter: –processorcache –sidestørrelse •int A[][] = new int[1024][1024]; –Hver række placeres i på en side –for (j = 0; j < A.length; j++) for (i = 0; i < A.length; i++) A[i,j] = 0; –1024 x 1024 sidefejl

Datalogi 1F: Operativsystemer[6]46 Opsummering •Virtuelt lager med tvungent sideskift tillader: –OS’et at styre hvilke sidepladser allokeres til hvilke processer => bedre udnyttelse af lageret –En proces kan benytte mere lager end der er fysisk lager i en maskine •Det er dyrt at skifte en side ud (disk I/O er MEGET langsom i forhold til arbejdslageret) •Sideudskiftningsstrategier er vigtige – næsten LRU algoritmer de mest anvendte •Overforbrug af virtuelt lager giver seriøs nedgang i ydelse (thrashing)

Datalogi 1F: Operativsystemer[6]47 Resten af Dat 1F •Onsdag 4. juni 9-11: Spørgetime •Tirsdag 10. juni: Eksamen •Onsdag 25. juni: censormøde

Datalogi 1F: Operativsystemer[6]48 Kilder •Disse slides er baseret på SG03 samt de af forfatterne udviklede slides