2. event flag t-kernel_07kt

Upload: dau-den

Post on 07-Jul-2018

215 views

Category:

Documents


0 download

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