Datorsystem: Guide till Sosim Senast uppdaterad: 16 oktober 2011 Datorsystem Guide till Sosim 1 Inneh˚ all 1 Inledning 1.1 2 Introduktion 1.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Starta Sosim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ¨ 2 Oversikt 3 3 Log och Statistics 4 4 Memory Manager 5 4.1 Virtual Memory Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 4.2 Pagefile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 5 Att starta och k¨ ora processer 7 5.1 Skapa en process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2 Inspektera processer och deras kontrollblock . . . . . . . . . . . . . . . . . . . . . . . . . . 8 5.2.1 PCB: Process Control Block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 5.2.2 PPT (se figur 11): Process Page Table . . . . . . . . . . . . . . . . . . . . . . . . . 9 Datorsystem 1 Guide till Sosim 2 Inledning 1.1 Introduktion SOsim1 ¨ ar ett grafiskt program f¨ or att simulera hur ett operativsystem hanterar processer. Det l˚ ater oss p˚ a ett relativt enkelt s¨ att unders¨ oka vissa grundl¨aggande koncept n¨ar det g¨aller operativsystem. Det ¨ ar skrivet i programmeringsspr˚ aket Delphi av Luiz Paulo Maia. Programmet ¨ar fritt tillg¨angligt (dock utan k¨allkod) och ¨ ar utvecklat f¨ or att anv¨andas vid undervisning i operativsystem. Tyv¨ arr har det ocks˚ a en m¨ angd buggar som g¨or det problematiskt att anv¨anda. 1.1.1 Starta Sosim P˚ a DSV:s datorer finns Sosim i C:\Sosim\. Du startar det genom att k¨ora sosim.exe. 1 http://www.training.com.br/sosim/indexen.htm Datorsystem Guide till Sosim 3 ¨ Figur 1: Oversikt ¨over Sosim 2 ¨ Oversikt Sosim ¨ ar uppdelat i flera f¨ onster, i Figur 1 ser vi hur det ser ut n¨ar det startas. De olika f¨ onstren a ¨r: • Sosim console: Detta ¨ ar det f¨ onster som kontrollerar resten av simulatorn, h¨ar skapas nya processer och h¨ar kan vi ocks˚ a tillf¨ alligt stoppa hela simulationen. I menyn Process finns viktiga alternativ som Create och Select som vi kommer titta n¨ armare p˚ a nedan. • Processor Manager: H¨ ar visas de olika processernas tillst˚ and i operativsystemet. Tillst˚ anden ¨ar: – Ready: H¨ ar ¨ ar de processer som ¨ar redo att k¨ora. De ¨ar sorterade efter prioritet. – Running: Den process som f¨ or tillf¨allet k¨or – Waiting: N¨ ar en process beg¨ ar en IO-operation l¨aggs den i Waiting-k¨on, dvs den v¨antar p˚ a att dess beg¨ arda operation skall bli f¨ardig. L¨ angst ned i f¨ onstret finns ocks˚ a tre viktiga kontroller som styr simuleringen: – IO wait time: Styr hur l˚ ange en process som g¨or en IO-operation m˚ aste v¨anta innan den blir f¨ ardig – Time-slice: Avg¨ or hur l˚ ang processortid varje process f˚ ar n¨ar den k¨or – Clock: Avg¨ or hur snabbt processorn jobbar • Memory Manager: H¨ ar visas det simulerade datorns prim¨arminne. Det ¨ar indelat i 100 frames som processer kan anv¨ anda sig av. Det g˚ ar inte att f¨ or¨andra antalet ramar i Sosim, men vi kan begr¨ansa hur m˚ anga av dem processer f˚ ar anv¨ anda sig av. Datorsystem Guide till Sosim 4 ¨ Figur 2: Oppnad Log och Statistics Figur 3: Log och Statistics 3 Log och Statistics Det finns tv˚ a intressanta f¨ onster vi kan titta i f¨or att f˚ a mer information om vad som h¨ander under k¨ orningen av Sosim, Log och Statistics. Du o¨ppnar dem genom att g˚ a till Windows-menyn i SOsim Console, se figur 2, och v¨ alja Log och Statistics i menyn. Efter att du aktiverat menyalternativen visas tv˚ a nya f¨onster, se figur 3. • Log: H¨ ar ges text-utskrifter f¨ or allt som h¨ander i simuleringen, och det a¨r v¨aldigt anv¨andbart f¨or att se vad som h¨ ander med processer medan de k¨or. • Statistics: H¨ ar kan vi se sammanst¨ allningar f¨ or olika statistiska v¨arden som simulatorn samlar in medan den k¨ or. Vi kommer framf¨ orallt att titta p˚ a v¨ardet CPU Time som a¨r ett m˚ att p˚ a hur mycket processorn anv¨ ands under k¨ orning. Datorsystem Guide till Sosim 5 ¨ Figur 4: Oversikt av prim¨ arminnet och en process som har f˚ att ramar tilldelade till sig Figur 5: Inst¨allningar f¨or Memory Manager 4 Memory Manager Memory Manager a onster som visar det simulerade datorns prim¨arminne. Det a¨r indelat i 100 olika ¨r det f¨ ramar som processer kan anv¨ anda sig av medan de k¨or. N¨ar proceser har tilldelats ramar i prim¨arminnet visas det genom att ramen markeras med en lite cirkel i samma f¨arg som den process som startats, se figur 4. Memory manager har ocks˚ a tv˚ a meny-alternativ, Options och Windows. 4.1 Virtual Memory Options Options-menyn ¨ oppnar ett nytt f¨ onster d¨ar vi kan g¨ora inst¨allningar f¨or hur minnet skall hanteras, se figur 5. De olika inst¨ allningarna vi kan g¨ ora ¨ar: • Fetch page policy: H¨ ar kan vi ange hur vi vill att operativsystemet skall h¨amta processers sidor till prim¨arminnet. Vi kan v¨ alja mellan: – Pre-paging: Datorsystem Guide till Sosim 6 Figur 6: Pagefile-f¨onstret Operativsystemet kommer f¨ ors¨oka f¨orutse vilka sidor en process kommer anv¨anda och h¨amta in dem innan processen k¨ or. – Demand paging: Sidor laddas inte in i minnet p˚ a f¨orhand, utan f¨orst n¨ar en process f¨ors¨oker komma ˚ at dem. Det betyder att en sida laddas in f¨orst n¨ar det blir ett page fault. • Implement page frame limit: Spekulation: F¨ orhindrar processer fr˚ an att anv¨anda fler ramar ¨an de begr¨ansats till n¨ar de skapas. Att ¨ andra det h¨ ar alternativet verkar inte ha n˚ agon effekt. • Min. free page list size (%): H¨ ar kan vi st¨ alla in hur m˚ anga ramar som m˚ aste vara lediga, och d¨armed begr¨ansa hur m˚ anga ramar processer som k¨ or i simulatorn kan anv¨anda. Antalet lediga ramar f¨or processer blir 100 minus det v¨ arde vi anger h¨ ar. Om vi allts˚ a har 80 som v¨arde, kommer bara 20 ramar att kunna anv¨ andas av processer, om det ¨ overstigs m˚ aste n˚ agon swappas ut till sidfilen (Pagefile). 4.2 Pagefile Det f¨ onster som kan ¨ oppnas via Memory Managers Windows-meny ¨ar Pagefile, se figure 6. H¨ar kan vi se de processer som swappats ut fr˚ an prim¨ arminnet till den simulerade datorns swap-utrymme. Datorsystem Guide till Sosim 7 Figur 7: Starta en process via Sosim Console Figur 8: Dialog f¨or att skapa en ny process 5 Att starta och k¨ ora processer 5.1 Skapa en process En process skapas via SOsim Console-f¨ onstret. V¨alj Create under menyn Process, se figur 7. Nu ¨oppnas en dialog d¨ ar du f˚ ar ange egenskaperna f¨ or den nya processen, se figur 8. De inst¨ allningar som kan g¨ oras i dialogen f¨or att skapa processer ¨ar: • Priority: Anger vilken prioritet processen har. Desto h¨ogre prioritet, desto oftare kommer operativsystemet l˚ ata den k¨ ora. • Max frames: H¨ ar kan vi ange hur m˚ anga ramar en process f˚ ar anv¨anda som mest. Max ¨ar 5, och vi kommer inte att ¨ andra p˚ a det v¨ ardet i labben. • Process profile: Det h¨ ar ¨ ar en av de viktigaste inst¨ allningarna f¨or processer. Den avg¨or hur processen beter sig. Det finns tre huvudsakliga kategorier: – CPU G¨ or att processen bara anv¨ander sig av processorn, den kommer allts˚ a inte att g¨ ora n˚ agra IO-operationer (om den inte m˚ aste p˚ a grund av ett sidfel (page fault). – IO G¨ or att processen i stort sett enbart g¨or IO-operationer. – MIX G¨ or att processen v¨ axlar mellan IO-operationer och processor-operationer, vi kommer inte anv¨ anda denna profil under labben, eftersom vi i f¨orsta hand ¨ar intresserade av extremfallen. Datorsystem Guide till Sosim 8 Figur 9: Dialog f¨or att skapa en ny process • Process color: H¨ ar kan vi v¨ alja vilken f¨ arg v˚ ar nystartade process skall vara. I Sosim anv¨ands f¨argen f¨or att enkelt kunna identifiera en process. Tips: f¨ors¨ok undvika gult, d˚ a det ¨ar sv˚ art att l¨asa i Loggen vad en process med gul f¨ arg h˚ aller p˚ a med, tyv¨arr kommer Sosim sj¨alv att f¨oresl˚ a det som f¨arg p˚ a den tredje process vi skapar. • Num. of processes: Det h¨ ar ¨ ar ett v¨ aldigt smidigt alternativ f¨or att skapa flera processer med samma egenskaper samtidigt. Sosim kommer automatiskt att ge dem olika f¨arg. 5.2 Inspektera processer och deras kontrollblock En mycket anv¨ andbar dialog finns under meny-alternativet Process->Select i Sosim Console, det ¨oppnar dialogen Select a Process (se figur 9) d¨ ar vi kan se och styra processerna. De olika knapparna h¨ar ¨ar: • Suspend: G¨ or att en process pausar, och l¨ aggs ut sidan tills vi anv¨ander Resume. • Resume: G¨ or att en process som tidigare pausats med Suspend ˚ aterigen l¨aggs i ready-k¨on. • Delete: Avslutar en process. Varning: Delete verkar bugga ibland, och ¨aven om vi tar bort en process med Delete kan vi inte starta mer ¨ an 20 processer under en k¨orning av Sosim. • Priority: Med priority kan vi a ¨ndra den prioritet en process har. • PCB: St˚ ar f¨ or Process Control Block och o¨ppnar en dialog med information om processen. Vi tittar mer p˚ a denna dialog nedan. Datorsystem Guide till Sosim 9 Figur 10: Process Control Block Figur 11: Process Page Table 5.2.1 PCB: Process Control Block Dialogen Process Control Block (se figur 10) ¨oppnas n¨ar du trycker p˚ a knappen PCB i Select-f¨onstret. Den ¨ ar indelad i tv˚ a flikar, varav den f¨ orsta (PCB) visar viktig information om varje process som k¨ or i Sosim, och speglar hur riktiga operativsystem h˚ aller koll p˚ a sina processer. L¨ angst ned finns tv˚ a r¨ oda pilar som vi kan anv¨anda f¨or att stega mellan olika processer i systemet. 5.2.2 PPT (se figur 11): Process Page Table Denna flik inneh˚ aller den viktiga sidtabellen (page table). Det ¨ar den operativsystemet anv¨andar f¨or att h˚ alla reda p˚ a var en process virtuella minne (dess sidor, pages) finns p˚ a datorns fysiska minne. • VPN: Virtual Page Number Vilket virtuell sida denna rad g¨ aller • PFN: Page Frame Number Talar om vilket ram i prim¨ arminnet sidan ligger p˚ a, eller vilken plats i swap-arean (page file) den ligger p˚ a. • V bit: Valid bit Talar om ifall sidan ¨ ar giltig eller inte, det kommer vi inte att prata om under labben. • M bit: Modified bit Talar om ifall sidan har modifierats sen den l¨asts in i prim¨arminnet. Detta kommer vi inte heller ta upp under labben. Datorsystem Guide till Sosim 10 • Place: Talar om var sidan finns: – Mem: Sidan finns i prim¨ arminnet – PFile: Sidan finns i Pagefile, dvs i swap-utrymmet. – Exe: Ovanligt tillst˚ and som vi bara ser om vi valt demand paging, och precis n¨ar en process skapas. Det motsvarar att sidan inte l¨ asts in fr˚ an processens programfil. Detta ¨ar ocks˚ a n˚ agot vi inte behandlar under labben.
© Copyright 2024