Datorsystem Laboration 3: Operativsystem Senast uppdaterad: 5 mars 2012 Version 1.3 Student: L¨arare: Underskrift: Underskrift: Datum: Datorsystem Laboration 3 1 Inneh˚ all 1 Inledning 2 1.1 Introduktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Labbens syfte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.3 Labbens uppl¨ agg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.4 Hemlaboration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.5 Litteratur till laborationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.6 Att genomf¨ ora labben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2 F¨ orberedelseuppgifter 3 2.1 Multiprogramming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 Minne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2.2.1 4 Vid redovisningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Labbuppgifter 3.1 3.2 3.3 5 Processorn och processer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.1 Om v¨ ardet “CPU time (%)” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.1.2 Processor-intensiva processer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.1.3 Blanda in en I/O-intensiv process . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.4 I/O-intensiva processer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 3.1.5 Blanda in en CPU-intensiv process . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.1.6 Vid redovisningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Context Switch och Time-Slice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.1 9 Vid redovisningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Minne och Swap . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.1 Om slidern clock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.2 Virtuellt minne och Page tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.3.3 Page tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.3.4 Paging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.3.5 Thrashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3.3.6 Vid redovisningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4 Redovisning 14 Datorsystem 1 Laboration 3 2 Inledning 1.1 Introduktion I denna labb kommer vi unders¨ oka hur operativsystemet sk¨oter den grundl¨aggande uppgiften att k¨ ora flera processer samtidigt och dela upp datorns prim¨arminne mellan dem. F¨ or att g¨ ora detta kommer vi anv¨ anda ett grafiskt program som l˚ ater oss simulera en processor med prim¨ arminne och ett operativsystem som k¨or flera processer samtidigt. 1.2 Labbens syfte 1. Du skall f˚ a en st¨ orre f¨ orst˚ aelse av vad som h¨ander n¨ar operativsystemet k¨or flera processer samtidigt. 2. Du skall f¨ orst˚ a hur processernas anv¨andning av I/O (Input/Output) p˚ averkar anv¨andingen av processorn. 3. Du skall kunna dra slutsatser om hur context switching p˚ averkar prestandan. 4. Du skall f¨ orst˚ a hur operativsystemet hanterar virtuellt minne med page tables och paging. 5. Du skall f˚ a en st¨ orre insikt i hur ett operativsystem kan k¨ora program som anv¨ander mer minne an det finns prim¨ arminne i datorn. ¨ 1.3 Labbens uppl¨ agg Labben ¨ ar uppdelad i tre delar; Processer (3.1), Context Switching (3.2) samt Minne och Swap (3.3). F¨ or varje del kommer ni utf¨ ora ett antal simuleringar och f¨ors¨oka svara p˚ a fr˚ agor och dra slutsatser om vad det ¨ ar som h¨ ander. 1.4 Hemlaboration Laborationen ¨ ar en hemlaboration. Det inneb¨ar att ni utf¨or den p˚ a f¨orhand, antingen p˚ a er egen dator eller i n˚ agon av universitetets datasalar, f¨or att senare redovisa resultatet f¨or en handledare. N¨ ar ni kommer till redovisningen m˚ aste ni kunna svara p˚ a alla fr˚ agor; b˚ ade f¨orberedelseuppgifter och de fr˚ agor som st¨ alls i de olika momenten av hemlaborationen. Observera att ni f¨orv¨antas ta med era l¨ osningar p˚ a papper. Datorer kommer inte vara till˚ atna p˚ a redovisningen. Under sektionen Redovisning (se sektion 4) finns en sammanfattning av de fr˚ agor ni skall svara p˚ a innan redovisningen. Observera: Det absolut viktigaste med labben ¨ar de slutsatser ni drar av att svara p˚ a fr˚ agorna, att enbart g¨ ora de praktiska momenten ¨ ar inte tillr¨ackligt. Laborationen kan g¨ oras tv˚ a och tv˚ a men redovisas individuellt. Tid f¨or redovisning bokas i Daisy. 1.5 Litteratur till laborationen • Kapitel 8.1-8.3 (s 278-306) i kursboken • Om multitasking: pre-emption - http://en.wikipedia.org/wiki/Preemption_(computing) • Guide till SOsim - http://people.dsv.su.se/~ahn/da-VT12/guide_till_sosim.pdf Datorsystem 1.6 Laboration 3 3 Att genomf¨ ora labben Om du vill g¨ ora labben p˚ a din egen dator m˚ aste du installera programmet SOsim. Programmet finns tyv¨ arr enbar till Microsoft Windows, om du har en annan plattform rekommenderar vi att du g¨or labben i en datorsal. 1. Ladda hem programmet fr˚ an http://www.training.com.br/sosim/sosim_v11_en.zip 2. Skapa en katalog n˚ agonstans p˚ a din dator (ex. ”C:\Program\sosim”) 3. Packa upp zip-filen ( sosim v11 en.zip ) till din nya katalog 4. Du kan starta programmet genom att k¨ora filen sosim.exe 5. Om programmet ¨ ar helt p˚ a portugisiska beh¨over du se till att samtliga filer fr˚ an zip-filen finns i den mapp du lagt sosim.exe Om du ist¨ allet g¨ or laborationen i en av datorsalarna kan du hitta SOsim p˚ a C:\sosim\sosim.exe. Det finns ingen genv¨ ag till programmet i startmenyn, man f˚ ar sj¨alv ¨oppna mappen och starta programmet. 2 Fo ¨rberedelseuppgifter 2.1 Multiprogramming a) Vad ¨ ar den grundl¨ aggande id´en med multiprogramming/multistasking? Svar: b) Vad ¨ ar en process i ett operativsystem? Svar: c) Vad inneb¨ ar time-sharing n¨ ar vi pratar om multitasking? Svar: d) Vad menar man med pre-emptive multitasking? Svar: e) Vad inneb¨ ar begreppet context switch? Svar: f) Vad ¨ ar en time slice? Svar: Datorsystem 2.2 Laboration 3 Minne a) Vad ¨ ar skillnaden mellan en fysisk och en logisk adress? Svar: b) Vad ¨ ar en page i minnes-sammanhang? Svar: c) Vad ¨ ar en frame i minnes-sammanhang? Svar: d) Vad anv¨ ands en page table till? Svar: e) Vad inneb¨ ar demand paging? Svar: f) Vad ¨ ar ett page fault? Svar: g) Vad a ands den till? ¨r en page file och vad anv¨ Svar: h) Vad menar man med trashing n¨ ar man pratar om paging? Svar: 2.2.1 Vid redovisningen Visa era svar p˚ a f¨ orberedelseuppgifterna f¨ or handledaren 4 Datorsystem Laboration 3 5 Figur 1: SOsim under k¨orning 3 Labbuppgifter I labben kommer vi anv¨ anda ett program som heter SOsim1 , se figur 1. SOsim simulerar hur ett operativsystem hanterar processer och virtuellt minne och programmet har ett enkelt grafiskt gr¨anssnitt uppdelat i flera f¨ onster. Det arbetar i huvudsak med processer som en anv¨andare kan starta och l˚ ata k¨ ora i ett simulerat operativsystem med en simulerad processor. Viktigt: kom ih˚ ag att starta om SOsim i de steg d¨ ar ni uppmanas till det. Programmet ¨ ar tyv¨ arr buggigt och kan inte starta mer ¨ an 20 processer under en k¨orning. Ett felmeddelande ni kan f˚ a¨ ar en dialogruta som s¨ager List index out of bounds, men det p˚ averkar inte sj¨ alva programk¨ orningen. Ni kommer i instruktionerna till de olika experimenten f˚ a uppmaningen att upprepa simuleringarna. Anledningen ¨ ar att programmet ¨ ar buggigt och genom att upprepa experimenten f¨ ors¨ akrar ni er om att programmet g¨ or vad som f¨ orv¨ antas. 3.1 Processorn och processer I den f¨ orsta delen tittar vi p˚ a hur olika sorters processer p˚ averkar hur mycket processorn anv¨ands (nyttjandegraden). Vi tittar p˚ a extremfall av processer; ett fall d¨ar vi har en m¨angd processor-intensiva processer och ett annat d¨ ar vi har en majoritet I/O-intensiva. 3.1.1 Om v¨ ardet “CPU time (%)” Under labben kommer ni att observera f¨ or¨ andringar i v¨ardet “CPU time (%)” i SOsims statistik-f¨onster. Det ger ett m˚ att p˚ a hur mycket simulatorns processorn anv¨ants under k¨orningen. 1 http://www.training.com.br/sosim/indexen.htm Datorsystem Laboration 3 6 V¨ ardet ¨ ar ett r¨ orligt medelv¨ arde, det ber¨ aknas allts˚ a som ett genomsnitt av processoranv¨andningen under hela simulateringen. Det ¨ ar d¨ arf¨ or inte det exakta v¨ardet som ¨ar intressant n¨ar ni g¨or testerna, utan ˚ at vilket h˚ all det r¨ or sig. Om v¨ ardet ¨ ar ¨ okande inneb¨ ar det att vi anv¨ander processorn mer ¨an det v¨arde som f¨or tillf¨allet visas (det kan vara s˚ a att vi faktiskt anv¨ ander processorn n¨astan 100% , ¨aven om “CPU time (%)” f¨or tillf¨allet bara visar 20%). Om v¨ ardet minskar inneb¨ ar det att vi anv¨ander processorn mindre ¨an det v¨arde som f¨or tillf¨allet visas. Desto snabbare v¨ ardet f¨ or¨ andras, desto l¨ angre ¨ar det genomsnitt som visas f¨or tillf¨allet fr˚ an den faktiska processoranv¨ andningen. Om v¨ ardet f¨ or¨ andras v¨aldigt l˚ angsamt inneb¨ar det att vi ¨ar n¨ara det faktiska v¨ ardet. Om man pausar simuleringen med Stop-knappen i SOSim Console, stoppas tyv¨arr inte insamlingen av statistik. Statistics-f¨ onstret kommer forts¨atta uppdatera v¨ardena trots att simuleringen inte k¨or, och d¨ arf¨ or kommer “CPU time (%)” felaktigt b¨orja sjunka. 3.1.2 Processor-intensiva processer 1) Starta SOsim. P˚ a skolans datorer hittar ni det i C:\Sosim\sosim.exe ¨ 2) Oppna f¨ onstret Statistics i SOsim Console. ¨ 3) G˚ a in i Options i f¨ onstret Memory Manager. Andra Min. free page list size till 40. Viktigt: s¨ att Fetch page policy till Pre-Paging manuellt, ¨ aven om den redan ¨ ar det. SOsim har en bugg om man inte uttryckligen s¨ atter v¨ardet efter att ¨andrat Min. free page list size. 4) S¨ att kontrollerna i Processor Manager -f¨onstret till f¨oljande v¨arden: • IO Wait Time: minimum (l¨ angst till v¨anster) • Time-slice: h¨ alften (i mitten) • Clock : maximum (l¨ angst till h¨ oger) 5) Starta 10 processer med profilen CPU. 6) L˚ at simulatorn k¨ ora i minst en minut och observera vilket tillst˚ and processerna befinner sig i, samt hur“CPU time (%)” f¨ or¨ andras. 7) L˚ at simulatorn forts¨ atta k¨ ora till n¨ asta experiment (3.1.3). Fr˚ agor att svara p˚ a: 1) Vilket tillst˚ and befinner sig processerna i f¨or det mesta? Vad inneb¨ar det? Svar: 2) Minskar eller ¨ okar “CPU time (%)” i Statistics-f¨ onstret? Ungef¨ar hur h¨ogt ¨ar det efter en minut? Svar: 3) Vad inneb¨ ar v¨ ardet p˚ a “CPU time (%)”, nyttjar vi processorn v¨al? Svar: Datorsystem 3.1.3 Laboration 3 7 Blanda in en I/O-intensiv process 1) L¨ agg till en ny process, men med profilen IO 1. 2) L˚ at simulatorn k¨ ora minst 1 minuter med den nya processen. Se till att den hinner hamna i Waiting-l¨ aget n˚ agra g˚ anger. Observera hur “CPU time (%)” f¨or¨andras. 3) Upprepa hela experimentet (fr˚ an 3.1.2) minst tv˚ a g˚ anger f¨or att kontrollera att SOSim ger liknande resultat. Fr˚ agor att svara p˚ a: 1) Ser ni n˚ agon skillnad i hur “CPU time (%)” f¨or¨andras av att vi lade till en process som anv¨ander mycket IO? Svar: 2) Vad drar ni f¨ or slutsats av det? Svar: 3.1.4 I/O-intensiva processer 1) starta om SOsim. En bugg g¨ or att man inte kan starta mer ¨an 20 processer under en k¨orning. ¨ 2) Oppna f¨ onstret Statistics i SOsim Console. ¨ 3) G˚ a in i Options i f¨ onstret Memory Manager. Andra Min. free page list size till 40. Viktigt: s¨ att Fetch page policy till Pre-Paging manuellt, ¨ aven om den redan ¨ ar det. SOsim har en bugg om man inte uttryckligen s¨ atter v¨ardet efter att ¨andrat Min. free page list size. 4) S¨ att kontrollerna i Processor Manager -f¨onstret till f¨oljande v¨arden: • IO Wait Time: minimum (l¨ angst till v¨anster) • Time-slice: h¨ alften (i mitten) • Clock : maximum (l¨ angst till h¨ oger) 5) Starta nu 10 processer med profilen IO 1. 6) K¨ or simulatorn i ungef¨ ar en minut och observera vilket tillst˚ and processerna befinner sig i (i Processor Manager ). Notera ocks˚ a hur v¨ardet p˚ a “CPU time (%)” f¨or¨andras. 7) L˚ at simulatorn forts¨ atta k¨ ora till n¨ asta experiment (3.1.5). Fr˚ agor att svara p˚ a: 1) Vilket tillst˚ and befinner sig processerna i f¨or det mesta? Vad betyder det? Svar: Datorsystem Laboration 3 8 ¨ 2) Okar eller minskar “CPU time (%)” i Statistics-f¨ onstret? Ungef¨ar hur h¨ogt ¨ar det efter en minut? Svar: 3) Vad inneb¨ ar v¨ ardet, nyttjar vi processorn bra? Svar: 4) Om ni j¨ amf¨ or med n¨ ar vi hade 10 processorintensiva processer (uppgift 3.1.2), vad kan ni dra f¨ or slutsats av skillnaderna mellan v¨ ardena p˚ a “CPU time (%)”? Svar: 3.1.5 Blanda in en CPU-intensiv process 1) L¨ agg till ytterligare en process, men med profilen CPU. 2) L˚ at simulatorn k¨ ora minst 1 minut samtidigt som ni observerar vad som h¨ander med “CPU time (%)”. 3) Upprepa hela experimentet (fr˚ an 3.1.4) minst tv˚ a g˚ anger f¨or att kontrollera att SOSim ger liknande resultat. Fr˚ agor att svara p˚ a: 1) Hur f¨ or¨ andras “CPU time (%)”? Svar: 2) Varf¨ or blir det s˚ a? Vad ¨ ar skillnaden fr˚ an uppgift 3.1.3? Svar: 3.1.6 Vid redovisningen Visa era svar p˚ a fr˚ agorna och f¨ orklara de olika v¨ arden ni sett p˚ a “CPU time (%)” n¨ ar vi hade en majoritet CPU-intensiva j¨ amf¨ ort med en majoritet IO-intensiva processer. F¨ orklara vad som h¨ ande n¨ ar vi lade till en process med annan profil. Datorsystem 3.2 Laboration 3 9 Context Switch och Time-Slice Vi skall nu titta p˚ a hur anv¨ andandet av processorn (“CPU time (%)”) och antalet processer som k¨ ors per sekund (“Throughput (Proc/s)”) p˚ averkas av hur l¨ange vi l˚ ater varje process k¨ora. 1) starta om SOsim. ¨ 2) Oppna f¨ onstret Statistics i SOsim Console. ¨ 3) G˚ a in i Options i f¨ onstret Memory Manager. Andra Min. free page list size till 40. Viktigt: s¨att Fetch page policy till Pre-Paging manuellt, ¨aven om den redan ¨ar det. SOsim har en bugg om man inte uttryckligen s¨ atter v¨ ardet efter att ¨andrat Min. free page list size. 4) S¨ att kontrollerna i Processor Manager -f¨onstret till f¨oljande v¨arden: • IO Wait Time: minimum (l¨ angst till v¨anster) • Time-slice: minimum (l¨ angst till v¨anster) • Clock : maximum (l¨ angst till h¨ oger) 5) Starta 10 processer med profilen CPU. 6) L˚ at simulatorn k¨ ora en minut och observera v¨ardet av “CPU time (%)” och “Throughput (Proc/s)”i Statistics-f¨ onstret. ¨ Time-slice i Processor Manager -f¨onstret till max (l¨angst till h¨oger). 7) Oka 8) Observera vad som nu h¨ ander med “CPU time (%)” och “Throughput (Proc/s)”. 9) Prova s¨ atta Time-slice till olika v¨ arden och observera hur fort “CPU time (%)” f¨or¨andras och ˚ at vilket h˚ all det r¨ or sig. 10) Upprepa experimentet minst tv˚ a g˚ anger f¨or att kontrollera att SOSim ger liknande resultat. Fr˚ agor att svara p˚ a: 1) Hur f¨ or¨ andras v¨ ardena “CPU time (%)” och “Throughput (Proc/s)”n¨ar vi a¨ndrar v¨ardet p˚ a timeslice? Svar: 2) Varf¨ or blir det s˚ a? Svar: 3.2.1 Vid redovisningen F¨ orklara f¨ or handledaren varf¨ or ni f˚ ar de olika v¨ ardena p˚ a “CPU time (%)”. Ledning: Vad m˚ aste operativsystemet g¨ ora vid en context switch?. Datorsystem 3.3 Laboration 3 10 Minne och Swap Vi skall nu titta n¨ armare p˚ a hur operativsystemet anv¨ander virtuellt minne. SOsim utg˚ ar fr˚ an en sidindelad minnesmodell med 100 ramar i prim¨arminnet. Varje process kan som mest ha 5 sidor virtuellt minne tilldelat till sig. Genom att s¨ atta Min. free page list size i inst¨allnigarna f¨or Memory Manager kan vi simulera olika m¨ angd tillg¨ angligt prim¨ arminne. Vi skall titta n¨armare p˚ a vad som h¨ander om m¨angden prim¨arminne ¨ ar mindre ¨ an det minne v˚ ara k¨ orande processer kr¨aver. Vi tittar ocks˚ a p˚ a skillnaden mellan virtuellt minne och fysiskt minne. 3.3.1 Om slidern clock Clock styr hur fort den simulerade processorn arbetar, och kan anv¨andas f¨or att styra hur snabbt SOsim k¨ or processer. ni kan ¨ oka eller minska v¨ ardet som ni vill, det p˚ averkar inte de v¨arden vi ¨ar intresserade av i simuleringen. I de fall ni tycker saker g˚ ar f¨ or fort (text i Loggen, f¨or¨andringar i PCB, etc.) kan ni st¨alla ned clock. Om ni ist¨ allet vill se hur v¨ arden i statistics-f¨onstret ¨andras under tid kan det vara bra att dra upp clock till max s˚ a att ni inte beh¨ over v¨ anta lika l¨ange. 3.3.2 Virtuellt minne och Page tables 1) Starta om SOsim. ¨ 2) Andra i Memory Manager Options s˚ a att Fetch page policy ¨ar Demand Paging och Min. free page list size a a att ha plats f¨or 10 sidor i prim¨arminnet. ¨r 90. Vi kommer d˚ ¨ 3) Oppna f¨ onstret Log och Statistics i SOsim Console. ¨ 4) Oppna f¨ onstret Pagefile fr˚ an Memory Manager. 5) S¨ att kontrollerna i Processor Manager -f¨onstret till f¨oljande v¨arden: • IO Wait Time: minimum (l¨ angst till v¨anster) • Time-slice: maximum (l¨ angst till h¨oger) • Clock : maximum (l¨ angst till h¨ oger), s˚ a att simuleringen k¨or s˚ a fort som m¨ojligt 6) Starta tv˚ a processer samtidigt med profilen CPU. 7) L˚ at simulatorn k¨ ora i en minut och observera vad som h¨ander i Processor Manager - och Memory Manager -f¨ onstren medan processerna k¨or. 8) Titta ocks˚ a p˚ a hur “CPU time (%)” f¨or¨andras. 9) Upprepa experimentet minst tv˚ a g˚ anger f¨or att kontrollera att SOSim ger liknande resultat. 10) L˚ at experimentet forts¨ atta k¨ ora, i n¨asta uppgift (3.3.3) anv¨ander vi samma simulering. Fr˚ agor att svara p˚ a: 1) Vad h¨ ander i Memory Manager -f¨ onstret under k¨orningen? Svar: Datorsystem Laboration 3 11 2) I loggen f˚ ar vi meddelanden om Page Fault, varf¨or? Svar: 3) Processerna b¨ orjar med att g¨ ora IO-operationer, trots att de startade med profilen CPU, vad beror det p˚ a? Ledning: vad betyder demand paging som vi st¨allde in i Memory Manager ? Svar: 4) Forts¨ atter processerna g¨ ora IO-operationer under simuleringen? Svar: ¨ 5) Okar eller minskar “CPU time (%)”? Svar: 3.3.3 Page tables 1) Titta nu p˚ a processernas PCB (process control block). Ni hittar det genom att b¨orja med att klicka p˚ a Process->Select i SOsim Console. ¨ 2) I den nya dialogen som o a en process och sedan knappen PCB. Oppna fliken ¨ppnas klickar ni p˚ PPT (Process Page Table). H¨ ar kan ni se en tabell med 5 rader. Med de r¨oda pilarna kan ni stega mellan de tv˚ a processerna. 3) Titta p˚ a kolumnerna VPN (Virtual Page Number) och PFN (Physical Frame Number). J¨amf¨ or v¨ ardena med vad ni ser i Memory Manager. Fr˚ agor att svara p˚ a: 1) Vad anv¨ ander operativsystemet siffrorna i kulumnen VPN och PFN till? Svar: Datorsystem 3.3.4 Laboration 3 12 Paging 1) Starta om SOsim. ¨ 2) Andra i Memory Manager Options s˚ a att Fetch page policy ¨ar Demand Paging och Min. free page list size a a att ha plats f¨ or 10 sidor i prim¨ arminnet. ¨r 90. Vi kommer d˚ ¨ 3) Oppna f¨ onstret Log och Statistics i SOsim Console. ¨ 4) Oppna f¨ onstret Pagefile fr˚ an Memory Manager. 5) S¨ att kontrollerna i Processor Manager -f¨onstret till f¨oljande v¨arden: • IO Wait Time: minimum (l¨ angst till v¨anster) • Time-slice: maximum (l¨ angst till h¨oger) • Clock : maximum (l¨ angst till h¨ oger), s˚ a att simuleringen k¨or s˚ a fort som m¨ojligt 6) Starta tre processer samtidigt med profilen CPU. 7) L˚ at simulatorn k¨ ora i en minut och observera vad som h¨ander i Processor Manager - och Memory Manager - f¨ onstren medan processerna k¨or. L¨agg a¨ven m¨arke till vad som h¨ander i Process Page Table (PPT) f¨ or den f¨ orsta processen. 8) Notera ˚ at vilket h˚ all “CPU time (%)” r¨or sig under k¨orningen. 9) Upprepa experimentet minst tv˚ a g˚ anger f¨or att kontrollera att SOSim ger liknande resultat. Fr˚ agor att svara p˚ a: 1) Vad ¨ ar det vi ser h¨ anda i Memory Manager och Pagefile? Svar: 2) Hur a ¨ndras “CPU time (%)” under k¨orningen? Svar: 3) Vi har plats f¨ or 10 sidor i prim¨ arminnet men k¨or 3 processer som alla anv¨ander 5 sidor var. Var hamnar de som inte f˚ ar plats i arbetsminnet och n¨ar hamnar de d¨ar? Svar: Datorsystem 3.3.5 Laboration 3 13 Thrashing 1) Starta om SOsim. ¨ 2) Andra i Memory Manager Options s˚ a att Fetch page policy ¨ar Demand Paging och Min. free page list size a a att ha plats f¨or 5 sidor i prim¨arminnet. ¨r 95. Vi kommer d˚ ¨ 3) Oppna f¨ onstret Log och Statistics i SOsim Console. ¨ 4) Oppna f¨ onstret Pagefile fr˚ an Memory Manager. 5) S¨ att kontrollerna i Processor Manager -f¨onstret till f¨oljande v¨arden: • IO Wait Time: minimum (l¨ angst till v¨anster) • Time-slice: maximum (l¨ angst till h¨oger) • Clock : maximum (l¨ angst till h¨ oger) 6) Starta tre processer samtidigt med profilen CPU. 7) L˚ at simulatorn k¨ ora i tv˚ a minuter och observera vad som h¨ander med v¨ardet “CPU time (%)”. Titta ocks˚ a p˚ a vad som h¨ ander i f¨onstret Processor Manager och i vilket tillst˚ and processerna befinner sig. 8) Upprepa experimentet minst tv˚ a g˚ anger f¨or att kontrollera att ni f˚ ar liknande resultat. Fr˚ agor att svara p˚ a: 1) Hur ser det ut nu? Vad ser vi h¨ anda i Processor Manager? Svar: 2) Vad h¨ ander med v¨ ardet “CPU time (%)” i Statistics-f¨onstret? Svar: 3) Vad ¨ ar det som p˚ ag˚ ar? Ledning: Vad inneb¨ar begreppet thrashing n¨ar det g¨alller paging? Svar: 3.3.6 Vid redovisningen Visa era svar f¨ or handledaren och f¨ orklara vad som skiljer de olika k¨ orningarna ˚ at. Vad ¨ ar problemet i den sista k¨ orningen (uppgift 3.3.5) j¨ amf¨ ort med de andra? Datorsystem 4 Laboration 3 14 Redovisning Redovisningen bokas genom val av grupp i Daisy. Under redovisningen skall ni kunna svara p˚ a fr˚ agorna f¨ or de olika momenten samt motivera de svar ni f˚ att. De slutsatser ni dragit av att svara p˚ a de olika fr˚ agorna ¨ar det viktiga. P˚ a redovisningen kan handledaren st¨ alla f¨ oljdfr˚ agor f¨ or att kontrollera att ni f¨orst˚ att vad fr˚ agorna egentligen handlar om. Vid redovisningen skall ni visa svaren p˚ a fr˚ agorna f¨or: • F¨ orberedelseuppgifter: 2 • Processorn och processorer: 3.1 • Context switching: 3.2 • Minne och Swap: 3.3
© Copyright 2024