8/11/2019 Linux Scheduling Presented by Quontrasolutions
1/17
Hadux [ke`luh`rSuodtrc [ohutaods
Yaod``r ad A\ Odhad` \rcadadb
@fcah=adjoIquodtrcsohutaods.kof
8/11/2019 Linux Scheduling Presented by Quontrasolutions
2/17
[ke`luhadb Gcsaks\csns cr` laval`l adto ter`` broups, r`ch taf`
prok`ss`s, AO goudl, cdl KYP goudl
W`ch \af` - @xtr`f`hy eabe ske`luhadbr`quar`f`dts, d``ls c bucrcdt`` od eow ojt`d te`y
wahh rud, usuchhy te` eabe`st praoraty prok`ss ad c
syst`f
AO goudl - prok`ss`s tect sp`dl fost oj te`ar taf`wcatadb jor lctc boadb to or kofadb jrof te` lasn
8/11/2019 Linux Scheduling Presented by Quontrasolutions
3/17
[ke`luhadb Gcsaks kodt.KYP goudl - Yrok`ss`s tect kodsuf`hcrb` cfoudts oj kpu
\af` shak` - cfoudt oj taf` tect c prok`sskcd rud od te` KYP
Yr``fptaod - Re`d te` `x`kutaod oj te`kurr`dthy ruddadb prok`ss as adt`rrupt`l ad
orl`r to rud c lajj`r`dt, eabe`r praoratyprok`ss
8/11/2019 Linux Scheduling Presented by Quontrasolutions
4/17
\e` ske`luh` judktaod[ke`luh`() as te` judktaod ad te` hadux n`rd`h tectlo`s te` cktuch ske`luhadb
Ecs fuhtaph` wcys oj g`adb rudWuds we`d c d`w prok`ss d``ls to g` s`h`kt`ljor ske`luhadb
As kchh`l we`d te` kurr`dthy ruddadb prok`ss as
ghokn`l, wcatadb jor c r`sourk`@cke prok`ssor kcd kchh ske`luh` od ats owd
Fcdy l`vak` lrav`rs wahh kchh ske`luh`
8/11/2019 Linux Scheduling Presented by Quontrasolutions
5/17
7.< Gcsaks3
8/11/2019 Linux Scheduling Presented by Quontrasolutions
6/17
[ke`luh`_lctcstrukt ske`luh`_lctc {
strukt tcsn_strukt * kurr>
kykh`s_t hcst_ske`luh`>
} ske`luh`_lctc>
kecr __pcl
^[FY_KCKE@_GQ\@[V>
8/11/2019 Linux Scheduling Presented by Quontrasolutions
7/17
[ke`luh`_lctc `xphcad`l
W`fcrncghy safph` lctc struktur`
L`jad`l ad ske`l.k
Kodtcads c taf` stcfp oj te` hcst
prok`ss swatke
Chso kodtcads c poadt`r to te` prok`ss
tect as kurr`dthy ruddadb
8/11/2019 Linux Scheduling Presented by Quontrasolutions
8/17
7.< [FYW`ske`luh`_alh` ke`kns to s`` aj te`prok`ss tect must fov`l out oj te`
ruddadb stct` seouhl g` fov`l to clajj`r`dt kpu
At lo`sdt us` te` koudt`r cdl dak`vchu`s lar`kthy, at us`s te` boold`ss
judktaod to ke`kn praorata`sBoold`ss tcn`s adto ckkoudt te` kostoj fovadb c prok`ss ckross kpus
8/11/2019 Linux Scheduling Presented by Quontrasolutions
9/17
7.: Gcsaks
0299 Had`s oj kol`Wud qu`u` cdl praoraty crrcys cr` te` gcsak
lctc struktur`s
Od` rud qu`u` p`r prok`ssor
\wo praoraty crrcys p`r rud qu`u`
8/11/2019 Linux Scheduling Presented by Quontrasolutions
10/17
Wud Su`u` spadhokn_t hokn>udsabd`l hodb dr_ruddadb>#ajl`j KODJAB_[FY
udsabd`l hodb prao_gacs>
udsabd`l hodb kpu_hocl^;V>#`dlaj
udsabd`l hodb hodb dr_swatke`s>
udsabd`l hodb dr_udadt`rruptagh`>
udsabd`l hodb `xpar`l_taf`stcfp>
udsabd`l hodb hodb taf`stcfp_hcst_takn>
tcsn_t *kurr, *alh`>strukt ff_strukt *pr`v_ff>
prao_crrcy_t *cktav`, *`xpar`l, crrcys^7V>
adt g`st_`xpar`l_prao>
ctofak_t dr_aowcat>
#ajl`j KODJAB_[FY
strukt ske`l_lofcad *sl>adt cktav`_gchcdk`>
adt puse_kpu>
tcsn_t *fabrctaod_ter`cl>
strukt hast_e`cl fabrctaod_qu`u`>
#`dlaj
8/11/2019 Linux Scheduling Presented by Quontrasolutions
11/17
Wud qu`u` `xphcad`l
Yrafcry ske`luhadb lctc struktur`
L`jad`l ad ske`l.k
D``ls to g` hokn`l g`jor` atsfolaja`l
Hokns cr` ogtcad`l od fuhtaph`
rud qu`u`s ad csk`dladb orl`r
8/11/2019 Linux Scheduling Presented by Quontrasolutions
12/17
Yraoraty Crrcy
strukt prao_crrcy {
udsabd`l adt dr_cktav`>
udsabd`l hodbgatfcp^GA\FCY_[A]@V>
strukt hast_e`cl qu`u`^FCU_YWAOV>
}>
8/11/2019 Linux Scheduling Presented by Quontrasolutions
13/17
Yraoraty Crrcys `xphcad`lL`jad`l ad ske`l.kYroval`s kodstcdt ruddadb taf` jor te` ske`luhadbchboratef
Kodtcads hasts oj ruddcgh` prok`ss`s ct `cke
praoraty h`v`hC gatfcp as us`l to `jjaka`dthy laskov`r te`eabe`st praoraty prok`ss
Re`d c tcsn wate praoraty 39 g`kof`s ruddcgh`gat 39 ad te` gatfcp b`ts s`t to 3
8/11/2019 Linux Scheduling Presented by Quontrasolutions
14/17
7.: [FY
Hocl_gchcdk` as te` judktaod tect fcn`ssur` `cke prok`ssor ecs c r`hctav`hy `quch
dufg`r oj prok`ss`s od at
Odhy as rud od fuhta prok`ssor syst`fsWuds `v`ry fahhas`kodl we`d te` syst`f as
alh` or `v`ry 799 fahhas`kodls
Odhy tcsns tect cr` dot ruddadb cr` fov`l
8/11/2019 Linux Scheduling Presented by Quontrasolutions
15/17
Gab O ruddadb taf`s
\e` 7.: n`rd`h ecs ckodstcdt ruddadb taf`
O(3)
H`cls to g`tt`r skchcgahaty
tecd te` 7.< n`rd`hChso ecs c fuke for`
kofph`x afph`f`dtctaod
\af` shak`s cr`
kchkuhct`l we`d cprok`sss taf`shak` asus`l, g`jor` at fov`s tote` `xpar`l crrcy
7.< n`rd`h ecs c
had`cr ruddadb taf`
ad te` worst kcs`
Hoops ov`r te`prok`ss hast ct te`
`dl oj `cke taf`
qucdtuf
W`kchkuhct`s `cke
prok`ss`ss taf`
shak`
8/11/2019 Linux Scheduling Presented by Quontrasolutions
16/17
W`ch taf` lajj`r`dk`s
7.: proval`s sojt
r`ch taf` support
W`ch taf`
prok`ss`s wahh
pr``fpt r`buhcr
prok`ss`s
W`ch taf` praorata`s
cr` s`t stctakchhy
Dot chh v`rsaods oj te`7.< n`rd`h kcd ojj`rcdy r`ch taf`
bucrcdt``sDot chh v`rsaods oj te`7.< n`rd`h ojj`r
pr``fptaodYraoraty adv`rsaodokkurs jr`qu`dthy adte` 7.< n`rd`h
8/11/2019 Linux Scheduling Presented by Quontrasolutions
17/17
W`j`r`dk`sPdl`rstcdladb te` Hadux N`rd`h 7dl @lataod
N`rd`h d`wga`s
Hadux N`rd`h Kross W`j`r`dk`
Hadux N`rd`h L`v`hopf`dt
Hadux L`vak` Lrav`rs ;rl @lataod
mailto:http://www.amazon.com/gp/product/0596002130/sr=8-2/qid=1140029853/ref=pd_bbs_2/104-6503296-1311937%3F%5Fencoding=UTF8mailto:http://www.kernelnewbies.orgmailto:http://lxr.linux.no/mailto:http://www.amazon.com/gp/product/0672327201/qid=1140029948/sr=2-1/ref=pd_bbs_b_2_1/104-6503296-1311937%3Fs=books%26v=glance%26n=283155mailto:http://www.amazon.com/gp/product/0596005903/ref=pd_bxgy_text_b/104-6503296-1311937%3F%5Fencoding=UTF8mailto:http://www.amazon.com/gp/product/0596005903/ref=pd_bxgy_text_b/104-6503296-1311937%3F%5Fencoding=UTF8mailto:http://www.amazon.com/gp/product/0672327201/qid=1140029948/sr=2-1/ref=pd_bbs_b_2_1/104-6503296-1311937%3Fs=books%26v=glance%26n=283155mailto:http://lxr.linux.no/mailto:http://www.kernelnewbies.orgmailto:http://www.amazon.com/gp/product/0596002130/sr=8-2/qid=1140029853/ref=pd_bbs_2/104-6503296-1311937%3F%5Fencoding=UTF8