Datorsystem: Guide till Sosim

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.