Upload
gwylan
View
61
Download
14
Embed Size (px)
DESCRIPTION
Sünkroonsed ja assünkroonsed protsessid. Klient-server rakendused. Mis meil praegu selge. Meil on eri programmid eri kihtides Need kutsuvad välja üksteise funkstioone Sama asi eri nimedega Call-Return Request-Response Sõnumivahetus Andmevahetus. Mis meil veel selge. Programmid paiknevad - PowerPoint PPT Presentation
Citation preview
Sünkroonsed ja assünkroonsed protsessid
Klient-server rakendused
Mis meil praegu selge
• Meil on eri programmid eri kihtides
• Need kutsuvad välja üksteise funkstioone
• Sama asi eri nimedega– Call-Return– Request-Response– Sõnumivahetus– Andmevahetus
Mis meil veel selge
• Programmid paiknevad– Samas protsessis– Eri protsessis samas masinas– Eri protsessis eri masinates
Protsessid ja lõimed
• Protsess– Opsüsteem objekt, millel on – Mälupiirkond, ressusrsid, turvapiir
• Lõim (thread)– Opsüsteem objekt, mis kujutab– Täidetavad koodi
Mitu protsessi samas arvutis
• Mälujaotus
• Sisemine turvamine
• IPC – protsessivaheline kommunikatsioon– Sõnumivahetus– Semaforid, ressursid, ootamine, lukustus
• Lõimeohjamine (thread management)
Mitu lõime samas arvutis
• Mitu koodi korraga– Eri protsessorid– Sama protsessor
• Vabatahtlik, koostööpõhine• Sunniviisiline
– Lõime olekud• Tööseisund (working)• Valmidusseisund (ready)• Ooteseisund (waiting)
Kooostööpõhine ja sunnitud
• Koostööpõhine mitmelõimelisus (collaborative multithreading)– Iga lõim (kood) jääb ootele, kui tal vaja kuskilt midagi
(working to waiting to ready)– Järgmine ootel lõim asub tööle (ready to working)
• Sunnitud mitmelõimelisus (preemptive multithreading)– Süsteem jaotab protsessorite aja ühesuurusteks
tükkideks– Lõimed kasutavad ajapilusid kordamööda
Ajapilu
Ühe protsessoriga
CPU1
CPU2
CPU1
CPU2
CPU1
CPU2
CPU1
CPU2
Ajapilu
wait
CPU2
CPU1
CPU1
CPU2
CPU1
CPU2
CPU1
CPU2
CPU1
CPU2
Kahe protsessoriga
Protsessid ja opsüsteem
• Protsessi käivitamine
• Turvakonteksti määramine
• Põhilõime loomine
• Mäluhaldus
Lõimed ja opsüsteem
• Prioriteetimine
• Katkestamine
• Säilitamine
• Taastamine
Hästi abstraktne K/S mudel
opsüsteem
Klient ServerIPC
NE
TW
OR
K
Klient-Server põhimudel
opsüsteem
Klient ServerIPC
NE
TW
OR
K
Set x = new S()
Call x.meetod(…)
Return
Set x = nothing
Klient-Server põhimudel
opsüsteem
Klient ServerIPC
NE
TW
OR
K
Ükskõikne klient
opsüsteem
Klient ServerIPC
NE
TW
OR
K
opsüsteem
Ükskõikne klinet, serverteenus
opsüsteem
Klient ServerIPC
NE
TW
OR
K
Sõnumijärjekord (Messaging)
opsüsteem
Klient ServerIPC
NE
TW
OR
K
ProxyMMQ Reader
Sõnumijärjekord (Messaging)
opsüsteem
Klient ServerIPC
NE
TW
OR
K
Call x.meetod(…, a(callback))
Call callback()
tagasipöördumismudel
opsüsteem
Klient ServerIPC
NE
TW
OR
K
Raise event()
E1
E2
E3
E4
E5
E6
A1
A2
A3A4
A5
A6
Sündmusmudel
opsüsteem
Klient ServerIPC
NE
TW
OR
K
ERSDB
Register event
Subscribe event
Fire
eve
ntC
all metod
Tellimismudel