introduction to linux kernel by quontra solutions

Upload: quontrasolutions

Post on 02-Jun-2018

232 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    1/50

    Jaiux M`ri`j Aitrfeuktafi

    Rr`s`it`e Cy

    Wufitrg [[email protected]

    Kfitgkt Ps;53? Taitgo` kar,[@ [lyrig,

    OG-;22>2

    Rnfi` 8 (525)-122-11>> / (525)-112-

    ;22?

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    2/50

    Nastfry

    PIA^8 7141 Unflpsfi & Satkna` GU&U C`jj Jgcs.

    C[E8 71?> C`rm`j`y [fdtwgr` Eastracutafi.

    Kfll`rkagj T`iefrs8 [ui, NR, ACL, [OA, E@K.

    OIP8 71>5 Sakngre [tgjjlgi, D[D.

    RF[A^8 71>4 A@@@ Rfrtgcj` Fp`rgtaio [yst`l uiA^.

    Laiax8 71>? Giey Ugii`icgul.

    [TS58 71>1 GU&U gie [ui.

    Jaiux8 7117 Jaius Ufrvgjes Ait`j ;>4 (a;>4).

    Fp`i [furk`8 ORJ.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    3/50

    Jaiux D`gtur`s

    PIA^-jam` fp`rgtaio syst`l.

    D`gtur`s8 Rr``lptav` lujtatgsmaio.

    Tartugj l`lfry (prft`kt`e l`lfry, pgoaio).

    [ngr`e jacrgra`s.

    E`lgie jfgeaio, eyiglak m`ri`j lfeuj`s.

    [ngr`e kfpy-fi-wrat` `x`kutgcj`s.

    UKR/AR i`twfrmaio. [LR suppfrt.

    Fp`i sfurk`.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    4/50

    _ngts g M`ri`j6

    GMG8 `x`kutav`, syst`l lfiatfr.

    Kfitrfjs gie l`eagt`s gkk`ss tf ngrewgr`.

    Alpj`l`its gie suppfrts duiegl`itgj gcstrgktafis8

    Rrfk`ss`s, daj`s, e`vak`s `tk. [kn`euj`s / gjjfkgt`s syst`l r`sfurk`s8

    L`lfry, KRP, easm, e`skraptfrs, `tk.

    @idfrk`s s`kuraty gie prft`ktafi.

    S`spfies tf us`r r`qu`sts dfr s`rvak` (syst`l kgjjs). @tk`tk

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    5/50

    M`ri`j E`saoi Ofgjs

    R`rdfrlgik`8 `ddaka`iky, sp``e. Ptajaz` r`sfurk`s tf kgpgkaty watn jfw fv`rn`ge.

    [tgcajaty8 rfcusti`ss, r`saja`ik`.

    Pptal`, orgk`duj e`orgegtafi. Kgpgcajaty8 d`gtur`s, dj`xacajaty, kflpgtacajaty.

    [`kuraty, prft`ktafi. Rrft`kt us`rs drfl `gkn ftn`r & syst`l drfl cge

    us`rs. Rfrtgcajaty.

    @xt`isacajaty.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    6/50

    @xglpj` Kfr` M`ri`j

    Gppjakgtafis

    [yst`l Jacrgra`s (jack)

    [yst`l Kgjj Ait`rdgk`

    Ngrewgr`

    Grknat`ktur`-E`p`ie`it Kfe`

    A/F S`jgt`e Rrfk`ss S`jgt`e

    [kn`euj`r

    L`lfry Lgigo`l`it

    ARK

    Daj` [yst`ls

    I`twfrmaio

    E`vak` Erav`rs

    Lfeuj`s

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    7/50

    Grknat`kturgj Gpprfgkn`s

    Lfifjatnak.

    Jgy`r`e.

    Lfeujgraz`e. Lakrf-m`ri`j.

    Tartugj lgknai`.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    8/50

    Jaiux [furk` Ur`` Jgyfut

    /usr/srk/jaiuxEfkul`itgtafi

    grkn

    ds

    aiat m`ri`j

    aikjue`

    apk

    erav`rs

    i`t

    lljac

    skrapts

    gjpng

    grl

    a;>4

    ag45

    l4>m

    laps

    laps45

    ppks;12

    sn

    spgrk

    spgrk45

    gkfri

    gtlcjfkm

    kerfl

    kngr

    eaf

    dk5

    a3k

    a3f

    ae`a```7;15

    asei

    lgkaitfsn

    lask

    i`t

    gedsgdds

    gutfds

    gutfds5

    cds

    kfe`

    krglds

    e`vds

    e`vpts

    `ds

    `xt3

    dgt

    nds

    npds

    gsl-gjpnggsl-grl

    gsl-o`i`rak

    gsl-a;>4

    gsl-ag45

    gsl-l4>m

    gsl-laps

    gsl-laps45jaiux

    lgtn-`lu

    i`t

    pklkag

    sksa

    vae`f

    geds

    gdds

    gutfds

    gutfds5

    cds

    kfe`

    krglds

    e`vdse`vpts

    `ds

    `xt3

    dgt

    nds

    npds

    >23

    gppj`tgjmgtl

    gx30

    craeo`

    kfr`

    e`ki`t

    `kfi`t

    `tn`ri`t

    apv5apv4

    apx

    areg

    mnttpe

    jgpc

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    9/50

    jaiux/grkn

    [ucear`ktfra`s dfr `gkn kurr`it pfrt.

    @gkn kfitgais m`ri`j, jac, ll, cfftgie ftn`rear`ktfra`s wnfs` kfit`its fv`rrae` kfe`

    stucs ai grknat`ktur` aie`p`ie`it kfe`. jackfitgais naonjy-fptalaz`e kfllfi utajaty

    rfutai`s sukn gs l`lkpy, kn`kmsuls, `tk.

    grkngs fd 3.58 gjpng, grl, a;>4, ag45, l4>m, laps, laps45.

    ppk, s;12, sn, spgrk, spgrk45.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    10/50

    jaiux/erav`rs

    Jgro`st glfuit fd kfe` ai tn` m`ri`j tr`` (~7.0L).

    e`vak`, cus, pjgtdfrl gie o`i`rgj ear`ktfra`s.

    erav`rs/kngriVtty.k as tn` e`dgujt jai` easkapjai`.

    erav`rs/cjfkm`j`vgtfr.k, o`ine.k, jai`gr.k, jjVrwVcjm.k, rgaeI.k.

    erav`rs/i`tsp`kadak erav`rs gie o`i`rgj rfutai`s [pgk`.k gie i`tVaiat.k. erav`rs/sksasksaV*.k daj`s gr` o`i`rak= se.k (easm), sr.k (KE-SFL), st.k

    (tgp`), so.k (o`i`rak).

    O`i`rgj8

    kerfl, ae`, asei, pgrpfrt, pklkag, pip, sfuie, t`j`pnfiy, vae`f.

    Cus`sdk5, a3k, iucus, pka, scus, tk, usc. Rjgtdfrlsgkfri, lgkaitfsn, s;12, soa.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    11/50

    jaiux/ds

    Kfitgais8

    vartugj daj`syst`l (TD[) drgl`wfrm.

    sucear`ktfra`s dfr gktugj daj`syst`ls.

    vds-r`jgt`e daj`s8

    `x`k.k, caidltV*.k - daj`s dfr lgppaio i`w prfk`ss algo`s.

    e`vak`s.k, cjmVe`v.ke`vak` r`oastrgtafi, cjfkm e`vak` suppfrt.

    sup`r.k, daj`syst`ls.k.

    aife`.k, ekgkn`.k, igl`a.k, cudd`r.k, daj`Vtgcj`.k.

    fp`i.k, r`geVwrat`.k, s`j`kt.k, pap`.k, dadf.k. dkitj.k, afktj.k, jfkms.k, equft.k, stgt.k.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    12/50

    jaiux/aikjue`

    aikjue`/gsl-*8

    Grknat`ktur`-e`p`ie`it aikjue` sucear`ktfra`s.

    aikjue`/jaiux8

    N`ge`r aidf i``e`e cftn cy tn` m`ri`j gie us`r gpps.

    Psugjjy jaim`e tf /usr/aikjue`/jaiux.

    M`ri`j-fijy pfrtafis ougre`e cy #ade`ds

    #ade`d VVM@SI@JVV

    /* m`ri`j studd */

    #`iead Ftn`r ear`ktfra`s8

    lgtn-`lu, i`t, pklkag, sksa, vae`f.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    13/50

    jaiux/aiat

    Hust twf daj`s8 v`rsafi.k, lgai.k.

    v`rsafi.kkfitgais tn` v`rsafi cgii`r tngt

    praits gt cfft.

    lgai.kgrknat`ktur`-aie`p`ie`it cfft kfe`.

    stgrtVm`ri`j as tn` pralgry `itry pfait.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    14/50

    jaiux/apk

    [yst`l T ARK dgkajata`s.

    Ad easgcj`e gt kflpaj`-tal`, utaj.k `xpfrts

    stucs tngt salpjy r`turi@IF[Q[.

    Fi` daj` dfr `gkn dgkajaty8

    s`l.ks`lgpnfr`s.

    snl.ksngr`e l`lfry.

    lso.kl`ssgo` qu`u`s.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    15/50

    jaiux/m`ri`j

    Un` kfr` m`ri`j kfe`.

    skn`e.ktn` lgai m`ri`j daj`8

    skn`euj`r, wgat qu`u`s, tal`rs, gjgrls, tgsm qu`u`s.

    Rrfk`ss kfitrfj8

    dfrm.k, x`k.k, saoigj.k, `xat.k tk

    M`ri`j lfeuj` suppfrt8

    mlfe.k, msyls.k, lfeuj`.k.

    Ftn`r fp`rgtafis8

    tal`.k, r`sfurk`.k, elg.k, sfdtarq.k, atal`r.k. praitm.k, aidf.k, pgiak.k, sysktj.k, sys.k.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    16/50

    jaiux/jac

    m`ri`j kfe` kgiift kgjj stgiegre K jacrgryrfutai`s.

    Daj`s8 crjfkm.kCao S`ge`r spaijfkms.

    klejai`.km`ri`j kfllgie jai` pgrsaio rfutai`s.

    `rrif.kojfcgj e`daiatafi fd `rrif.

    aidjgt`.kouizap pgrt fd ozap.k us`e euraio cfft.

    straio.kpfrtgcj` straio kfe`. Psugjjy r`pjgk`e cy fptalaz`e, grknat`ktur`-e`p`ie`it

    rfutai`s.

    vspraitd.kjack r`pjgk`l`it.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    17/50

    jaiux/ll

    Rgoaio gie swgppaio8

    swgp.k, swgpdaj`.k (pgoaio e`vak`s), swgpVstgt`.k (kgkn`).

    vlskgi.kpgoaio pfjaka`s, mswgpe.

    pgo`Vaf.kjfw-j`v`j pgo` trgisd`r.

    Gjjfkgtafi gie e`gjjfkgtafi8

    sjgc.ksjgc gjjfkgtfr.

    pgo`Vgjjfk.kpgo`-cgs`e gjjfkgtfr.

    vlgjjfk.km`ri`j vartugj-l`lfry gjjfkgtfr.

    L`lfry lgppaio8

    l`lfry.kpgoaio, dgujt-ngiejaio, pgo` tgcj` kfe`. daj`lgp.kdaj` lgppaio.

    llgp.k, lr`lgp.k, ljfkm.k, lprft`kt.k.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    18/50

    jaiux/skrapts

    [krapts dfr8

    L`iu-cgs`e m`ri`j kfidaourgtafi.

    M`ri`j pgtknaio.

    O`i`rgtaio m`ri`j efkul`itgtafi.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    19/50

    [ullgry

    Jaiux as g lfeujgr, PIA^-jam` lfifjatnak m`ri`j.

    M`ri`j as tn` n`grt fd tn` F[ tngt `x`kut`s watn

    sp`kagj ngrewgr` p`rlassafi (m`ri`j lfe`).

    Kfr` m`ri`j prfvae`s drgl`wfrm, egtg

    struktur`s, suppfrt dfr erav`rs, lfeuj`s,

    sucsyst`ls.

    Grknat`ktur` e`p`ie`it sfurk` suc-tr``s jav` ai/grkn.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    20/50

    Cfftaio gie M`ri`j Aiatagjazgtafi

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    21/50

    [yst`l Jad`kykj`8 Pps & Efwis

    Rfw`rfi

    Rfw`rfdd

    Cfft M`ri`j

    Aiat

    F[

    Aiat

    SPI! [nut

    efwi

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    22/50

    Cfft U`rlaifjfoy

    Jfge`r8 Rrforgl tngt lfv`s cats drfl easm (usugjjy)

    tf l`lfry gie tn`i trgisd`rs KRP kfitrfj tf tn` i`wjy

    jfge`e cats (`x`kutgcj`).

    Cfftjfge`r / Cfftstrgp8 Rrforgl tngt jfges tn` darst prforgl (tn` m`ri`j).

    Cfft RSFL / RSFL Lfiatfr / CAF[8 R`rsast`it kfe` tngt as gjr`gey jfge`e fi pfw`r-up.

    Cfft Lgigo`r8 Rrforgl tngt j`ts yfu knffs` tn` darst prforgl tf jfge.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    23/50

    JAJF8 Jaiux Jfge`r

    G v`rsgtaj cfft lgigo`r tngt suppfrts8

    Knfak` fd Jaiux m`ri`js.

    Cfft tal` m`ri`j pgrgl`t`rs.

    Cfftaio ifi-Jaiux m`ri`js.

    G vgra`ty fd kfidaourgtafis. Kngrgkt`rastaks8

    Jav`s ai LCS fr pgrtatafi cfft s`ktfr.

    Ngs if mifwj`eo` fd daj`syst`l struktur` sf

    Cuajes g s`ktfr lgp daj` (cjfkm lgp) tf daie m`ri`j.

    /scai/jajflgp aistgjj`r.

    /`tk/jajf.kfid as jajf kfidaourgtafi daj`.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    24/50

    @xglpj` jajf.kfid Daj`

    cfft

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    25/50

    /scai/aiat

    Gik`stfr fd gjj prfk`ss`s (`xk`pt aej`/swgpp`rprfk`ss).

    Kfitrfjs trgisatafis c`tw``i ruij`v`js8 28 snutefwi

    78 saioj`-us`r

    38 lujta-us`r (if ID[)

    ;8 dujj lujta-us`r

    08 ^77

    48 r`cfft

    @x`kut`s stgrtup/snutefwi skrapts dfr `gknruij`v`j.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    26/50

    [nutefwi

    Ps` /cai/snutefwi tf gvfae egtg jfss giedaj`syst`l kfrruptafi.

    [nutefwi ainacats jfoai, gsms aiat tf s`ie

    [AOU@SL tf gjj prfk`ss`s, tn`i [AOMAJJ. Jfw-j`v`j kfllgies8 ngjt, r`cfft, pfw`rfdd.

    Ps` -n, -r fr -p fptafis tf snutefwi aist`ge.

    Ktrj-Gjt-E`j`t` Tujkgi i`km paikn8

    e`dai`e cy g jai` ai /`tk/aiattgc.

    kg88ktrjgjte`j8/scai/snutefwi -t; -r ifw.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    27/50

    Gevgik`e Cfft Kfik`pts

    Aiatagj rgleasm (aiatre)twf-stgo` cfft dfr dj`xacajaty8

    Darst lfuit aiatagj rgleasm gs rfft.

    @x`kut` jaiuxrk tf p`rdfrl geeatafigj s`tup, kfidaourgtafi.

    Daigjjy lfuit r`gj rfft gie kfitaiu`.

    [`` Efkul`itgtafi/aiatre.txt dfr e`tgajs. Gjsf s`` lgi aiatre.

    I`t cfftaio8

    S`lft` rfft (Easmj`ss-rfft-NF_UF).

    Easmj`ss cfft (Easmj`ss-NF_UF).

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    28/50

    [ullgry

    Cfftstrgppaio g syst`l as g kflpj`x, e`vak`-e`p`ie`it prfk`ss tngt

    aivfjv`s trgisatafi drfl ngrewgr`, tf darlwgr`, tf sfdtwgr`.

    Cfftaio watnai tn` kfistrgaits fd tn` Ait`j grknat`ktur` as `sp`kagjjy

    kflpj`x gie usugjjy aivfjv`s darlwgr` suppfrt (CAF[) gie g cfft lgigo`r

    (JAJF).

    /scai/jajf as g lgp aistgjj`r tngt r`ges kfidaourgtafi aidfrlgtafi gie

    wrat`s g cfft s`ktfr gie cjfkm lgp daj`s us`e euraio cfft.

    stgrtVm`ri`j as Jaiux lgai gie s`ts up prfk`ss kfit`xt c`dfr` spgwiaio

    prfk`ss 2 (aej`) gie prfk`ss 7 (aiat).

    Un` aiat() duiktafi p`rdfrls naon-j`v`j aiatagjazgtafi c`dfr` `x`kaio tn`us`r-j`v j aiat prfk`ss.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    29/50

    [yst`l Kgjjs

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    30/50

    [yst`l Kgjjs

    Ait`rdgk` c`tw``i us`r-j`v`j prfk`ss`s giengrewgr` e`vak`s. KRP, l`lfry, easms `tk.

    Lgm` prforgllaio `gsa`r8 J`t m`ri`j tgm` kgr` fd ngrewgr`-sp`kadak assu`s.

    Aikr`gs` syst`l s`kuraty8 J`t m`ri`j kn`km r`qu`st`e s`rvak` vag syskgjj.

    Rrfvae` pfrtgcajaty8 Lgaitgai ait`rdgk` cut kngio` duiktafigj

    alpj`l`itgtafi.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    31/50

    RF[A^ GRAs

    GRA < Gppjakgtafi Rrforgll`r Ait`rdgk`.

    Duiktafi e`di sp`kadyaio nfw tf fctgai s`rvak`.

    Cy kfitrgst, g syst`l kgjj as gi `xpjakat r`qu`st tf m`ri`j lge` vag g

    sfdtwgr` ait`rrupt.

    [tgiegre K jacrgry (jack) kfitgais wrgpp`r rfutai`s tngt lgm` syst`l kgjjs. `.o., lgjjfk, dr`` gr` jack rfutai`s tngt us` tn` crm syst`l kgjj.

    RF[A^-kflpjagit < ngvaio g stgiegre s`t fd GRAs.

    Ifi-PIA^ syst`ls kgi c` RF[A^-kflpjagit ad tn`y fdd`r tn` r`quar`e s`t fd

    GRAs.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    32/50

    Jaiux [yst`l Kgjjs (7)

    Aivfm`e cy `x`kutaio ait $2x>2. Rrforgll`e `xk`ptafi v`ktfr iulc`r 73>.

    KRP swatkn`s tf m`ri`j lfe` & `x`kut`s g m`ri`jduiktafi.

    Kgjjaio prfk`ss pgss`s syskgjj iulc`rae`itadyaio syst`l kgjj ai `gxr`oast`r (fi Ait`jprfk`ssfrs).

    [yskgjj ngiej`r r`spfisacj` dfr8 [gvaio r`oast`rs fi m`ri`j lfe` stgkm. Aivfmaio syskgjj s`rvak` rfutai`.

    @xataio cy kgjjaio r`tVdrflVsysVkgjj().

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    33/50

    Jaiux [yst`l Kgjjs (3)

    [yst`l kgjj easpgtkn tgcj`8

    Gssfkagt`s syskgjj iulc`r watn kfrr`spfieaio

    s`rvak` rfutai`.

    [tfr`e ai sysVkgjjVtgcj`grrgy ngvaio up tfISVsyskgjj`itra`s (usugjjy 304 lgxalul).

    itn `itry kfitgais s`rvak` rfutai` geer`ss fd

    syskgjj i.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    34/50

    Aiatagjazaio [yst`l Kgjjs

    trgpVaiat()kgjj`e euraio m`ri`j aiatagjazgtafis`ts up tn` AEU (ait`rrupt e`skraptfr tgcj`) `itrykfrr`spfieaio tf v`ktfr 73>8

    s`tVsyst`lVogt`(2x>2, &syst`lVkgjj)= G syst`l ogt` e`skraptfr as pjgk`e ai tn` AEU,

    ae`itadyaio geer`ss fd syst`lVkgjjrfutai`. Ef`s ift easgcj` lgsmgcj` ait`rrupts.

    [`ts tn` e`skraptfr pravaj`o` j`v`j (ERJ) tf ;8 Gjjfws Ps`r Lfe` prfk`ss`s tf aivfm` `xk`ptafi ngiej`rs

    (a.`. syskgjj rfutai`s).

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    35/50

    Un` syst`lVkgjj() Duiktafi

    [gv`s syskgjj iulc`r & KRP r`oast`rs us`e cy

    `xk`ptafi ngiej`r fi tn` stgkm, `xk`pt tnfs`

    gutflgtakgjjy sgv`e cy kfitrfj uiat.

    Kn`kms dfr vgjae syst`l kgjj.

    Aivfm`s sp`kadak s`rvak` rfutai` gssfkagt`e

    watn syskgjj iulc`r (kfitgai`e ai `gx)8

    kgjj *sysVkgjjVtgcj`(2, %`gx, 5)

    S`turi kfe` fd syst`l kgjj as stfr`e ai`gx.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    36/50

    Rgrgl`t`r Rgssaio

    Fi tn` ;3-cat Ait`j >2x>48

    4 r`oast`rs gr` us`e tf stfr` syskgjj pgrgl`t`rs.

    `gx(syskgjj iulc`r).

    `cx, `kx, `ex, `sa, `eastfr` pgrgl`t`rs tf syskgjjs`rvak` rfutai`, ae`itada`e cy syskgjj iulc`r.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    37/50

    _rgpp`r Sfutai`s

    M`ri`j kfe` (`.o., m`ri`j tnr`ges) kgiift us`

    jacrgry rfutai`s.

    Vsyskgjj2 Vsyskgjj0lgkrfs e`dai`

    wrgpp`r rfutai`s dfr syst`l kgjjs watn up tf 0

    pgrgl`t`rs.

    `.o.,Vsyskgjj;(ait,wrat`,ait,de,kfist kngr *,cud,uisaoi`e ait,kfuit)

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    38/50

    @xglpj`8 N`jjf, wfrje!

    .egtg # s`ktafi e`kjgrgtafi

    lso8.straio "N`jjf, wfrje!Zi" # fur e`gr straioj`i < . - lso # j`iotn fd fur e`gr straio

    .t`xt # s`ktafi e`kjgrgtafi

    # w` lust `xpfrt tn` `itry pfait tf tn` @JD jaim`r fr.ojfcgj Vstgrt # jfge`r. Un`y kfiv`itafigjjy r`kfoiaz` Vstgrt gs tn`ar

    # `itry pfait. Ps` je -` dff tf fv`rrae` tn` e`dgujt.

    Vstgrt8

    # wrat` fur straio tf stefut

    lfvj $j`i,%`ex # tnare groul`it8 l`ssgo` j`iotnlfvj $lso,%`kx # s`kfie groul`it8 pfait`r tf l`ssgo` tf wrat`

    lfvj $7,%`cx # darst groul`it8 daj` ngiej` (stefut)lfvj $5,%`gx # syst`l kgjj iulc`r (sysVwrat`)ait $2x>2 # kgjj m`ri`j

    # gie `xat

    lfvj $2,%`cx # darst groul`it8 `xat kfe`lfvj $7,%`gx # syst`l kgjj iulc`r (sysV`xat)ait $2x>2 # kgjj m`ri`j

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    39/50

    Jaiux Daj`s S`jgtaio tf [yskgjjs

    Lgai daj`s8

    grkn/a;>4/m`ri`j/`itry.[

    [yst`l kgjj gie jfw-j`v`j dgujt ngiejaio rfutai`s.

    aikjue`/gsl-a;>4/uiaste.n

    [yst`l kgjj iulc`rs gie lgkrfs.

    m`ri`j/sys.k

    [yst`l kgjj s`rvak` rfutai`s.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    40/50

    grkn/a;>4/m`ri`j/`itry.[

    .egtg@IUSQ(sysVkgjjVtgcj`).jfio [QLCFJVIGL@(sysViaVsyskgjj) /* 2 - fje "s`tup()" syst`l

    kgjj*/.jfio [QLCFJVIGL@(sysV`xat)

    .jfio [QLCFJVIGL@(sysVdfrm)

    .jfio [QLCFJVIGL@(sysVr`ge)

    .jfio [QLCFJVIGL@(sysVwrat`)

    Gee syst`l kgjjs cy gpp`ieaio `itry tf

    sysVkgjjVtgcj`8

    .jfio [QLCFJVIGL@(sysVlyVsyst`lVkgjj)

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    41/50

    aikjue`/gsl-a;>4/uiaste.n

    @gkn syst`l kgjj i``es g iulc`r ai tn`

    syst`l kgjj tgcj`8

    `.o., #e`dai` VVISVwrat` 5

    #e`dai` VVISVlyVsyst`lVkgjj iii,wn`r` iiias i`xt dr`` `itry ai syst`l kgjj tgcj`.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    42/50

    m`ri`j/sys.k

    [`rvak` rfutai` cfea`s gr` e`dai`e n`r`8

    `.o., gsljaimgo` r`tvgj

    sysVlyVsyst`lVkgjj (pgrgl`t`rs) {

    cfey fd s`rvak` rfutai`=

    r`turi r`tvgj=

    }

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    43/50

    M`ri`j Lfeuj`s

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    44/50

    M`ri`j Lfeuj`s

    [`` G. Sucaia, E`vak` Erav`rs, Kngpt`r 3.

    Lfeuj`s kgi c` kflpaj`e gie eyiglakgjjy

    jaim`e aitf m`ri`j geer`ss spgk`.

    Ps`duj dfr e`vak` erav`rs tngt i``e ift gjwgys c`

    r`sae`it uitaj i``e`e.

    M``ps kfr` m`ri`j dfftprait slgjj.

    Kgi c` us`e tf `xt`ie duiktafigjaty fd m`ri`jtff!

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    45/50

    @xglpj`8 N`jjf, wfrje!

    #e`dai` LFEPJ@#aikjue` :jaiux/lfeuj`.n9ait aiatVlfeuj`(vfae) {

    praitm(:79N`jjf, wfrje!Zi)=r`turi 2=}vfae kj`giupVlfeuj`(vfae) {

    praitm(:79Offecy` kru`j wfrjeZi)=

    }

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    46/50

    Psaio Lfeuj`s

    Lfeuj` fch`kt daj` as aistgjj`e ai ruiiaio

    m`ri`j usaio aislfe lfeuj`Vigl`.

    Jfges lfeuj` aitf m`ri`j geer`ss spgk` gie jaims

    uir`sfjv`e sylcfjs ai lfeuj` tf sylcfj tgcj` fdruiiaio m`ri`j.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    47/50

    Un` M`ri`j [ylcfj Ugcj`

    [ylcfjs gkk`ssacj` tf m`ri`j-jfgegcj`

    lfeuj`s gpp`gr ai /prfk/msyls.

    r`oast`rVsyltgcr`oast`rs g sylcfj tgcj` ai

    tn` m`ri`js lgai tgcj`.

    S`gj ngkm`rs `xpfrt sylcfjs drfl tn` m`ri`j cy

    lfeadyaio m`ri`j/msyls.k

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    48/50

    Rrfh`kt [uoo`stafis (7)

    S`gj-Ual` tnr`ge jacrgry. [kn`euj`r gktavgtafis ai Jaiux.

    G Jaiux upkgjj l`kngiasl.

    S`gj-Ual` l`lfry gjjfkgtfr / ogrcgo` kfjj`ktfr. G eastracut`e sngr`e l`lfry syst`l.

    G Wf[-cgs`e sfkm`t jacrgry.

    Gi `v`it-cgs`e l`kngiasl dfr alpj`l`itaio

    gegptav` syst`ls. E_K[ pgkm`t skn`eujaio.

    G n`gp-cgs`e prafraty skn`euj`r dfr Jaiux.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    49/50

    Rrfh`kt [uoo`stafis (3)

    l[ r`sfjutafi tal`rs dfr Jaiux. Rfrtaio tn` Cgiewaetn-Crfm`r tf Jaiux.

    G Wf[ Lgigo`l`it drgl`wfrm jam` WuF frEafiasys.

    G S`gj-Ual` kflluiakgtafis prftfkfj.

    G d``ecgkm-kfitrfj syst`l dfrdjfw/`rrfr/rgt`/kfio`stafi kfitrfj.

    Gktav` L`ssgo`s dfr Jaiux. G tnr`ge kfitaiugtafi l`kngiasl.

    G tnr`ge laorgtafi / jfge-cgjgikaio syst`l.

  • 8/11/2019 Introduction to Linux Kernel by Quontra Solutions

    50/50

    Ungim Qfu