6hapter 5: 6PU 8chedu||ng 6hapter 5: 6PU 8chedu||ng

6hapter 5: 6PU 8chedu||ng 6hapter 5: 6PU 8chedu||ng
8as|c Corcepls
3credu||rd C(|le(|a
3credu||rd A|do(|lrrs
Vu|l|p|e-P(ocesso( 3credu||rd
Rea|-T|re 3credu||rd
Tr(ead 3credu||rd
0pe(al|rd 3vslers Exarp|es
Java Tr(ead 3credu||rd
A|do(|lrr Eva|ual|or
as|c 6oncepts as|c 6oncepts
Vax|rur CPu ul|||zal|or oola|red W|lr ru|l|p(od(arr|rd
CPu-l/0 8u(sl Cvc|e - P(ocess execul|or cors|sls ol a oyo|e ol CPu execul|or
ard l/0 Wa|l
CPu ou(sl d|sl(|oul|or
|ternat|ng 8equence of 6PU nd ||0 ursts |ternat|ng 8equence of 6PU nd ||0 ursts
|stogram of 6PU |stogram of 6PU--burst T|mes burst T|mes
6PU 8chedu|er 6PU 8chedu|er
3e|ecls l(or arord lre p(ocesses |r rero(v lral a(e (eadv lo execule. ard
a||ocales lre CPu lo ore ol lrer
CPu scredu||rd dec|s|ors rav la|e p|ace Wrer a p(ocess:
1. 3W|lcres l(or (urr|rd lo Wa|l|rd slale
2. 3W|lcres l(or (urr|rd lo (eadv slale
3. 3W|lcres l(or Wa|l|rd lo (eadv
1. Te(r|rales
3credu||rd urde( 1 ard 1 |s nonoreemor|ve
A|| olre( scredu||rd |s oreemor|ve
|spatcher |spatcher
|spalcre( rodu|e d|ves corl(o| ol lre CPu lo lre p(ocess se|ecled ov lre sro(l-
le(r scredu|e(: lr|s |rvo|ves:
sW|lcr|rd corlexl
sW|lcr|rd lo use( rode
jurp|rd lo lre p(ope( |ocal|or |r lre use( p(od(ar lo (esla(l lral p(od(ar
|soaron |arenoy - l|re |l la|es lo( lre d|spalcre( lo slop ore p(ocess ard sla(l
arolre( (urr|rd
8chedu||ng 6r|ter|a 8chedu||ng 6r|ter|a
CPu ul|||zal|or - |eep lre CPu as ousv as poss|o|e
Tr(oudrpul - # ol p(ocesses lral corp|ele lre|( execul|or pe( l|re ur|l
Tu(ra(ourd l|re - arourl ol l|re lo execule a pa(l|cu|a( p(ocess
wa|l|rd l|re - arourl ol l|re a p(ocess ras oeer Wa|l|rd |r lre (eadv
cueue
Resporse l|re - arourl ol l|re |l la|es l(or Wrer a (ecuesl Was
suor|lled url|| lre l|(sl (esporse |s p(oduced. not oulpul |lo( l|re-
sra(|rd erv|(orrerl)
0pt|m|zat|on 6r|ter|a 0pt|m|zat|on 6r|ter|a
Vax CPu ul|||zal|or
Vax lr(oudrpul
V|r lu(ra(ourd l|re
V|r Wa|l|rd l|re
V|r (esporse l|re
|rst |rst--6ome, |rst 6ome, |rst--8erved [68} 8chedu||ng 8erved [68} 8chedu||ng
P(ocess 8u(sl T|re
!

21
!

3
!

3
3uppose lral lre p(ocesses a((|ve |r lre o(de(: !

. !

. !

Tre 0arll Cra(l lo( lre scredu|e |s:
wa|l|rd l|re lo( !

0: !

21: !

2Z
Ave(ade Wa|l|rd l|re: |0 ÷ 21 ÷ 2Z)/3 1Z
P
1
P
2
P
3
21 2Z 30 0
68 8chedu||ng [6ont.} 68 8chedu||ng [6ont.}
3uppose lral lre p(ocesses a((|ve |r lre o(de(
!

. !

. !

Tre 0arll cra(l lo( lre scredu|e |s:
wa|l|rd l|re lo( !

= . !

0
.
!

= 3
Ave(ade Wa|l|rd l|re: | ÷ 0 ÷ 3)/3 3
Vucr oelle( lrar p(ev|ous case
onvoy elleor sro(l p(ocess oer|rd |ord p(ocess
P
1
P
3
P
2
3 30 0
8hortest 8hortest--Job Job--|rst [8J} 8chedu||ng |rst [8J} 8chedu||ng
Assoc|ale W|lr eacr p(ocess lre |erdlr ol |ls rexl CPu ou(sl. use lrese |erdlrs
lo scredu|e lre p(ocess W|lr lre sro(lesl l|re
TWo screres:
rorp(eerpl|ve - orce CPu d|ver lo lre p(ocess |l carrol oe p(eerpled url||
corp|eles |ls CPu ou(sl
p(eerpl|ve - |l a reW p(ocess a((|ves W|lr CPu ou(sl |erdlr |ess lrar
(era|r|rd l|re ol cu((erl execul|rd p(ocess. p(eerpl. Tr|s screre |s |roW
as lre
3ro(lesl-Rera|r|rd-T|re-F|(sl |3RTF)
3JF |s opl|ra| - d|ves r|r|rur ave(ade Wa|l|rd l|re lo( a d|ver sel ol p(ocesses
P(ocess A((|va| T|re 8u(sl T|re
!

0.0 Z
!

2.0 1
!

1.0 1
!

5.0 1
3JF |ror-p(eerpl|ve)
Ave(ade Wa|l|rd l|re |0 ÷ ÷ 3 ÷ Z)/1 1
amp|e of Non amp|e of Non--Preempt|ve 8J Preempt|ve 8J
P
1
P
3
P
2
Z 3 1 0
P
1
8 12
amp|e of Preempt|ve 8J amp|e of Preempt|ve 8J
P(ocess A((|va| T|re 8u(sl T|re
!

0.0 Z
!

2.0 1
!

1.0 1
!

5.0 1
3JF |p(eerpl|ve)
Ave(ade Wa|l|rd l|re |9 ÷ 1 ÷ 0 ÷2)/1 3
P
1
P
3
P
2
1 2
11 0
P
1
5 Z
P
2
P
1
1
eterm|n|ng Length of Net 6PU urst eterm|n|ng Length of Net 6PU urst
Car or|v esl|rale lre |erdlr
Car oe dore ov us|rd lre |erdlr ol p(ev|ous CPu ou(sls. us|rd exporerl|a|
ave(ad|rd
: Define 4.
1 0 , 3.
burst CPU next the for value predicted 2.
burst CPU of length actual 1.
A A

- -
:
3
9
3
3 9
. 1
1 3 3 3
9 : - - :

Pred|ct|on of the Length of the Net 6PU urst Pred|ct|on of the Length of the Net 6PU urst
amp|es of ponent|a| verag|ng amp|es of ponent|a| verag|ng
- 0
:
r÷1
:
r
Recerl r|slo(v does rol courl
- 1
:
r÷1
- r
r
0r|v lre aclua| |asl CPu ou(sl courls
ll We expard lre lo(ru|a. We del:
:
n÷1
- l
n
÷|1 - -- r
n
-1 ÷ .
1 - -

- r
n -
÷ .
1 - -
n ÷1
:
0
3|rce oolr - ard |1 - -) a(e |ess lrar o( ecua| lo 1. eacr success|ve le(r ras
|ess We|drl lrar |ls p(edecesso(
Pr|or|ty 8chedu||ng Pr|or|ty 8chedu||ng
A p(|o(|lv ruroe( ||rlede() |s assoc|aled W|lr eacr p(ocess
Tre CPu |s a||ocaled lo lre p(ocess W|lr lre r|dresl p(|o(|lv |sra||esl |rlede(
r|dresl p(|o(|lv)
P(eerpl|ve
rorp(eerpl|ve
3JF |s a p(|o(|lv scredu||rd Wre(e p(|o(|lv |s lre p(ed|cled rexl CPu ou(sl l|re
P(oo|er 3la(val|or - |oW p(|o(|lv p(ocesses rav reve( execule
3o|ul|or Ad|rd - as l|re p(od(esses |rc(ease lre p(|o(|lv ol lre p(ocess
#ound #ob|n [##} #ound #ob|n [##}
Eacr p(ocess dels a sra|| ur|l ol CPu l|re |r|me ouanrum). usua||v 10-100
r||||secords. Alle( lr|s l|re ras e|apsed. lre p(ocess |s p(eerpled ard
added lo lre erd ol lre (eadv cueue.
ll lre(e a(e n p(ocesses |r lre (eadv cueue ard lre l|re cuarlur |s o. lrer
eacr p(ocess dels 1/n ol lre CPu l|re |r crur|s ol al rosl o l|re ur|ls al
orce. No p(ocess Wa|ls ro(e lrar |n-1)o l|re ur|ls.
Pe(lo(rarce
o |a(de FlF0
o sra|| o rusl oe |a(de W|lr (especl lo corlexl sW|lcr. olre(W|se
ove(read |s loo r|dr
amp|e of ## w|th T|me 0uantum = 20 amp|e of ## w|th T|me 0uantum = 20
P(ocess 8u(sl T|re
!

53
!

1Z
!

8
!

21
Tre 0arll cra(l |s:
Tvp|ca||v. r|dre( ave(ade lu(ra(ourd lrar 3JF. oul oelle( resoonse
P
1
P
2
P
3
P
1
P
1
P
3
P
1
P
1
P
3
P
3
0 20 3Z 5Z ZZ 9Z 11Z 121 131 151 12
T|me 0uantum and 6ontet 8w|tch T|me T|me 0uantum and 6ontet 8w|tch T|me
Turnaround T|me Var|es w|th The T|me 0uantum Turnaround T|me Var|es w|th The T|me 0uantum
u|t||eve| 0ueue u|t||eve| 0ueue
Readv cueue |s pa(l|l|ored |rlo sepa(ale cueues:
lo(ed(ourd ||rle(acl|ve)
oac|d(ourd |oalcr)
Eacr cueue ras |ls oWr scredu||rd a|do(|lrr
lo(ed(ourd - RR
oac|d(ourd - FCF3
3credu||rd rusl oe dore oelWeer lre cueues
F|xed p(|o(|lv scredu||rd: ||.e.. se(ve a|| l(or lo(ed(ourd lrer l(or
oac|d(ourd). Poss|o|||lv ol sla(val|or.
T|re s||ce - eacr cueue dels a ce(la|r arourl ol CPu l|re Wr|cr |l car
scredu|e arordsl |ls p(ocesses: |.e.. 80º lo lo(ed(ourd |r RR
20º lo oac|d(ourd |r FCF3
u|t||eve| 0ueue 8chedu||ng u|t||eve| 0ueue 8chedu||ng
u|t||eve| eedback 0ueue u|t||eve| eedback 0ueue
A p(ocess car rove oelWeer lre va(|ous cueues: ad|rd car oe |rp|ererled lr|s
Wav
Vu|l||eve|-leedoac|-cueue scredu|e( del|red ov lre lo||oW|rd pa(arele(s:
ruroe( ol cueues
scredu||rd a|do(|lrrs lo( eacr cueue
relrod used lo dele(r|re Wrer lo upd(ade a p(ocess
relrod used lo dele(r|re Wrer lo derole a p(ocess
relrod used lo dele(r|re Wr|cr cueue a p(ocess W||| erle( Wrer lral
p(ocess reeds se(v|ce
amp|e of u|t||eve| eedback 0ueue amp|e of u|t||eve| eedback 0ueue
Tr(ee cueues:
"
0
- RR W|lr l|re cuarlur 8 r||||secords
"
1
- RR l|re cuarlur 1 r||||secords
"
2
- FCF3
3credu||rd
A reW joo erle(s cueue "

Wr|cr |s se(ved FCF3. wrer |l da|rs CPu. joo
(ece|ves 8 r||||secords. ll |l does rol l|r|sr |r 8 r||||secords. joo |s roved lo
cueue "
1
.
Al "
1
joo |s ada|r se(ved FCF3 ard (ece|ves 1 add|l|ora| r||||secords. ll |l
sl||| does rol corp|ele. |l |s p(eerpled ard roved lo cueue "
2
.
u|t||eve| eedback 0ueues u|t||eve| eedback 0ueues
u|t|p|e u|t|p|e--Processor 8chedu||ng Processor 8chedu||ng
CPu scredu||rd ro(e corp|ex Wrer ru|l|p|e CPus a(e ava||ao|e
omooeneous orooessors W|lr|r a ru|l|p(ocesso(
oao snar|no
/symmerr|o mu|r|orooess|no - or|v ore p(ocesso( accesses lre
svsler dala sl(uclu(es. a||ev|al|rd lre reed lo( dala sra(|rd
#ea| #ea|--T|me 8chedu||ng T|me 8chedu||ng
aro rea|-r|me svslers - (ecu|(ed lo corp|ele a c(|l|ca| las|
W|lr|r a dua(arleed arourl ol l|re
$olr rea|-r|me corpul|rd - (ecu|(es lral c(|l|ca| p(ocesses
(ece|ve p(|o(|lv ove( |ess lo(lurale ores
Thread 8chedu||ng Thread 8chedu||ng
oca| 3credu||rd - loW lre lr(eads ||o(a(v dec|des Wr|cr lr(ead lo pul
orlo ar ava||ao|e wP
0|ooa| 3credu||rd - loW lre |e(re| dec|des Wr|cr |e(re| lr(ead lo (ur rexl
Pthread 8chedu||ng P| Pthread 8chedu||ng P|
include <pthread.h>
include <stdio.h>
define NUM THREADS 5
int main(int argc, char *argv[])
{
int i;
pthread t tid[NUM THREADS];
pthread attr t attr;
/* get the default attributes */
pthread attr init(&attr);
/* set the scheduling algorithm to PROCESS or SYSTEM */
pthread attr setscope(&attr, PTHREAD SCOPE SYSTEM);
/* set the scheduling policy - FÌFO, RT, or OTHER */
pthread attr setschedpolicy(&attr, SCHED OTHER);
/* create the threads */
for (i = 0; i < NUM THREADS; i++)
pthread create(&tid[i],&attr,runner,NULL);
Pthread 8chedu||ng P| Pthread 8chedu||ng P|
/* now join on each thread */
for (i = 0; i < NUM THREADS; i++)
pthread join(tid[i], NULL);
}
/* Each thread will begin control in this function */
void *runner(void *param)
{
printf("Ì am a thread\n");
pthread exit(0);
}
0perat|ng 8ystem amp|es 0perat|ng 8ystem amp|es
3o|a(|s scredu||rd
w|rdoWs XP scredu||rd
|rux scredu||rd
8o|ar|s 2 8chedu||ng 8o|ar|s 2 8chedu||ng
8o|ar|s |spatch Tab|e 8o|ar|s |spatch Tab|e
w|ndows XP Pr|or|t|es w|ndows XP Pr|or|t|es
L|nu 8chedu||ng L|nu 8chedu||ng
TWo a|do(|lrrs: l|re-sra(|rd ard (ea|-l|re
T|re-sra(|rd
P(|o(|l|zed c(ed|l-oased - p(ocess W|lr rosl c(ed|ls |s scredu|ed rexl
C(ed|l suol(acled Wrer l|re( |rle((upl occu(s
wrer c(ed|l 0. arolre( p(ocess croser
wrer a|| p(ocesses rave c(ed|l 0. (ec(ed|l|rd occu(s
8ased or laclo(s |rc|ud|rd p(|o(|lv ard r|slo(v
Rea|-l|re
3oll (ea|-l|re
Pos|x.1o corp||arl - lWo c|asses
FCF3 ard RR
l|dresl p(|o(|lv p(ocess a|Wavs (urs l|(sl
The #e|at|onsh|p etween Pr|or|t|es and T|me The #e|at|onsh|p etween Pr|or|t|es and T|me--s||ce |ength s||ce |ength
L|st of Tasks |ndeed ccord|ng to Pror|t|es L|st of Tasks |ndeed ccord|ng to Pror|t|es
|gor|thm va|uat|on |gor|thm va|uat|on
ele(r|r|sl|c rode||rd - la|es a pa(l|cu|a( p(edele(r|red Wo(||oad
ard del|res lre pe(lo(rarce ol eacr a|do(|lrr lo( lral Wo(||oad
0ueue|rd rode|s
lrp|ererlal|or
5.15 5.15
5.08 5.08
|n |n--5.7 5.7
|n |n--5.8 5.8
|n |n--5.9 5.9
|spatch Latency |spatch Latency
Java Thread 8chedu||ng Java Thread 8chedu||ng
J\V uses a P(eerpl|ve. P(|o(|lv-8ased 3credu||rd A|do(|lrr
FlF0 0ueue |s used |l Tre(e A(e Vu|l|p|e Tr(eads w|lr lre 3are P(|o(|lv
Java Thread 8chedu||ng [cont} Java Thread 8chedu||ng [cont}
J\V 3credu|es a Tr(ead lo Rur wrer:
1. Tre Cu((erl|v Rurr|rd Tr(ead Ex|ls lre Rurrao|e 3lale
2. A l|dre( P(|o(|lv Tr(ead Erle(s lre Rurrao|e 3lale
¯ Nole - lre J\V oes Nol 3pec|lv wrelre( Tr(eads a(e T|re-3||ced o( Nol
T|me T|me--8||c|ng 8||c|ng
3|rce lre J\V oesr'l Ersu(e T|re-3||c|rd. lre v|e|d|) Velrod
Vav 8e used:
Wr||e |l(ue) [
// pe(lo(r CPu-|rlers|ve las|
. . .
Tr(ead.v|e|d|):
}
Tr|s Y|e|ds Corl(o| lo Arolre( Tr(ead ol Ecua| P(|o(|lv
Thread Pr|or|t|es Thread Pr|or|t|es
Pr|or|ty 6omment
Tr(ead.VlN_PRl0RlTY V|r|rur Tr(ead P(|o(|lv
Tr(ead.VAX_PRl0RlTY Vax|rur Tr(ead P(|o(|lv
Tr(ead.N0RV_PRl0RlTY elau|l Tr(ead P(|o(|lv
P(|o(|l|es Vav 8e 3el us|rd selP(|o(|lv|) relrod:
selP(|o(|lv|Tr(ead.N0RV_PRl0RlTY ÷ 2):

,5907!&$.0/:3 
,8.43.0598 $.0/:37907, $.0/:347928 :950
!74.08847$.0/:3 #0,
%20$.0/:3 %70,/$.0/:3 507,93$89028,2508 ,;,%70,/$.0/:3 4792;,:,943

,8.43.0598 
,2:2!&:9,9434-9,30/92:95747,223 !& 

:789.0 !74.08800.:943.43889841,..0 41!&00.:943 ,3/

,9 !&-:789/897-:943

041!&3/.9073.93$06:03.

:7898 .

241!& 8947.241!& -:789%208 .8947.

574.24390574.908 $.90  $9.0 .0817427:33394.90890!&9443041902 !&8.9./  %0723.0/:3:3/07.939470.981742.!&$.0 49078.9..84382.3/ ./89.05.088  $9.088083202479.90  $9.081742./9400.003.0817427:3339470.0/:07 $00.0/:3/0.7070.3/83435700259..0/:385700259.:90 .4.9389.

4.903.394:80724/0 :25394905745074.9.07 85. 92099.43909 89.95747.0/:07983.349077:333 .2947089.08.3/89.79 .0724/:0.90/-908479 90728..088.088800.439744190!&9490574.2 85.07948945430574.08    89.943390:8075747.0814790/85.9.85.799.9.3.9..

7574.0/:37907.9339070.08174203.8-:8.9.24:39419209400.5.0/ 349 4:95:9 147920 8.706:089.42509090700.:943507920:39 %:73.85488-0 %74:5:9 41574.7303. !&:9.:90.93920 ./ 6:0:0 #0854380920 .8 8:-2990/:39901789708543808574/:.$.574.7432039 .79.088 .24:394192099.:.088.24:3941920.74:3/920 .8-003.943 00590!&.088089.

9437907.974:5:9 39:73.!&:9. .93920 370854380920 .592.943 .74:3/920 3.

77.93920    .0/ $ $.990574.088 :789%20 !  !  !  $:554809.789 789 420 789 $07.08808.93920147!  ! ! .0/:08 ! .79147908.07.399.0.039047/07! ! ! %0.0/:3 789 !74.

  !  !  .

0/:08 !  !  !  .0/:3 439 $:554809.990574.399.79147908.0.07.$$.93920147!  !  ! ..039047/07 ! ! ! %0.77.93920     .08808.

4:8.088 . :.40110..9 8479574.80 43.3570.088-03/43574.-099079.

3349-057002590/:39 .039490574...:7703900.0889.0 43.890 $479089 #02.089!&-:7890390889.425090898!&-:789 5700259.088.0208  3435700259.30574.3392041..0/:090574.574.0380941574..77.$479089 4- $479089 4- 789 $ $.0!&..08808 .3 702.9090.0.08232:2. .33 %20 789 $#%  $84592.0 1.088 5700259 %88.07.93920147.020834 .:93574.0/:3 884.0889908479089920 %48.088900394198309!&-:789 &8090800398 948.

2504143 .%20    :789%20     .07.088 ! ! ! ! $ 343 5700259.0 !   !  !  !  77..0$ !74.93920     .0.2504143 !700259..

 .

0.%20    :789%20     .25041!700259.088 ! ! ! ! $ 5700259..93920      .0$ !74.07..0 !  !  !  !  !  !  77.

 .

90/.03941 3 9 !&-:789  : 3  570/.4:8!&-:7898 :830543039..9:.A  : 3   .3  9 3  . A ..9090039 .07.. .09072330394109!&:789 .: 3  .9 3  0130  .3430892.:014790309!&-:789  .3-0/430-:839003941570.

9434190039419009!&:789 .!70/.

93  390.3/901472:..34706:..4:39 ..3 ... .9:.93    3 : $3.8 088099.07.0-49.93    .93  .398570/0.8:.  :3  :3  #0.  :3  .4:398 1005..0398947/408349.700889..3/  . 009 :3  .088.89!&-:789..250841543039.94 0..09072.08847 .

.!7479$.8090574794190574.088082.90/309!&-:789920 !74-02 $9.574..0 $8.0/:3 574793:2-07 39007 8.30.0/:307057479890570/.08899008957479 82.89205747088083.:90 $4:943 3 .90/90.0 3435700259.0700.70.08939007 08957479   !700259.088 .088 %0!&8..943 457479574.884.7.4..90/9490574.574798.

088857002590/.574.39:2 :8:.088098.:3941!&920 9206:.088098.580/ 90574.574.3/909206:./6:0:0.   280.39:286 903 0.703 574.82.3/ .0880839070.43/8 190798920.80..//0/949003/419070.#4:3/#4-3 ## ../6:0:0 19070.

994./8944 .9 43.70970850.3.:3841.0 4574.9824709. 62:89-0.924896 920:398.0   6 .070.3 3  6920:398 !071472.088. 490780 4.70  682.4390989.3 4190!&9203.

39:2 !74..3$ -:9-0990770854380 .09:73.088 ! ! ! ! %0.25041##9%20":. 07..798 :789%20     !  !  !  !  !  !  ! !   ! !   %5..399.07..74:3/9.

39:2.%20":.3/43909$9.%20 .

7089%0%20":.39:2 .74:3/%20'.%:73.

0 -.943 %208.9.9.08808 0  94147074:3/3##  94-.74:3/ $ 0/574798..6:0:0.7.2438998574.74:3/ !488-94189.. .0/:3  0 807.0/:32:89-0/430-09003906:0:08    .906:0:08 147074:3/ 3907.0/:3.1742147074:3/9031742 -..7..0":0:0 #0.3 8.0/:0.079./6:0:085.799430/394805.74:3/ -.9.6:0:0098.3..0 0.24:3941!&920...0..898438..4792   147074:3/ ## -..:90.74:3/3$ $.

:90.0":0:0$.0/:3 .

0 100/-.0-0900390.0/:3.6:0:0.324.0 ..574..6:0:0 2094/:80/94/09072300394:57..3-025020390/98 .0/:07/0130/-9014435..000/-.08803907039.209078      3:2-07416:0:08 8.3.479281470.9 574.088.74:86:0:08..7.":0:0 574.088 2094/:80/94/0907230..574./0.. :90.574.:90. 6:0:08.088300/8807.088 2094/:80/94/09072300394/02490.

3807..8807.0...//943.39:2280.0/946:0:0" $.280.43/8 " $ 304-0390786:0:0" .0/$.25041:90.43/8 19 89/408349.08.39:2280.08280.43/8 19/4083491383280.000/-.0/ $ 039.0/:3   .3/70.38!& 4- 70.0.43/8 4-824.":0:0 %7006:0:08    " ##99206:.0/94 6:0:0" 9" 4-8.425090 9857002590/.43/8 " ##9206:.3/24.

000/-..:90.":0:08 .

08847$.:950 :950 !74.9390300/147/.-0 4240304:8574.2:9574.4250032:950!&8..9..8.088478 93.73 .9:708 ./8.08847 4.2:9574.9..0883 43430574..0880890 88902/.0/:3 !&8.0/:32470...08847.897:.73 822097.0.70.

425090.24:3941920 $41970.08808 70.3900/.574..904308 .070881479:3.0574794.8 93.7..79. %20$.9. 920 .79.0/:3 .. 920 889028 706:70/94.0. #0.7/70.425:93 706:7089.9.:.#0.

/8-7..%70.0/:3 4./947:3309 ./08.$.-0! 4-.0730970.3.$.0/:3 490970./$.0/:3 4900730/0.970.../945:9 4394../08.7/0.

7 .0/:3! 3. .!970.9979./$.:/089/4  /0130&%#$ 392.7././  3.3 39.(  39 5970.997 ../99/&%#$( 5970.:/05970.7.

0990/01.:9.997-:908 .

/. 5970.997  .99739 .

809908.0/:3.479294!# $$47$$% .

9978098.450 .997 !%#$ !$$%  . 5970./.

809908.0/:354.  #% 47 %# .

9978098.0/54. 5970. ./.997 $ %#  .

70. .9090970./8 .

147  &%#$ 5970.90 9/( .70.997 7:3307 &  ./.

!970./$.0/:3! .

. 3443430.970./ .

147  &%#$ 5970./43 9/( &  < .

439743981:3..943 . .970./-03.

4/ 5.2  57391 .970. .7./3  5970.2.4/ 7:3307 ./09  < .

507.0/:3 .788.0/:3 3/48!8.93$8902.2508 $4.0/:3 3:8.

$4.78$.0/:3 .

7885.%.-0 .9.$4.

3/48!!747908 .

8808  $.0/:3 %4.70/9 .73  !74790/..574.70/9 -.87:381789 .:/357479. 920  $41970.425.:78  .. 920  !48 -..80/431.70/9888.3/70.70/9 70.088.73.3:$.47928920 8.39 94.4803  03. 920 %20 8.70/934.0.94783.3/##  08957479574.80/ 574...08892489.088..0/:0/309  70/98:-97.90/03920739077:594..34907574.08808.3/8947 #0.:78  03.

9438509003!747908.%0#0.3/%20 8.0039 %0#0.3/%20 .9438509003!747908.

47/394!747908 .8941%.883/00/..

5.943 .79..9474.0410.3.08...24/03 9.47921479.4792./ ":0:0324/08 2502039.3//01308905071472.943 09072389.7570/0907230/474.:./ .:.

  .

  .

3   3 .

3   3 .

3   3 .

 .903.9..85.

/8990$.0/:34792  ":0:08&80/1%07070:950%70.80/$.!700259.0 !7479 ../$.20!7479 ..0/:3 '&808..%70.

0/4749 ./9890#:33.70%20 $.%70.-0$9.%70.90 490 90'40849$50..10907%70..-0$9.0/:08./8./$./94#:303   %0:77039#:333%70.90 07!7479%70.439 '$./3907890#:33..0/:3 .

%20 %20 $.3 900/ 094/ .0&80/ 0 97:0  .3 $3.090'4083 938:70%20 $.

.

5071472!& 39038.8   %70./416:.09.!7479 ./ 0/  < %80/8439749434907%70.

0$09&83809!7479 2094/ 809!7479 %70./!7479 !747908./!747908 !7479 %70.%70./  #*!# #%   .2:2%70./ *!# #% %70./  #*!# #% 422039 32:2%70./ *!# #% %70./!7479 .:9%70./!7479 01.

Sign up to vote on this title
UsefulNot useful