Вы находитесь на странице: 1из 36

unn)ue ,

Aropu)iu cunxponusuuuu npoueccou


2
S n)epuuunr,
S Coc)onnue coc)nsunun,
S suuiouckenun,
S Ycouun epnu)enu,
S Hporpuiinue uropu)iu oprunusuuuu
usuuioaec)uun npoueccou.
3
S Hoa uk)uunoc)niu nonuiue)cn
noceaouu)eunoe uunonenue neko)opux
aec)uu, nunpuuennux nu aoc)uenue
onpeaeenno ueu.
S A)oiupnue onepuuuu neaeuiue onepuuuu, us
ko)opux ioe) coc)on)u uk)uunoc)u.
4
S Hpuiep u)oiupnue
onepuuuu uk)uunoc)u
npuro)ouenue
6v)ep6poau:
. O)pesu)u oi)uk xe6u.
z. O)pesu)u oi)uk ko6ucu.
. Huiusu)u oi)uk xe6u
iucoi.
i. Hoou)u oi)uk ko6ucu
nu noaro)ouennu oi)uk
xe6u.
5
S Heaeuiue onepuuuu iorv) uie)u neko)opue
unv)pennue neuuauiue aec)uun:
usn)u 6u)on xe6u u euv pvkv,
usn)u no u npuuv pvkv,
co6c)uenno npousuec)u o)pesunue
S u nusuuuei ux uepenummmuno)oiv, )o
cu)uei oanui ueui, uunonneiuiu su pus, 6es
npepuuunun aen)eunoc)u.
6
SHvc)u uiee)cn aue uk)uunoc)u
P: u, b, c.
O: d, e, f.
rae u, b, c, d, e, f u)oiupnue onepuuuu.
Hpu noceaouu)eunoi uunonenuu uk)uunoc)e
iu novuei ceavuv noceaouu)eunoc)u
u)oiupnux aec)uu:
SPO: u b c d e f
7
S Ak)uunoc)u iorv) puccou)ucn nu neaeuiue onepuuuu c
pusunui ux epeaouunuei, nu unruckoi nsuke
lnLerleuvlng
osionue uupuun)u epeaouunun:
u b c d e f
u b d c e f
u b d e c f
u b d e f c
u d b c e f
......
d e f u b c
8
S Hu6op uk)uunoc)e (nunpuiep, nporpuii)
ae)epiunupouun, ecu ucnku pus npu
nceuaonupueunoi ucnonenuu an oanoro u
)oro e nu6opu uxoanux aunnux on aue)
oaunukouue uuxoanue aunnue.
S npo)uunoi cvue on neae)epiunupouun.
S e)epiunupouunnu nu6op uk)uunoc)e iono
uunonn)u u peuie pusaeenun upeienu.
S n neae)epiunupouunnoro nu6opu )ukoe
ucnonenue neeu)euno.
9
S iee)cn aue uk)uunoc)u, P u O, coc)onuue us auvx
u)oiupnux onepuuu kuaun:
S ukui 6vae) pesvu)u) ux nceuaonupueunoro
uunonenun, ecu nepeiennue x u v nun)cn
o6uuiu an uk)uunoc)e?
S osionu e)upe pusnux nu6opu snuenu an nupu
(x, v): (, i), (z, ), (z, ) u (, z).
P: x=2 Q: x=3
y=x-1 y=x+1
10
S ono u ao novenun pesvu)u)ou, supunee,
onpeaeu)u nune)cn u nu6op uk)uunoc)e
ae)epiunupouunnui uu ne)?
S n 5)oro cvuec)uv) aoc)u)onue vcouun
epnu)enu.
11
S Onpeaeui nu6opu nepeiennux uuoau u uuuoau
nporpuiiu:
. Hu6op R nepeiennux uuoau nporpuiiu
(o) couu reud) an ucex ee neaeuiux aec)uu.
z. Hu6op Wnepeiennux uuuoau nporpuiiu
(o) couu wrlLe) an ucex ee neaeuiux aec)uu.
12
Ycouun epnu)enu:
S cu an auvx aunnux uk)uunoc)e P u O:
. nepeceenue W(P) u W(O) nvc)o,
z. nepeceenue W(P) c R(O) nvc)o,
. nepeceenue R(P) u W(O) nvc)o,
)o uunonenue P u O ae)epiunupouuno.
S cu 5)u vcouun ne co6aenu, uosiono, )o
nupueunoe uunonenue P u Oae)epiunupouuno,
no uosiono, )o u ne).
13
S Hpo neae)epiunupouunnu nu6op nporpuii (u
uk)uunoc)e uoo6ue) rouopn), )o on nuxoau)cn u
ruce condlLlon (coc)onnue ronku, coc)nsunun).
S npuueaennoi uuue npuiepe npoueccu
coc)nsu)cn su uuucenue snuenu
nepeiennux x u v.
14
S uau npouecc, o6puuuuucn k pusaeneiui
pecvpcui, uckue) an ucex apvrux npoueccou
uosionoc)u oanoupeiennoro c nui o6uenun c
5)uiu pecvpcuiu, ecu 5)o ioe) npuuec)u k
neae)epiunupouunnoiv noueaenu nu6opu
npoueccou.
S 1uko npuei nusuuue)cn usuuiouckenuei
(muLuul excluslon).
S cu uunu eue u oepeanoc)u aoc)vnu k
pusaeneiui pecvpcui, )o u iexunusiu
usuuiouckenu c)unouu)cn neaoc)u)ono.
15
S pu)ueckun cekuun - 5)o uc)u nporpuiiu,
ucnonenue ko)opo ioe) npuuec)u k
uosnuknouenu ruce condlLlon.
S )o6u ucku)u ruce condlLlon no o)nouenu k
neko)opoiv pecvpcv, neo6xoauio, )o6u u kuau
ioien) upeienu )ouko oaun npouecc ior
nuxoau)ucn u cuoe kpu)uecko cekuuu, cunsunno c
5)ui pecvpcoi.
S nuiu couuiu, neo6xoauio o6ecneu)u
peuusuuu usuuiouckenun an kpu)ueckux
cekuu nporpuii.
16
S euusuuun usuuiouckenun an kpu)ueckux
cekuu nporpuii osnuue), )o no o)nouenu k
apvrui npoueccui, vuc)uvuui uo
usuuioaec)uuu, kpu)ueckun cekuun nuunue)
uunonn)ucn kuk u)oiupnun onepuuun.
S nuiu couuiu, neo6xoauio o6ecneu)u
peuusuuu usuuiouckenun an kpu)ueckux
cekuu nporpuii.
"# "1 "2 "3
17-05 """""
17-07 """"
17-09 """
17-11 """""
17-13 """"
17-15 """
17-17 """""
17-19 """"
17-21 """
17-23 """
17-25 """2"""
17-27 """
17-29 """
17-31 """2"""
17-33 """
17-35 """
17-37 """2"""
17-39 """
17-41 "#""""
17-47 "#""""
17-53 "#""""
18
S aecu kpu)uecku vuc)ok an kuaoro
npoueccu o) onepuuuu O6nupvuuue), )o
xe6u ne) ao onepuuuu osupuuue)cn u
koinu)v uku)euno.
S pesvu)u)e o)cv)c)uun usuuiouckenun
c)vaen)u us cu)vuuuu ne) xe6u nonuau) u
cu)vuuu cuukoi inoro xe6u.
S cu 6u kpu)uecku vuc)ok aoc)ue) z 6u)onu
xe6u uunonncn kuk u)oiupnun onepuuun, )o
npo6eiu o6pusouunun usuukou 6uu 6u cnn)u.
19
"# "1 "2 "3
17-05 """""
17-07 """"
17-43 """""
17-47 """""
20
S pu)uecku vuc)ok aoen conpouoau)ucn
npooroi(enLrv secLlon) sukpu)u auepu usnv)pu nu
sucou,
5nuoroi (exlL secLlon) o)oauunv)u sucou.
S o upein uunonenun npooru npouecc aoen, u
uc)noc)u, novu)u puspeuenue nu uxoa u
kpu)uecku vuc)ok, u uo upein uunonenun
5nuoru - coo6uu)u apvrui npoueccui, )o on
nokunv kpu)ueckv cekuu.
21
S o6uei cvue c)pvk)vpu npoueccu ioe) 6u)u
npeac)uuenu ceavuui o6pusoi:
while (some condition) {
entry section //pr
critical section //preca ce
exit section //r
remainder section
}
S Hoa remulnder secLlon nonuiu)cn uce u)oiupnue
onepuuuu, ne uxoanuue u kpu)ueckv cekuu.
22
S uLuul excluslon, progress u bound wulLlng:
. unonenue vcouun usuuiouckenun,
z. unonenue vcouun nporpeccu,
. unonenue vcouun orpunuennoro ouaunun.
23
S cu neku npouecc P ucnonne)cn u cuoe
kpu)uecko cekuuu, )o apvrue npoueccu ne iorv)
ucnonn)ucn u cuoux kpu)ueckux cekuunx.
24
S Hpoueccu, ko)opue nuxoan)cn une cuoux kpu)ueckux
vuc)kou u ne co6upu)cn uxoau)u u nux, ne iorv)
npenn)c)uouu)u apvrui npoueccuiuxoau)u u ux
co6c)uennue kpu)ueckue vuc)ku.
S cu ne) npoueccou u kpu)ueckux cekuunx, u
uie)cn npoueccu, euuue uo)u u nux, )o )ouko
)e npoueccu, ko)opue ne ucnonn)cn u remulnder
secLlon, aonu npunuiu)u peuenue o )oi, kuko
npouecc uoae) u cuo kpu)ueckv cekuu.
S 1ukoe peuenue ne aono npunuiu)ucn 6eckoneno
aoro.
25
S He aono uosnuku)u 6eckonenoro ouaunun
an uxoau npoueccu u cuo kpu)uecku vuc)ok.
S O) )oro ioien)u, korau npouecc sunpocu
puspeuenue nu uxoa u kpu)ueckv cekuu, u ao
)oro ioien)u, korau on 5)o puspeuenue novu,
apvrue npoueccu iorv) npo)u epes cuou
kpu)ueckue vuc)ku uuu orpunuennoe uco
pus.
27
S Huu6oee npoc)ui peuenuei noc)uuenno suauu nune)cn
ceavuun oprunusuuun npooru u 5nuoru:
while (some condition)
{
aperr sce pepsa
critical section
paper sce pepsa
remainder section
}
S Oanuko )ukoe peuenue peuu)o noceac)uuniu, nockoukv
puspeuue) npoueccv nousouu)en puspeuu)u u sunpeuu)u
npepuuunun uo uce uuucu)euno cuc)eie.
28
S onvc)ui, )o u pesvu)u)e ouu6ku uu soro
viucu nousouu)eu sunpe)u npepuuunun u
cuc)eie u suuuku uu suuepuu cuo npouecc.
es nepesurpvsku cuc)eiu u )uko cu)vuuuu ne
o6o)ucu.
S 1ei ne ienee, sunpe) u puspeuenue npepuuunu
uc)o npuienn)cn kuk npoor u 5nuor k
kpu)ueckui cekuuni unv)pu cuio
onepuuuonno cuc)eiu, nunpuiep, npu
o6nouenuu coaepuioro PC8.
29
S Hpouecc ioe) uo)u u kpu)ueckv cekuu )ouko )orau, korau snuenue
nepeienno-suiku puuno , oanoupeienno usiennn ee snuenue nu sukpuuun
suiok. Hpu uuxoae us kpu)uecko cekuuu npouecc c6pucuuue) ee snuenue u
suiok o)kpuuue)cn.
shared int lock = 0;
while (some condition)
{
while(lock); lock = 1;
critical section;
lock = 0;
remainder section
}
S couenu, )ukoe peuenue, ne vaoue)uopne) vcouu usuuiouckenun, )uk
kuk aec)uue whlle(lock), lock = , ne nune)cn u)oiupnui.
30
S onvc)ui, )o npouecc npo)ec)upouu snuenue
nepeienno lock u npunn peuenue auuru)ucn
auuue.
S 5)o) ioien), eue po npucoauoauun nepemeuuo
|ock auaneuun , nunupouuuk nepeau vnpuuenue
npoueccv .
S On )oe usvue) coaepuioe nepeienno lock u
)oe npunuiue) peuenue uo)u u kpu)uecku
vuc)ok.
S u novuei auu npoueccu oanoupeienno
uunonnuux cuou kpu)ueckue cekuuu.
31
S O6uun an auvx npoueccou nepeiennun c nuuunui snuenuei
nuno vkusuuue), k)o ioe) ceavuui uo)u u kpu)uecku vuc)ok.
n l-ro npoueccu 5)o uurnau) )uk:
shared int turn = 0;
while (some condition)
{
while(turn != i);
critical section
turn = 1-i;
remainder section
}
S suuiouckenue rupun)upve)cn, npoueccu uxoan) u kpu)ueckv
cekuu c)poro no oepeau: P, P, P, P, P, ... no uropu)i ne
vaoue)uopne) vcouu nporpeccu. Hunpuiep, ecu snuenue Lurn
puuno u npouecc P ro)ou uo)u u kpu)uecku vuc)ok, on ne ioe)
caeu)u 5)oro, aue ecu npouecc P nuxoau)cn u remulnder secLlon.
32
S uu npoueccu uie) pusaeneiu iuccuu urou
ro)ounoc)u uxoau npoueccou u kpu)uecku vuc)ok:
shared int ready[2] = {0, 0};
S orau l - npouecc ro)ou uo)u u kpu)ueckv cekuu, on
npucuuuuue) 5eien)v iuccuuu reudv[ l ] snuenue puunoe
. Hoce uuxoau us kpu)uecko cekuuu on c6pucuuue)
5)o snuenue u .
while (some condition)
{
ready[i] = 1;
while(ready[1-i]);
critical section
ready[i] = 0;
remainder section
}
33
S Aropu)i uce puuno nupvuue) vcouue nporpeccu:
Hvc)u npoueccu oanoupeienno noaouu k
uunonenu npooru.
Hoce uunonenun npucuuuuunun reudv[] =
nunupouuuk nepeau npoueccop o) npoueccu
npoueccv , ko)opu )uke uunonu npucuuuuunue
reudv[] =
Hoce 5)oro o6u npoueccu 6eckoneno aoro av)
apvr apvru nu uxoae u kpu)ueckv cekuu.
osnukue) )vnukouun cu)vuuun (deudlock).
34
S roav He)epcon (PeLerson) npeaou 6oee
usnunoe peuenue. Hvc)u o6u npoueccu uie)
aoc)vn k iuccuuv urou ro)ounoc)u u k
nepeienno oepeanoc)u.
35
S cu o6u npoueccu noaouu k npoorv
npuk)uecku oanoupeienno, )o onu o6u:
o6nun) o cuoe ro)ounoc)u
npeaou) uunonn)ucn apvr apvrv.
S Hpu 5)oi oano us npeaoenu ucerau noceave)
noce apvroro. u6o)v u kpu)ueckoi vuc)ke
npoaou) npouecc, ko)opoiv 6uo caeuno
noceanee npeaoenue.
36
S Hpuiep peruc)pu)vpu u noukunuke:
uau unouu npu6uuuuu kuen) (on e npouecc)
novue) )uonuk nu o6cvuuunue c noiepoi. uen) c
nuuienuuui noiepoi nu )uonuke o6cvuuue)cn
ceavuui.
S s-su neu)oiupnoc)u onepuuuu uuucenun
ceavuero noiepu uropu)i 6vono ne
rupun)upve), )o v ucex npoueccou 6vav) )uonuku
c pusnuiu noiepuiu.
S cvue puuenc)uu noiepou nu )uonukux v auvx
uu 6oee kuen)ou nepuui o6cvuuue)cn kuen) c
ienuuui snuenuei uienu (uienu iono
cpuunuuu)u u ekcukorpuueckoi nopnake).

Вам также может понравиться