22
Sünkroonsed ja assünkroonsed protsessid Klient-server rakendused

Sünkroonsed ja assünkroonsed protsessid

  • 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

Page 1: Sünkroonsed ja assünkroonsed protsessid

Sünkroonsed ja assünkroonsed protsessid

Klient-server rakendused

Page 2: Sünkroonsed ja assünkroonsed protsessid

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

Page 3: Sünkroonsed ja assünkroonsed protsessid

Mis meil veel selge

• Programmid paiknevad– Samas protsessis– Eri protsessis samas masinas– Eri protsessis eri masinates

Page 4: Sünkroonsed ja assünkroonsed protsessid

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

Page 5: Sünkroonsed ja assünkroonsed protsessid

Mitu protsessi samas arvutis

• Mälujaotus

• Sisemine turvamine

• IPC – protsessivaheline kommunikatsioon– Sõnumivahetus– Semaforid, ressursid, ootamine, lukustus

• Lõimeohjamine (thread management)

Page 6: Sünkroonsed ja assünkroonsed protsessid

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)

Page 7: Sünkroonsed ja assünkroonsed protsessid
Page 8: Sünkroonsed ja assünkroonsed protsessid

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

Page 9: Sünkroonsed ja assünkroonsed protsessid

Ajapilu

Ühe protsessoriga

Page 10: Sünkroonsed ja assünkroonsed protsessid

CPU1

CPU2

CPU1

CPU2

CPU1

CPU2

CPU1

CPU2

Ajapilu

wait

CPU2

CPU1

CPU1

CPU2

CPU1

CPU2

CPU1

CPU2

CPU1

CPU2

Kahe protsessoriga

Page 11: Sünkroonsed ja assünkroonsed protsessid

Protsessid ja opsüsteem

• Protsessi käivitamine

• Turvakonteksti määramine

• Põhilõime loomine

• Mäluhaldus

Page 12: Sünkroonsed ja assünkroonsed protsessid

Lõimed ja opsüsteem

• Prioriteetimine

• Katkestamine

• Säilitamine

• Taastamine

Page 13: Sünkroonsed ja assünkroonsed protsessid

Hästi abstraktne K/S mudel

Page 14: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

Klient-Server põhimudel

Page 15: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

Set x = new S()

Call x.meetod(…)

Return

Set x = nothing

Klient-Server põhimudel

Page 16: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

Ükskõikne klient

Page 17: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

opsüsteem

Ükskõikne klinet, serverteenus

Page 18: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

Sõnumijärjekord (Messaging)

Page 19: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

ProxyMMQ Reader

Sõnumijärjekord (Messaging)

Page 20: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

Call x.meetod(…, a(callback))

Call callback()

tagasipöördumismudel

Page 21: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

Raise event()

E1

E2

E3

E4

E5

E6

A1

A2

A3A4

A5

A6

Sündmusmudel

Page 22: Sünkroonsed ja assünkroonsed protsessid

opsüsteem

Klient ServerIPC

NE

TW

OR

K

ERSDB

Register event

Subscribe event

Fire

eve

ntC

all metod

Tellimismudel