2. event flag t-kernel_07kt
TRANSCRIPT
-
8/18/2019 2. Event Flag T-kernel_07KT
1/38
Event Flag T-kernel Nhóm 2: Lâm Lương Bình MSSV:50700161Vũ Văn Văn MSSV:50702906
-
8/18/2019 2. Event Flag T-kernel_07KT
2/38
I/Giới hi!"#$ng %& hó' () *+n hi, *h- *.* ' h'34 *.*m""'(( 4*("i4 34-"3*48)i ng"n (-i 3; ương h4i*4? %"@@43? A= ) *h- hC *.* ' ưD* hE*hi $ng hFiV>: ' H *+n m& , "J ; ' B? hì ' H *hK *ó h
*h *h- ,n hi ' B *h- 3' , "J m) ' H *+n
#$ng %& ' ưD* hE* hi!n %ng *.*h >Ong 1 3-ng2 (-i *ơ *h,1= P4n Q('g2= S4m'h-34
-
8/18/2019 2. Event Flag T-kernel_07KT
3/38
II/Rh.i ni!mP4n @('g 8h' *F E i!n= () m& i ưDng ưD* >Tng*h- E $ng %& hó'? nó *hU' m& m" *.* %i 8%i
'43n8ưD* >Ong như *.* *F== *h- %i, E $n i*W' E i!n ương Ung
-
8/18/2019 2. Event Flag T-kernel_07KT
4/38
II/Rh.i ni!mP4n @('g ưD* >Ong hi $ng %& hó' ' (X* hYng*ó *hi' Z )i ng"n Nó *h- hC m& h' nhi[" '*hF Di *h- m& E i!n ưD* \ " ]nh J 3' M&P4n Q('g *ó h $n i ^ h'i 3ng h.i: 3igg434> )n-n_3igg434>M& P4n Q('g ^ 3-ng 3ng h.i 3igg434> ` *hK 3' m&
' 'ng a'iing ` h-. 3' hbi 3ng h.i a'i Nói*.*h h.*? n," m& P4n Q('g 'ng ^ 3ng h.i n-n_3igg434>? hì m& ' 'ng a'iing ` hJi i, O* *hFDi
-
8/18/2019 2. Event Flag T-kernel_07KT
5/38
II/Rh.i ni!m
-
8/18/2019 2. Event Flag T-kernel_07KT
6/38
II/Rh.i ni!mcS *"ng *d *.* h)m - ) h"e %b m& 44n @('g? hi, (f h'-. 44n @('g? Di 44n @('g ? ) h'm hJ- 3ng h.i *W' 44n @('gM
-
8/18/2019 2. Event Flag T-kernel_07KT
7/38
III/HlI 3-ng _R43n4(
)m *34@(g I @(gi> o *34@(g 8 jQLG p *@(g = q
hYng :jQLG p *@(g: hYng in [ P4n Q('g ưD* - I @(gi> : P4n @('g I h' m\ (4=
4*3ii-n- m& 44n @('g ) g.n *h- nó m& 44n @('g I
1/)m *34@(g
NextFunction
-
8/18/2019 2. Event Flag T-kernel_07KT
8/38
)m *34@(gjhi i, *W' *@(g :
Vl 4in@: hYng in hO ưD* hm )- Hr @(g'3: j.* h"&* snh *W' 44n @('g IN i@(gn: M" 44n @('g h^i -
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
9/38
P33-3 *->4jhi i, [ *.* gi. 3] 3J [ *W' P33-3 *->4PcR: R, hX* %ình hưFng
PNcMPM: hi," %& nhớ 8 Tng nhớ *h- hi i["hin hYng ưD* *d h.=PLIMI: S (ưDng 44n @('g ưD ". giới hn *W' h!
hngPrSHr: L
-
8/18/2019 2. Event Flag T-kernel_07KT
10/38
Vl 4in@ 4in@ *ó h ưD* >Ong E >- %^i ngưFi >Tng *htnhm hYng in [ 44n @('g? ) ưD* h'm hJ- %ngh)m 34@@(g N," hYng in *W' 44n @('g () m& Tng(ớn? Ung >Ong hJi in *d h. Tng nhớ 3ing %i!* )k ]' *hK )- 4in@
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
11/38
Q(g'3 @(g'3 *h- %i, *.* h"&* snh h! hng 3-ng *.* %i hd *W' nó )hYng in hi!n hE* 3-ng *.* %i *'- @(g'3 :o 8HQIQc uu HlrI= u 8HvMwL uu
HvSGL= u xHNcISvHIyHQIQc: j.* ' Di 3-ng h)ng Di h4- hU E QIQcHlrI: j.* ' Di 3-ng h)ng Di h4- & ư" inHvSGL: jhK *h- hC m& ' Di m& 44n @('g i m& hFi
imHvMwL: jh- hC nhi[" ' Di m& 44n @('g i *Tng m&
hFi imH NcISvHI: jdm ()m Y hi!" 3ng h.i Di %^i h)m
>ia'i
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
12/38
)m >4(@(gPr 43*> o >4(@(g 8 I @(gi> =q
hYng : I @(gi> : P4n @('g IPr 43*>: M\ (4=
4*3ii-n
2/)m >4(@(g
NextFunctionPrevious
-
8/18/2019 2. Event Flag T-kernel_07KT
13/38
P33-3 *->4jhi i, [ *.* gi. 3] 3J [ *W' P33-3 *->4PcR: R, hX* %ình hưFng
PI: @(gi> hYng hD (! h' hYng ưD* >OngPNcPzS: P4n @('g ưD* *hK ]nh 3-ng @(gi> hYng $ni
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
14/38
4*3ii-nL-i %b m& 44n @('g *ó I () @(gi> )m 4m *'(( n) giJi hóng 44n @('g I ương Ung
) hYng gi'n %& nhớ hi i[" hin nó)m n) , hX* %ình hưFng ng' *J hi *ó m& ''ng Di 44n @('g? nhưng m\ (
-
8/18/2019 2. Event Flag T-kernel_07KT
15/38
{/4@(g)m 4@(gPr 43*> o 4@(g 8 I @(gi>? wIN 4n =q
hYng : I @(gi>: P4n @('g IwIN 4n: M" %i ưD* hi, (fPr 43*> M\ (4=
4*3ii-n
NextFunctionPrevious
-
8/18/2019 2. Event Flag T-kernel_07KT
16/38
4*3ii-n)m 4@(g hi, (f *.* %i ưD* *hK 3-ng 4n *h-m& 44n @('g 8| nói ,n m" %i *W' 44n @('g= ưD* *hK]nh 3-ng @(gi>S'" hi gi. 3] *W' 44n @('g ưD* h' }i %^i h)m
4@(g? n," i[" i!n giJi hóng 3ng h.i Di *W'm& ' U* () a'i@(g ưD* h~' m\n? hì 3ng h.ivHI *W' ' ó ` ưD* giJi hóng ) ưD* k 3-ng3ng h.i rwN h' rPH• 8h' SwSlPN n," 3ngh.i *W' ' () vHI_SwSlPN=
8j-nin"4=
-
8/18/2019 2. Event Flag T-kernel_07KT
17/38
4*3ii-n Nhi[" ' *ó h *Tng Di m& 44n @('g n," 44n @('gó *ó h"&* snh HvMwL V) 44n @('g 3-ng 3ưFnghD n) *ó m& h)ng Di *.* ' Rhi m& h)m 4@(ggi *h- m& 44n @('g *ó h giJi hóng nhi[" ' 'ngDi *Tng m& (X* RhYng *ó gì J 3' *h- 44n @('g n," *.* %i *W' 4n
[" () 0 ới h)m 4@(g V) hYng *ó (
-
8/18/2019 2. Event Flag T-kernel_07KT
18/38
P33-3 *->4jhi i, [ *.* gi. 3] 3J [ *W' P33-3 *->4 PcR R, hX* %ình hưFng PI @(gi> hYng hD (! h' hYng ưD* >Ong PNcPzS P4n @('g ưD* *hK ]nh 3-ng @(gi> hYng $n
i
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
19/38
€/*(3@(g)m *(3@(g Pr 43*> o *(3@(g 8 I @(gi>? wIN *(3n=q
hYng : @(gi>: P4n @('g I wIN *(3n: M" %i ưD* -. Pr 43*> M\ (4=
4*3ii-n
NextFunctionPrevious
-
8/18/2019 2. Event Flag T-kernel_07KT
20/38
4*3ii-n)m *(3@(g -. *.* %i *W' 44n @('g >E' 3n *.* %i0 ương Ung *W' *(3n jó ngh' () m& s*h ("fn (| *W'gi. 3] 44n @('g 3-ng @(gi> ) gi. 3] *W' *(3n ` ưD*hE* hi!nVi!* -. 44n @('g %^i *(3@(g ` hYng giJi hóng %d
‚ ' n)- 'ng Di 44n @('g? i[" n) *ó ngh'>i'*hing ` hYng %'- giF "d hi!n *Tng ới*(3@(g
8j-nin"4=
-
8/18/2019 2. Event Flag T-kernel_07KT
21/38
4*3ii-n RhYng *ó gì J 3' *h- 44n @('g n," *.* %i *W' *(3n[" () 1 ới h)m *(3@(g V) hYng *ó (
-
8/18/2019 2. Event Flag T-kernel_07KT
22/38
P33-3 *->4jhi i, [ *.* gi. 3] 3J [ *W' P33-3 *->4 PcR: R, hX* %ình hưFng PI : @(gi> hYng hD (! h' hYng ưD* >Ong PNcPzS: P4n @('g ưD* *hK ]nh 3-ng @(gi> hYng
$n i
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
23/38
5/a'i@(g)m a'i@(g Pr 43*> o a'i@(g 8I @(gi>? wIN a'in? wIN a@m->4? wINp
@(gn?Mc m-" =q
hYng : I @(gi>: P4n @('g I wIN a'in: M" %i Di wIN a@m->4: #i[" i!n giJi hóng Di wIN @(gn: M" %i *W' 44n @('g 8hưFng ưD* gi () gi. 3] *W'
44n @('g= Mc m-": hFi gi'n im4-" Pr 43*> M\ (4=
4*3ii-n NextFunctionPrevious
-
8/18/2019 2. Event Flag T-kernel_07KT
24/38
P33-3 *->4jhi i, [ *.* gi. 3] 3J [ *W' P33-3 *->4 PcR: R, hX* %ình hưFng PI @(gi>: hYng hD (! h' hYng ưD* >Ong PlHr: L4 hYng hD (!? h'
m-" ƒ 82== PNcPzS: P4n @('g ưD* *hK ]nh 3-ng @(gi> hYng $n i
PL: #i ưDng ưD* Di %] -. 844n @('g *hK ]nh %] -.hi ' 'ng Di= PMcw: hăm > %] (
-
8/18/2019 2. Event Flag T-kernel_07KT
25/38
P33-3 *->4PrLvHI 3ng h.i vHI *W' ' ưD* giJi hóng 8 >-' nhfn ưD* 34(a'i hi 'ng ^ 3ng h.i vHI=
PISvHI 3ng h.i vHI *W' ' ưD* giJi hóng %^i
3ng h.i vHI *W' ' %] Y hi!"Pjz Li'*h %] Y hi!"=PcB… Nhi[" ' *Tng Di m& 44n @('g *ó h"&* snh
HvSGL 8hYng *h- hC nhi[" ' *Tng Di=8*-nin"4=
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
26/38
wIN a@m->4a@m->4 ưD* *hK ]nh như '": a@m->4 :o 8vQHNv uu vQcrv= u xvQjLr uu
vQBIjLry vQHNv 000 HN a'i *-n>ii-n vQcrv 001 cr a'i *-n>ii-n vQjLr 010 j(4'3 '(( vQBIjLr 020 j(4'3 *-n>ii-n %i -n(
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
27/38
vQHNvRhi vQHNv ưD* *hK ]nh? ' gi h)m ` Di *h-ới hi d *J *.* n)- ưD* *hK ]nh 3-ng a'in 8nh„ng
%i *'-= ưD* hi, (f *h- 44n @('g 8@(gi>= 8HN a'i=
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
28/38
vQcrvRhi vQcrv ưD* *hK ]nh? ' gi h)m ` Di *h-ới hi %d *U %i n)- ưD* *hK ]nh ương Ung 3-nga'in 8nh„ng %i *'-= ưD* hi, (f *h- 44n @('g8@(gi>= 8cr a'i=
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
29/38
vQjLr N," vQjLr ưD* *hK ]nh hì d *J *.* %i *W' 44n@('g ` ưD* -. [ 0 m
-
8/18/2019 2. Event Flag T-kernel_07KT
30/38
vQBIjLr jn n," vQBIjLr ưD* *hK ]nh hì *hK *ó nh„ng %i *W' 44n @('g m) %i ương Ung 3-ng a'in () mU* 1ưD* -. [ 0 m
-
8/18/2019 2. Event Flag T-kernel_07KT
31/38
@(gnh'm 3J [ @(gn *hU' gi. 3] *W' 44n @('g '" hi3ng h.i *W' m& ' ưD* giJi hóng %^i h)m 4m*'(( n) N," vQjLr h' vQBIjLr ưD* *hK
]nh hì gi. 3] *W' 44n @('g 3ướ* hi %] -. ` ưD* 3J[ Gi.i 3] 3J [ %^i @(gn hE* hi!n *.* i[" i!n giJi
hóng 3ng h.i Di *W' h)m 4m *'(( n) N&i >"ng*W' @(gn ` hYng .* ]nh n," 3ng h.i Di ưD* giJi
hóng >- im4-" h' nh„ng (s >- ương E
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
32/38
im4 c"Một thời gian đợi tối đa (timeout) có thể được thit!"# trong tmout$ Nu %& timeout trư'c hi điu i*ngi+i #hóng đợi th,a m-n (t.sig.sem h/ng được
th0c thi)1 th2 h3m s4stem ca!! n34 s5 t th6c1 v3 tr+v m- !7i 8.9M:;9$ tr& ?ư@ng m'i đượcg>n cho tmout$ A@n v& cBa timeout !3 ms$ Chi 9M:.P:D E được g>n cho tmout1 th2 m- !7i8.9M:;9 được tr+ v m3 h/ng v3o trGng th>i HIJ9nga4 c+ hi h/ng có t3i ngu4Kn n3o %& chim giL$Chi 9M:.F8R E O được g>n cho tmout1 th2 tas s5đợi cho t'i hi chim giL được t3i ngu4Kn m3 h/ng%& timeout$
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
33/38
4*3ii-n#Di m& 44n @('g *ó @('g I () @(gi>? i[" i!n giJi hóng ưD* *hK ]nh 3-ng a@m->4 N," 44n @('g ưD* *hK ]nh 3-ng @(gi> h~' i[" i!n
ưD* hi, (f 3-ng a@m->4? hì ' ` i, O* hE* him) hYng *+n )- 3ng h.i vHI
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
34/38
6/34@@(g)m 34@@(g Pr 43*> o 34@@(g 8 I @(gi>? rQLG p 3@(g = q
hYng : I @(gi> P4n @('g I rQLGp 3@(g #]' *hK *W' gói hYng in [ 3ng h.i Pr 43*> M\ (4=
4*3ii-n
9he 8n?PreviousFunction
-
8/18/2019 2. Event Flag T-kernel_07KT
35/38
3@(gjhi i, 3@(g : Vl 4in@: hYng in m^ 3&ng I a: hYng in ' 'ng Di IN @(gn: M" %i *W' 44n @('g
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
36/38
P33-3 j->4jhi i, [ *.* gi. 3] 3J [ *W' P33-3 *->4 8.:C Ct th6c %2nh thường 8.JQ gi? h/ng hợ# !* ha4 h/ng được sS
?Tng 8.N:8UV 8vent ag được ch= đ&nh trong gi?
h/ng tWn tGi 8.PIR D7i tham số (đ&a ch= cBa gói tth/ng tin
tr+ v h/ng ?Xng được)
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
37/38
4*3ii-n 9ham h+o trGng th>i cBa event ag có eventag JQ !3 gi?1 tru4n trong c>c th/ng số tr+ vmYu %it hi*n tGi (g#tn)1 tth/ng tin tas đang đợi
event ag (Zts)1 v3 th/ng tin m[ rộng (exin\)$ 9ham số Zts cho %it JQ cBa một tas đang đợi
event ag$ Nu có nhiu h@n một tas đang đợith2 JQ cBa tas đ]ng đ^u h3ng đợi s5 được tr+ v$
Nu h/ng có tas n3o th2 Zts E được tr+ v$Nu event ag tư@ng ]ng h/ng tWn tGi1 m- !7i
8.N:8UV được tr+ v$
Return
-
8/18/2019 2. Event Flag T-kernel_07KT
38/38
Thank you ForPaying Attention