Professional Documents
Culture Documents
Frelsning 10
Dagens frelsning
Realtidssystem
Device drivers
(Multimedia video)
Realtidssystem
Karakteristika
Mjuka realtidssystem
Hrda realtidssystem
Schemalggning
Realtidssystem
Uppgifter, jobb, som mste lsas inom givna
tidsramar
Ett jobb r oftast en ganska liten berkning
Ex:
Lsa av och analysera sensordata
Styra saker, ex. tndning i en bilmotor, instabila
flygplan (JAS 39)
OS Frelsning 10,
Realtidssystem, Device Drivers
Jobb
Ett jobb har fljande attribut
starttid S r det tidigaste tillflle d det kan
startas
berkningstid C r den maximala exekveringstid
det kan behva fr att utfra sin uppgift (kallas
ocks critical path, kritisk vg)
deadline D r tiden d det mste vara utfrt
OS Frelsning 10,
Realtidssystem, Device Drivers
Periodiska jobb
Ett periodiskt jobb skter en uppgift som
utfrs med regelbundna intervall
Styrsystem (mt,rkna,styr)
Mtdatainsamling
Aperiodiska jobb
Realtidsystem innehller ofta uppgifter som
inte r periodiska utan frorsakas av ngon
hndelse
Ex: Styrsystem: ngon parameters vrde indikerar
att systemet mste ndstoppas
OS Frelsning 10,
Realtidssystem, Device Drivers
OS Frelsning 10,
Realtidssystem, Device Drivers
10
11
OS Frelsning 10,
Realtidssystem, Device Drivers
12
13
Prioritetsinversion
En process med hg prioritet kan bli tvungen
att vnta p en process med lgre prioritet
om:
Processen med lg prioritet hller en resurs som
inte kan gras pre-emption p och som procesen
med hg prioritet behver
Lsningar:
En process (jobb) fr bara kra om den kan f alla
resurser p en gng som den behver fr att
slutfra sin uppgift (n sin deadline i tid)
Ha bara resurser som kan pre-emptas
OS Frelsning 10,
Realtidssystem, Device Drivers
14
Prioritetsinversion forts.
- att rva prioriteter
Antag att en hgprioriterad process begr att en lgprioriterad
process skall utfra ett jobb t den och att den hgprioriterade
mste ha svaret innan den kan fortstta
- den hgprioriterade processen kan d f vnta p andra
processer med mellanhga prioriteter som avbryter den
lgprioriterade!
15
Schemalggning i realtidssytem
-Ml och kvalitetesmtt
Ml: klara alla deadlines
En optimal realtidsschemalggningsalgoritm r optimal om
den bara misslyckas med att klara en deadline om ingen
annan schemalggningsalgoritm heller klarar det
OS Frelsning 10,
Realtidssystem, Device Drivers
16
Maximal frsening
- exempel
T1
T2
d1
T3
d2
d3
T4
Missar alla
deadline
T5
d4
d5
Maximal frsening
T2
T3
d1
T4
T5
d2
d3
T1
d4
OS Frelsning 10,
Maximal
frsening
Realtidssystem,
Device Drivers
Missar en
deadline
d5
17
Bivillkor fr schemlggning
Bivillkoren fr en realtidsschemalggning kan
inkludera
Deadlines
Berkningstider, C
Starttider, S
Ordning mellan jobb (ex. jobb A mste vara klart
fre jobb B)
Vikter
OS Frelsning 10,
Realtidssystem, Device Drivers
18
Schemalggningsvarianter
- del 1
Statisk schemalggning
Dynamisk schemalggning
19
Schemalggningsvarianter
- del 2
Off-line schemalggning
Schemalggningen berknas off-line
Kan gras fr statisk schemalggning
Br ocks anvndas fr att testa vrsta fallet vid
dynamisk schemalggning
On-line schemalggning
Schemalgningen berknas vid exekveringen
OS Frelsning 10,
Realtidssystem, Device Drivers
20
OS Frelsning 10,
Realtidssystem, Device Drivers
21
Periodiska system
Ndvndigt villkor fr att ett periodiskt
system skall vara schemalggningsbart
Ci/Pi <= 1
C/P r andelen av perioden som en process
mste f exekvera (last)
OS Frelsning 10,
Realtidssystem, Device Drivers
22
OS Frelsning 10,
Realtidssystem, Device Drivers
23
OS Frelsning 10,
Realtidssystem, Device Drivers
24
1)
: 0.69
Grnsvrde d n gr mot
1/n
OS Frelsning 10,
Realtidssystem, Device Drivers
25
26
Exempel p schemalggning
RMS prioriteter
TA (C=15, P=30) 1/30
TB (C=15, P=40) 1/40
TC (C=5, P=50)
1/50
RMS
EDF
0
10
20
30
40
50
60
70
OS Frelsning 10,
Realtidssystem, Device Drivers
80
90
100
110
120
27
OS Frelsning 10,
Realtidssystem, Device Drivers
28
29
Device drivers
Allmnt
Lite om LINUX
systemanrop
avbrottshantering
initialisering nr device drivern installeras
att stda upp om device drivern tas bort
OS Frelsning 10,
Realtidssystem, Device Drivers
31
OS Frelsning 10,
Realtidssystem, Device Drivers
32
Programmering
Oftast vanlig C med lite assembler
Alla Cs biblioteksfunktioner r inte tillgngliga
Krnan har oftast egna motsvarigheter
Ex. frn LINUX: kmalloc(), printk()
OS Frelsning 10,
Realtidssystem, Device Drivers
33
Kompilering
En device driver mste kompileras:
Fr en viss arkitektur
Normalt ocks fr en viss version av OS-krnan
OS Frelsning 10,
Realtidssystem, Device Drivers
34
Debuggning
I de flesta fall kan man skriva meddelanden till en
demon eller till en speciell fil frn kod i krnan
En del system har inbyggda debuggers i krnan
Inte LINUX eftersom Linus T anser att interaktiva
debuggers ltt leder till patchar
Fr LINUX finns separatutvecklade krndebuggers (kdb)
Fel leder ofta till att den process som krde i device
drivern dr men krnan verlever oftast
Har man riktig otur kan man f en maskin att hnga
sig helt s den mste power-switchas
OS Frelsning 10,
Realtidssystem, Device Drivers
35
Network interfaces
Syns i filsystemet
Hanterar paket istllet fr strmmar av data
OS Frelsning 10,
Realtidssystem, Device Drivers
36
LINUX moduler
LINUX har ett modulsystem fr att kunna
lnka in/ta bort device drivers dynamiskt
Inte lnkning i vanlig mening
Det byggs ingen exekverbar fil
Objektkoden lnkas till krnans funktioner
genom att funktionspekare stts upp
37
LINUX moduler
- forts.
OS Frelsning 10,
Realtidssystem, Device Drivers
38
LINUX moduler
insmod
kernel proper
module
register_capability()
init_module()
capabilities[]
printk()
...
...
rmmod
cleanup_module()
OS Frelsning 10,
Realtidssystem, Device Drivers
unregister_capability()
39
U
s
e
r
s
p
a
c
e
K
e
r
n
e
l
s
p
a
c
e
I TRAP-handlern
Kolla att det var ett systemanrop
Anvnd koden fr systemanropet och sl upp/anropa
funktionen frn en tabell
OS Frelsning 10,
Realtidssystem, Device Drivers
%g0
exit(%o0)
40
U
s
e
r
s
p
a
c
e
K
e
r
n
e
l
s
p
a
c
e
TRAP-vektor
DeviceDriverTabell
%g0
fd -> i-nodstabell
write_to_disk
OS Frelsning 10,
Realtidssystem, Device Drivers
41
LINUX moduler
Globala variabler och funktioner blir normalt
synliga fr hela krnan nr en modul
installeras
Fr att undvika name-space pollution
Deklarera funktioner och globala variabler som
bara anvnds lokalt i modulen som static
Vlj namn p sdant som skall vara synligt utanfr
modulen s att det gr att frst vad de anvnds
till
OS Frelsning 10,
Realtidssystem, Device Drivers
42
43
OS Frelsning 10,
Realtidssystem, Device Drivers
44
45
OS Frelsning 10,
Realtidssystem, Device Drivers
46
Lite om multimedia
Multimedia
Integrering av
Video (rrliga bilder)
Ljud
Text (textremsor)
48
Karakteristika
Ett dokument (t.ex. en film) kan best av
Videoinformation (bilder)
Flera ljudspr p olika sprk
Flera textspr p olika sprk
Extra ljud och bildspr fr snabbspolning
49
50
Realtidskrav
data mste komma i jmn strm
Frutsgbarhet
efter en bild kommer nstan alltid nsta
OS Frelsning 10,
Realtidssystem, Device Drivers
51
Filsystem fr multimediadata
Prestanda frbttras om filsystemet
anpassas
Strategi: anvnd frutsgbarhet
read-ahead av data
52
Organisation av multimediafiler
Smblocksmodellen (the small block model)
blockstorlek mycket mindre n bildstorlek
(inklusive ljud), t.ex. 1 KB
varje bild r ett antal block, sista blocket halvfullt
blocken i varje bild r konsekutiva p disken
ett bildindex ger info om vilket blocknummer en
bild ligger p samt hur stor den r
diskhantering lite knepig d allokeringsenheten r
olika stor
OS Frelsning 10,
Realtidssystem, Device Drivers
53
Organisation av multimediafiler
Storblocksmodellen (the large block model)
man lagrar flera bilder per block, block r t.ex.
256 KB
ett blockindex hller reda p vilken bild som
brjar i ett visst block och var p disken det
blocket finns
om det r plats ver i ett block (bara en del av en
bild fr plats) kan man gra tv saker
lmna slutet av blocket tomt
ha halva bilden i det blocket och andra halvan i nsta
OS Frelsning 10,
Realtidssystem, Device Drivers
54
OS Frelsning 10,
Realtidssystem, Device Drivers
55
OS Frelsning 10,
Realtidssystem, Device Drivers
56
Multimediafiler och
diskarmsschemalggning
Om man har flera diskoperationer p k kan
man ordna om dem fr kade prestanda
Enligt SJF algoritmen skulle man alltid ta det
nrmaste hrnst, men d svlts vissa
operationer ut
Man kan dela upp operationerna i grupper och
optimera varje grupp fr sig
Hissalgoritmen lmplig fr varje grupp
OS Frelsning 10,
Realtidssystem, Device Drivers
57
Nsta frelsning
Fallstudie LINUX & Windows
OS Frelsning 10,
Realtidssystem, Device Drivers
58