Funkcija niti

download Funkcija niti

of 19

Transcript of Funkcija niti

  • 8/18/2019 Funkcija niti

    1/19

    Područje rada: Gimnazija

    Zanimanje: Gimnazija

    Maturski rad iz operativni sistema

    Tema:Funkcija niti

      Mentor: Učenik:

     

  • 8/18/2019 Funkcija niti

    2/19

     Fukncija niti

    SADRŽAJ:

    1.UVOD......................................................................................................................................3

    2.FUNK!"# N!$!.....................................................................................................................%

    3.Pro&e'i i niti..........................................................................................................................%

    %.Vi(enitna o)rada...................................................................................................................*

    *.+tanja niti..............................................................................................................................,

    -.+inroniza&ija niti...............................................................................................................11

    /.Niti ni0oa kori'nika............................................................................................................1%

    .Z#K"U#K........................................................................................................................1/

    ,.!$45#$U5#.......................................................................................................................1

    1.U!D

    2

  • 8/18/2019 Funkcija niti

    3/19

     Fukncija niti

    !zme6u 7ro8rama i 7ro&e'a 7o'toji )itna raz9ika. Pro8ram je 'tatički entitet koji 'e 'a'toji od

     7ro8ram'ki in'truk&ija koje kada 'e iz0r(a0aju nad nekim 'ku7om 7odataka deini(u 7ro&e'.

    Pro&e' je dinamički entitet koji iz0r(a0a 7ro8ram nad datim 'ku7om 7odataka kori'te;i

    re'ur'e 'i'tema.eno8 7ro&e'a. +0aki =tread< je u0ijek 7ridru>en nekom 7ro&e'u. "ednom 7ro&e'u 'e

    mo>e 7ridru>iti 0i(e niti ?tread@. U datom trenutku 'amo jedan 7ro&e' mo>e da 'e iz0r(a0a

    iako 0i(e 7ro&e'a mo>e )iti '7remno za iz0r(a0anje. Di'7ečer je 0a>an dio o7erati0no8

    'i'tema koji 0odi računa o ra'7oredji0anju 7ro&e'a. Po'toji 0i(e a98oritama na o'no0u koji

    'e 0r(i ra'7ore6i0anje 7ro&e'a.

    ".FU#$%&JA #&T&

    3.Procesi i niti

    Kon&e7t 7ro&e'a o)u0ata d0ije karakteri'tike:

    3

  • 8/18/2019 Funkcija niti

    4/19

     Fukncija niti

    V9a'ni(t0o nad re'ur'om: Pro&e' 'adr>i 0irtue9ni adre'ni 7ro'tor u kome 'mje(ta '9iku

     7ro&e'aA 'ku7 7ro8ramaB 7odatakaB 'teka i atri)utaB deini'ani u u7ra09jačkom )9oku

     7ro&e'a.

    Po0remenoB 7ro&e'u mo>e )iti dodije9jeno u7ra09janje i9i 09a'ni(t0o nad re'ur'imaB kao(to 'u 89a0na memorijaB UC! kana9iB UC! ure6aji i datoteke. O7erati0ni 'i'tem o)a09ja za(titnu

    unk&iju kako )i '7riječio ne>e9jeno mije(anje izme6u 7ro&e'a u odno'u na re'ur'e.

    5a'7ore6i0anjeCiz0r(a0anje: !z0r(a0anje 7ro&e'a 7rati 7utanju kroz jedan i9i 0i(e

     7ro8rama. O0o iz0r(a0anje mo>e )iti i'7re79eteno 'a dru8im 7ro'e'ima. Prema tomeB 7ro&e'

    ima 'tanje izvršavanje (Izvršavanje, spreman i tako dalje) i ra'7ore6i0anje 7rioriteta i on je

    entitet ko8a ra'7ore6uje i (a9je o7erati0ni 'i'tem.

    U 0e;ini tradi&iona9ni o7erati0ni 'i'temaB o0e d0ije karakteri'tike 't0arno 7red'ta09jaju

    o'no0u 7ro&e'a. Me6utimB d0ije karakteri'tike 'u 'amo'ta9ne i o7erati0ni 'i'tem i mo>e

     7o'matrati neza0i'no. $o 'e radi u mno8im o7erati0nim 'i'temimaB 7o'e)no u 'i'temima koji

    'u neda0no raz0ijeni. Da )i 'e raz9iko0a9e o0e d0ije karakteri'tikeB jedini&a koja 'e (a9je

    o)ično ' zo0e nitB i9i 9aki 7ro&e'B dok 'e jedini&a 09a'ni(t0a nad re'ur'om o)ično i da9je zo0e

     7ro&e' i9i zadatak.

    4.Višenitna obrada

    Vi(enitna o)rada odno'i 'e na '7o'o)no't o7erati0no8 'i'tema da 7odr>i 0i(e niti

    iz0r(a0anja unutar jedno8 7ro&e'a. $radi&ionani 7ri'tu7 jedne niti iz0r(a0anja 7o 7ro&e'uB u

    kome 7ojam niti ne 7o'tojiB nazi0a 'e 7ri'tu7 'a jednom niti.

    D0a ure6aja 7rikazana na 9ije0oj 7o9o0ini '9ike 1. ?'tr.-.@ 7red'ta09jaju 7ri'tu7 'a jednom niti. Primjer o7erati0no8 'i'tema koji 7odr>a0a jedan kori'nički 7ro&e' i jednu nit je

    %

  • 8/18/2019 Funkcija niti

    5/19

     Fukncija niti

    M+DO+. Dru8i o7erati0ni 'i'temiB kao (to 'u mno8e 0r'te UN!EaB 7odr>a0aju 0i(e

    kori'nički 7ro&e'aB a9i 'amo jednu nit 7o 7ro&e'u. De'na 7o9o0ina '9ike 1 7rikazuje 7ri'tu7

    'a 0i(enitnom o)radom. "a0ino okru>enje u 0rijeme iz0r(a0anja je 7rimjer 'i'tema 'a jednim

     7ro&e'om i 0i(e niti. O0aj 7ri'tu7 kori'ti 'e u indo'uB +o9ari'uB Ma&u i 'i'temu O+C2B kao

    i u mno8im dru8im 'i'temima. U o0om dije9u da;emo o7(ti o7i' 0i(enitne o)radeA deta9je

     7ri'tu7a u indo'uB +o9ari'u i inuHu o)ja'ni;emo ka'nije.

    lika ! " #iti i procesi

    U orku>enju 0i(enitne o)radeB 7ro&e' je deini'an kao jedini&a dodje9e re'ur'a i jedini&e

    za(tite. +9ijede;e 't0ari 7o0ezane 'u 'a 7ro&e'ima:

    Virtue9ni adre'ni 7ro'tor u kome je 'mje(tena '9ika 7ro&e'aB

    za(ti;eni 7ri'tu7 7ro&e'oruB dru8im 7ro&e'ima ?za komunika&iju me6u 7ro&e'ima@B

    datotekama i UC! re'ur'ima ?ure6aji i kana9i@.

    Unutar 7ro&e'aB mo>e 7o'tojati jedna i9i 0i(e nitiB a '0aka ima '9ijede;e:

    *

  • 8/18/2019 Funkcija niti

    6/19

     Fukncija niti

    +tanje iz0r(a0anja niti (Izvršavanje, preman i tako dalje) 

    +nim9jeni kontek't niti kada 'e ne iz0r(a0aA jedan način 0i6enja niti je da je to neza0i'ni

     7ro8ram'ki )rojač koji radi unutar 7ro&e'aB

    • +tek iz0r(a0anjaB

    • neka 'tatična memorija 7o niti za 9oka9ne 7romjenji0eB

    •  7ri'tu7 memoriji i re'ur'ima '0o8 7ro&e'aB dije9jen 'a '0im o'ta9im nitima u tom

     7ro&e'u.

    lika $% &odeli procesa sa jednom niti i višenitnom obradom

     Na '9i&i 2 7rikazana je raz9ika izme6u niti i 7ro&e'a iz u89a u7ra09janja 7ro&e'om. U mode9u

     7ro&e'a 'a jednom niti ?na 7rimjerB ne 7o'toji raz9ičit kon&e7t niti@B 7rikaz 7ro&e'a 'adr>i

    nje8o0 u7ra09jački )9ok 7ro&e'a i kori'nički adre'ni 7ro'torB kao i kori'nički 'tek i 'tek 

    kerne9a za u7ra09janje 7ona(anjem iz0r(a0anjem 7ro&e'a 7ozi0C7o0ratak. Dok 'e 7ro&e'

    iz0r(a0aB re8i'tre 7ro&e'ora i kori'nički adre'ni 7ro'tor 0ezan za tim 7ro&e'omB a9i 'ada

     7o'toje za'e)ni 'teko0i za '0aku nitB kao i u7ra09jački )9oko0i '0ake niti koje 'adr>e

    0rijedno'ti re8i'traB 7rioritet i o'ta9e inorma&ije 'tanja niti.

    Prema tomeB '0e niti 7ro&e'a dije9e 'tanje i re'u'r'e dato8 7ro&e'a. Na9aze 'e u i'tom

    adre'nom 7ro'toru i imaju 7ri'tu7 i'tim 7oda&ima.

    -

  • 8/18/2019 Funkcija niti

    7/19

     Fukncija niti

    Kada jedna nit 7romjeni 7odatak u memorijiB o'ta9e niti 0ide taj rezu9tat kada i ako 7ri'tu7e

    tom 7odatku. Uko9iko jedna nit ot0ori datoteku 'a 7ri0i9e8ijama za čitanjeB dru8e niti i'to8

     7ro&e'a tako6e mo8u da čitaju tu datoteku.

    O'no0ne 7redno'ti niti 7otiču od 7reorman'i:

    1. Potre)no je mno8o manje 0remena da )i 'e na7ra0i9a no0a nit u 7o'toje;em

     7ro&e'uBne8o da )i 'e na7ra0io no0 7ro&e'. !'tra>i0anja koja 'u o)a0i9i naučni&i u

    Ma&u ukazuju da je u u UN!Eu 7ra09jenje niti de'et 7uta )r>e od 7ra09jenja 7ro&e'a.

    2. Potre)no je manje 0remena za 7rekid niti ne8o za 7rekid 7ro&e'a.

    3. Potre)no je manje 0remena za kretanje izme6u d0ije niti unutar i'to8 7ro&e'a.

    %. Niti 7o)o9j(a0aju eika'no't komunika&ije izme6u raz9ičiti 7ro8rama koji 'e

    iz0r(a0aju. U 0e;ini o7erati0ni 'i'temaB komunika&ija izme6u neza0i'ni 7ro&e'a

    zatje0a inter0en&iju kerne9a kako )i o)ez)edio za(titu i meanizme neo7odne za

    komunika&iju. Me6utimB kako niti unutar i'to8 7ro&e'a dije9e memoriju i datotekeB

    mo8u me6u'o)n komuni&irati )ez 7ozi0anja kerne9a.

    Prema tomeB uko9iko 7o'toji a79ika&ija i9i ukn&ija koja tre)a da )ude im79ementirana kao

    'ku7 7o0ezani jedini&a u iz0r(a0anjuB mno8o je eika'nije to iz0e'ti kao ko9ek&iju niti

    ne8o kao ko9ek&iju neza0i'ni 7ro&e'a.

    Primjer a79ika&ije koja mo>e imati kori'ti od niti je 'er0er datoteka. Kako 7ri'ti>e no0i

    zatje0 za datotekomB mo>e 'e na7ra0iti no0a nit za 7ro8ram za u7ra09janje datotekom.

    Kako ;e 'er0er o7'9u>i0ati mno8e zatje0eB mno8e niti )i;e na7ra09jene i uni(tene u

    kratkom 0remen'kom inter0a9u. Uko9iko 'e 'er0er iz0r(a0a na 0i(e7ro&er'kom računaruBonda 'e 0i(e niti unutar i'to8 7ro&e'a mo>e i'to0remeno iz0r(a0ati na raz9ičitim

     7ro&e'orima. Pored to8aB kako 7ro&e'i i9i niti u 'er0eru datoteka moraju dije9iti 7odatke o

    datotekama i z)o8 to8a moraju koordinirati '0oje ak&ijeB )r>e je da 'e za o0u koordina&iju

    kori'te niti i dije9jena memorija ne8o 7ro&e'i i 7ro'9je6i0anje 7oruka.

    Kontruk&ija 'a nitima je tako6e 7onekad kori'na jednom 7ro&e'u radi

     7ojedno'ta09jenja 'trukture 7ro8rama koji 9o8ički iz0r(a0a neko9iko raz9ičiti unk&ija.

    Dato je četiri 7rimjera u7otre)e niti u jednokori'ničkom 0i(e7ro&e'nom 'i'temu:

    /

  • 8/18/2019 Funkcija niti

    8/19

     Fukncija niti

    • Prioritetan i 7ozadin'ki rad: Na 7rimjerB u 7ro8ramu za ta)e9arne 7roračuneB jednom

    niti mo8u 'e 7rikazati meniji i čitati uno' kori'nikaB dok dru8a nit iz0r(a0a nared)e

    kori'nika i a>urira radni 9i't. O0ak0o ure6enje če'to o'jetno u0e;a0a )rzinu a79ika&ije

    tako (to doz0o9ja0a 7ro8ramu da tra>i '9jede;u nared)u 7rije ne8o (to 'e iz0r(i9a 7retodna nared)a.

    • #'inrona o)rada: #'inroni e9ementi u 7ro8ramu mo8u 'e im79ementirati 7omo;u

    niti. Na 7rimjerB kao za(tita od ne'tanka 'trujeB mo>e 'e 7rojekto0ati 7ro8ram za

    o)radu tek'ta tako da u7i'uje 'adr>aj )aera memorije 'a '9učajnim 7ri'tu7om ? 5#M @

    na di'k jednom na '0aki minut. Mo>e 'e na7ra0iti nit čiji )i jedini 7o'ao )io o0a

     7eriodična za(tita 7odataka i da 'e 'ama zakazuje direktno 'a o7erati0nom 'i'temomA

    ne 7o'toji 7otre)a za kitnja'tim kodom u 89a0nom 7ro8ramu koji )i o)ez)e6i0ao 7ro0jeru 0remena i9i koordina&iju u9aza i iz9aza.

    • Irzina iz0r(a0anja: Pro&e' 'a 0i(e niti mo>e da o)ra6uje jedan 7aket 7odataka dok 

    '9ede;i čita 'a ure6aja. Na 0i(e7ro&e'or'kom 'i'temuB 0i(e niti i'to8 7ro&e'a mo>e 'e

    iz0ra(a0ati i'to0remeno. Prema tomeB i ako je jedna nit )9okirana za UC! o7era&iju

    čitanja 7aketa 7odatakaB dru8a nit 'e mo>e iz0r(a0ati.

    • Modu9arna 'truktura 7ro8rama: Pro8rami koji 'adr>e mno8o akti0no'ti i9i mno8oiz0ora i odredi(ta u9aza i iz9aza mo8u 'e 9ak(e 7rojekto0ati i im79ementirati

    u7otre)om niti.

    U o7erati0nom 'i'temu koji 7odr>a0a nitiB ra'7ore6i0anje i '9anje radi 'e na ni0ou nitiA

    z)o8 to8a 0e;ina inorma&ija o 'tanju koje 'e odno'i na iz0r(a0anje ču0a 'e u 'trukturama

     7odataka na ni0ou niti. Me6utimB 7o'toji neko9iko ak&ija koje utiču na '0e niti u 7ro&e'u i

    kojima o7erati0ni 'i'tem mora u7ra09jati na ni0ou 7ro&e'a. +u'7enzija o)u0ata

    razmjenji0anje adre'no8 7ro'tora jedno8 7ro&e'a iz 89a0ne memorije kako )i 'e na7ra0i9o

    mje'ta za adre'ni 7ro'tor dru8o8 7ro&e'a. + o)zirom na to da 'e '0e niti u 7ro&e'u dije9e

    i'ti adre'ni 7ro'torB '0e niti 'e 'u'7enduju i'to0remeno. +9ičnoB 7rekidanjem 7ro&e'a

     7rekidaju 'e '0e niti unutar to8 7ro&e'a.

    '.tanja niti

  • 8/18/2019 Funkcija niti

    9/19

     Fukncija niti

    Kao i kod 7ro&e'aB k9jučna 'tanja niti 'u 'tanje Izvršavanja, preman i lokiran. U

    o'no0iB nema 'mi'9a 7o0ezi0ati 'tanja 'u'7endo0ano'ti 'a nitima jer 'u tak0a 'tanja

     7ojmo0i na ni0ou 7ro&e'a. KonkretnoB uko9iko je 7ro&e' razmijenjenB '0e nje8o0e niti 'e

    o)a0ezno razmjenjuju jer dije9e adre'ni 7ro'tor 7ro&e'a.

    Po'toje četiri o'no0ne o7era&ije niti koje 'e odno'e na 7romjenu 'tanja niti:

    • Umno>a0anje: o)ičnoB kada 'e umno>a0a no0i 7ro&e'B umno>a0a 'e i nit to8 7ro&e'a.

    $ako6eB nit unutar 7ro&e'a mo>e umno>iti dru8u nit unutar i'to8 7ro&e'aB uko9iko

    o)jez)jedi 7okazi0ač na in'truk&ijui ar8umente za no0u nit. No0a nit do)ija 'o7't0eni

    'adr>aj re8i'tra i 7ro'tor 'teka i 7o'ta09ja 'e u red '7reman.

    • I9okiran: Kada nit da čeka na do8a6ajB )9okira;e 'e ?'aču0a;e '0oje kori'ničkere8i'treB 7ro8ram'ki )rojač i 7okazi0ače 'teka@. Pro&e'or 'e 'ad mo>e 0ratiti na

    iz0r(a0anje dru8e '7remne niti u i'tom i9i raz9ičitom 7ro&e'u.

    • De)9okiran: Kada 'e 7oja0i do8a6aj z)o8 koje8 je nit )9okiranaB nit 'e 7remje(ta u red

    '7reman.

    • Za0r(io: Kada 'e za0r(i iz0r(a0anje nitiB )i;e oduzeti 'adr>aji re8i'tra i 'teka.

    Iitno 7itanje je da 9i )9okiranje niti 7rouzrokuje )9okiranje &ije9o8 7ro&e'a. Dru8im

    riječimaB uko9iko je jedna nit u 7ro&e'u )9okiranaB da 9i to onemo8u;a0a iz0r(a0anje )i9o koje

    dru8e niti u i'tom 7ro&e'u iako je ta dru8a nit u 'tanju  spremanJ "a'no jeB da 'e dio

    9ek'i)i9no'ti i 'na8e niti 8u)i uko9iko jedna )9okirana nit )9okira &io 7ro&e'. Na '9i&i 2. ?'tr.

    -.@ 7rikazan je 7ro8ram koji 0r(i 2 uda9jena 7ozi0a 7ro&edure ?5P@  na d0a raz9ičita računara

    kako )i do)io kom)ino0ani rezu9tat. U 7ro8ramu 'a jednoj nitiB rezu9tati 'e do)ijaju redomB

    tako da 7ro8ram mora da čeka redom na od8o0ore od '0ako8 'er0era. Uko9iko 'e 7ro8ram

    i'7ra0i tako da kori'iti za'e)ne niti za '0aki 5P o't0ari;e 'e o'jetno u)rzanje. Uko9iko o0aj

     7ro8ram radi na računaru 'a jednim 7ro&e'orom zatje0 mora )iti na7ra09jen 'erij'kiB a

    rezu9tat 'erij'ki o)ra6enA me6utim 7ro8ram konkurentno čeka na d0a od8o0ora.

    ,

  • 8/18/2019 Funkcija niti

    10/19

     Fukncija niti

    +9ika 3 Uda9jeni 7ozi0 7ro&edure ?5P@ kori(;enjem niti

    +9ika % Primjer 0i(enitne o)rade na jedno7ro&e'or'kom računaru

    1L

  • 8/18/2019 Funkcija niti

    11/19

     Fukncija niti

     Na računaru 'a jednim 7ro&e'orom mu9ti7ro8ramiranje omo8u;a0a 7re79itanje 0i(e niti u 0i(e

     7ro&e'a. Na 7rimjeru '9ike %. U 7ro&e'oru 7re79i;u 'e 3 niti i 2 7ro&e'a. !z0r(a0anje 'e kre;e

    'a jedne niti na dru8u )i9o da je nit koja 'e trenutno iz0r(a0a )9okirana i9i je 7otro(i9a 0rijeme

    koje joj je dodije9jeno.

    .in*ronizacija niti

    +0e niti 7ro&e'a dije9e i'ti adre'ni 7ro'tor i o'ta9e re'ur'eB kao (to 'u ot0orene datoteke. Ii9o

    kak0a izmjena re'ur'a od 'trane jedne niti utiče na okr>enje o'ta9i niti i'to8 7ro&e'a. Z)o8

    to8a je 7otre)na 'inroniza&ija raz9ičii niti tako da ne ometaju jedna dru8u i da ne k0are

    'trukture 7odataka. Na 7rimjerB uko9iko d0ije niti 7oku(a0aju i'to0remeno da dodaju e9ement

    u d0o'truko 7o0ezanu 9i'tuB mo>e 'e iz8u)iti jedan e9ement i9i da 9i'ta ne )ude do)ro

    na7ra09jena. Pro)9emi koji 'e ja09jaju i tenike koje 'e kori'te za 'inroniza&iju niti 'u

    u89a0nom i'te kao i za 'inroniza&iju 7ro&e'a.

    Primjer #do)eo0 Pa8eMaker:

    Primjer za u7otre)u niti je #do)eo0 Pa8eMakerB a79ika&ija koja 'e iz0r(a0a na dje9jenom

    'i'temu.

    #79ika&ija Pa8eMaker je a9tka za 7i'anjeB 7rojekto0anje i izradu dokumenata za 'tono

    izda0a(t0o. +truktura niti za a79ika&iju Pa8eMakera koja 'e kori'ti u 'i'temu O+C2B 7rikazana

     je na '9i&i *. !za)rana je za o7timiza&iju 7odzi0a a79ika&ije ?'9ične 'trukutre niti 'e mo8u

     7rona;i i u o7erati0nim 'i'temima@. $ri niti 'u u0ijek akti0ne:

    •  Niti za o7'9u>i0anje do8a6ajaB

    •  Nit za i'&rta0anje ekrana i

    • +er0i'na nit.

    U 7rin&i7uB O+C2 '7orije rea8uje 7ri u7ra09janju ok0irima uko9iko )io koja u9azna 7oruka

    zatje0a 7re0i(e o)rade. U u7u't0ima za O+C2 na0odi 'e da jednoj ne tre)a 0i(e 0remena za

    o)radu od LB1 'e&.

     #a primjer+

    11

  • 8/18/2019 Funkcija niti

    12/19

     Fukncija niti

    Pozi0anje 7odrutine za (tam7anje 'trani&e dok 'e o)ra6uje nared)a za (tam7anje '7riječi9o )i

    'i'tem da 7o(a9je )i9o koju no0u 7oruku )i9o kojoj a79ika&iji i tim u'7ori9o 7erorman'e. Da )i

    zado0o9jio o0aj kriterijum kori'ničke o7era&ije koje zatje0aju 0i(e 0remena u a79ika&iji

    Pa8eMaker (tam7anjeB u0oz 7odataka i umjetnički tek't o)a09ja 'er0i'na nit. !ni&ija9iza&iju

     7ro8rama 0e;im dije9om o)a09ja 'er0i'na nitB koja a7'or)uje 0rijeme miro0anja da kori'nik 

    ot0ori dija9o8 za 7ra09jenje no0o8 dokumenta i9i za ot0aranje 7o'toje;e8. Za'e)na nit čeka na

    no0e 7oruke do8a6aja.

    +inroniza&ija 'er0i'ne niti i niti za o7'9u>i0anje do8a6aja je '9o>ena zato (to kori'nik mo>e

    da na'ta0i 'a uno'om i9i da 7omjeri mi(aB (to akti0ira niti za o7'9u>i0anje do8a6ajaB dok je

    'er0i'na nit i da9je zauzeta. Uko9iko 'e ja0i o0aj kon9iktB a79ika&ija Pa8eMaker i9trira te

     7oruke i 7ri0ata 'amo o'no0ne 7oruke kao (to je 7romjena 0e9ičine ok0ira.

    +er0i'na nit (a9je 7oruku niti za o7'9u>i0anje do8a6aja da )i označi9a za0r(etak '0o8 zadatka.

    Dok 'e o0o ne do8odiB akti0no'ti kori'nika u a79ika&iji Pa8eMaker je onemo8u;eno. Pro8ram

    na to ukazuje da je akti0iranjem 'ta0ki menija i 7rikazi0anjem kur'ora =zauzetuzje za'e)na nit. Po'toje 2 raz9o8a:

    lika '%truktura niti dobeove aplikacije Pa-e&aker 

    12

  • 8/18/2019 Funkcija niti

    13/19

     Fukncija niti

    1. #79ika&ija Pa8eMaker ne o8raniča0a )roj o)jekata koja 'e na9aze na 'trani&iA Prema

    tomeB o)ra6i0anje zatje0a za i'&rta0anje 9ako mo>e 7re;i na0edeno 0rijeme od LB1

    'ek.

    2. Kori(tenjem za'e)ne niti omo8u;a0a 'e kori'niku da 7rekine &rtanje. U tom '9učajuBkada kori'nik 7romjeni 0e9ičinu 'trani&eB i'&rta0anje mo>e odma da za7očne.

    Pro8ram ima '9a)iji odzi0 uko9iko za0r(i za'tarje9i 7rikaz 7rije 7očetka 7rikaza u

    no0oj 0e9ičini.

    Dinamičko 7omjeranje 'adr>aja ok0ira no0o i'&rta0anje ekrana dok kori'nik 7re09ači

    indikator za 7omjeranje 'adr>aja tako6e je mo8u;a. Nit za ruko0anje do8a6ajima nad89eda

    trake za 7omjeranje 'adr>aja i'&rta0a 8ranične 9enjire ?koji 'e )rzo i'&rta0aju i kori'niku daju

    trenutnu inorma&iju o 7ozi&iji@.

    U me6u0remenuB nit za i'&rta0anje ekrana kon'tantno 7oku(a0a da i'&rta 'trani&u i da ekran

     )ude 'ta9no akti0an. !m79ementiranje dinamičko8 i'&rta0anja )ez u7otre)e 0i(e niti 0i(e

    o7tere;uje a79ika&iju koja mora da i'7ituje 7oruke u raznim tačkama.

    Vi(enitna o)rada omo8u;a0a 7rirodnije razd0ajanje konkurentni akti0no'ti u kodu.

     Niti no0oa kori'nika i niti ni0oa kerne9a. Po'toje d0ije o7(te kate8orije im7rementarije niti:

     Niti ni0oa kori'nika ? U$u'er 9e0e9 tread'@ i niti ni0oa kerne9a ? K$ @.

    lika % #ivi nivoa korisnika i niti nivoa kernela

    13

  • 8/18/2019 Funkcija niti

    14/19

     Fukncija niti

    .#iti nivoa korisnika

    U či'tim o)jektima U$aB 'a0 7o'ao u7ra09janja nitima B 'a0 7o'ao u7ra09janja nitima 0r(i

    a79ika&ija i kerne9 nije '0je'tan 7o'tojanja niti. Na '9i&i - 7rikazan je či't U$ 7ri'tu7. Ii9o

    koja a79ika&ija mo>e 'e 7ro8ramirati kao 0i(enitna u7otre)om )i)9ioteke nitiB koja 7red'ta09ja 7aket rutina za u7ra09janje U$om. Ii)9ioteka niti 'adr>i kod za 7ra09jenje i uni(ta0anje nitiB

    za 7ro9je6i0anje 7oruka i 7odataka izme6u nitiB za ra'7ore6i0anje iz0r(a0anja niti i za ču0anje

    i za o7ora09janje 'adr>aja niti.

    Podrazumje0anoB a79ika&ija rad 7očinje 'a jednom niti i u njoj 'e iz0r(a0a. O0a a79ika&ija i

    njena nit dodje9jene 'u jednom 7ro&e'u kojim u7ra09ja kerne9. U )i9o kom trenutku

    iz0r(a0anja a79ika&ije ? 7ro&e' je u 'tanju Izvršavanje @B a79ika&ija mo>e da umno>i no0u nit i

    zatim kontro9u 7redaje jednoj od niti unutar i'to8 7ro&e'a. Kontro9a 'e 7redaje tom u'9u>nom 7ro8ramu 7reko 7ozi0a 7ro&edure.

    Ii)9ioteka niti 7ra0i 'trukturu 7odataka u'9u>nom 7ro8ramu 7reko 7ozi0a 7ro&edure.

    Ii)9ioteka niti 7ra0i 'trukturu 7odataka za no0u nit i zatim kontro9u 7redaje jednoj od niti

    unutar o0o8 7ro&e'a koja je u 'tanju premanB kori'te;i neki a98oritam za ra'7ore6i0anje.

    Kada 'e kontro9a 7reda )i)9iote&iB ču0a 'e kontek't teku;e nitiB a 7ri 7reda0anju kontro9e 'a

     )i)9ioteke na nit kontek't te niti 'e o7ora09ja. Kontek't 'e u o'no0i 'a'toji od 'adr>aja

    kori'nički re8i'taraB 7ro8ram'ko8 )rojača i 7okazi0ača 'teka.

    +0a na0edena akti0no't od0ija 'e u kori'ničkom 7ro'toru i unutar jedno8 7ro&e'a. Kerne9 nije

    u7oznat 'a o0om akti0no(;u. Kerne9 na'ta09ja da ra'7ore6uje 7ro&e'e kao jedini&e i tom

     7ro&e'u dodje9juje jedno 'tanje iz0r(a0anja (preman, Izvršavanje, lokiran i tako dalje).

    +9jede;i 7rimjeri tre)a da 7oja'ne odno' izme6u ra'7ore6i0anja niti i ra'7ore6i0anja 7ro&e'a.

    Pret7o'ta0imo da 'e 7ro&e' I iz0r(a0a u '0ojoj niti 2A 'tanja 7ro&e'a i d0a U$a koja 'u dio

     7ro&e'a 7rikazana 'u na '9i&i %./a. O0o 'u mo8u;i '&enariji:

    1. #79ika&ija koja 'e iz0r(a0a u niti 2 7ra0i 'i'tem'ki 7ozi0 koji )9okira 7ro&e' I. Na

     7rimjerB 7ra0i UC! 7ozi0. O0im je 7rouzroko0an 7reno' u7ra09janja kerne9u. Kerne9

     7okre;e UC! ak&ijuB 7ro&e' I 'ta09ja u 'tanje I9okiran i 7re)a&uje 'e na dru8i 7ro&e'.

    1%

  • 8/18/2019 Funkcija niti

    15/19

     Fukncija niti

    lika " Primjeri odnosa izme/u stanja niti nivoa korisnika i stanja procesa

    U me6u0remenuB na o'no0u 'trukture 7odataka koju odra>a0a )i)9ioteka nitiB nit 2

     7ro&e'a I je i da9je u 'tanju !z0r(a0anje. Od8o0araju;i dija8ram 'tanja 7rikazan je na

    '9i&i /.

    2. Prekid 8eneratora takta 7redaje u7ra09janje kerne9uB a kerne9 od9učuje da je 7ro&e' koji

    'e tretnutno iz0r(a0a ?I@ 7otro(io '0oj 0remen'ki i'ječak. Kerne9 7o'ta09ja 7ro&e' I u

    'tanje +7reman i 7re)a&uje 'e na '9ede;i 7ro&e'. U me6u0remenuB 7rema 'trukturi

     7odataka koju odra>a0a )i)9ioteka nitiB nit 2 7ro&e'a I je i da9je u 'tanju !z0r(a0anje.

    Od8o0araju;i dija8ram 'tanja 7rikazan je na '9i&i /&.

    3. Nit 2 je do'9a do tačke u kojoj neku ak&iju mora da iz0r(i nit ! 7ro&e'a I. Nit 2 u9azi u

    'tanje I9okiran a nit ! 7re9azi iz 'tanja +7reman u !z0r(a0anje. +am 7ro&e' o'taje u

    'tanju !z0r(a0anje. Od8o0araju;i dija8rami 7rikazani 'u na '9i&i /d.

    U '9učaje0ima 1 i 2 ? '9ika /) i /& @B kada kerne9 7redaje u7ra09janje 7ro&e'u IB

    iz0r(a0anje 'e na'ta09ja u niti2. Pro&e' mo>e )iti 7rekinutB )i9o i'tekom 0remen'ko8

    od'ječka i9i 7rekidanjem od 'trane 7ro&e'a 'a 0i(im 7rioritetomB dok iz0r(a0a kod u

     )i)9iote&i niti. Prema tomeB u trenutku 7rekida 7ro&e' mo>e )iti u 'red 7re)a&i0anja 'a

     jedne niti na dru8u.

    1*

  • 8/18/2019 Funkcija niti

    16/19

     Fukncija niti

    '.(A$)JU*A$ 

    O7erati0ni 'i'tem iz0r(a0a 0i(e 7ro&e'a u i'to 0reme. +0aki 7ro&e' do)ija 7o dio 7ro&e'or'ko80remena i to nam 't0ara uti'ak da 'e oni iz0r(a0aju 7ara9e9no. e'to '0aki od 7ro&e'a iz0r(a0a

     jednu radnju u jednom trenutku. +a 0i(e niti u ok0iru jedno8 7ro&e'a mo>emo 7o'ti;i da jedan 7ro&e' iz0r(a0a 0i(e radnji u jednom trenutkuB '0aka nit 7o'e)nu radnju. $aj 7ri'tu7 mo>e )itikori'tan z)o8:

    1."edno'ta0no'ti kodaB

    2.#ko umje'to niti kori'timo 0i(e 7ro&e'a značajno je te>a 'inroniza&ija i

    3.Na 0i(e7ro&e'or'kim 'i'temima do)ijamo 7o)o9j(ane 7erorman'e.

    1-

  • 8/18/2019 Funkcija niti

    17/19

     Fukncija niti

    +.)&T,RATURA

    1. +ta99in8' .: O7erati0ni 'i'temiB 5ačunar'ki aku9tetB Ieo8radB 2LL/.

    2. $read om7utin8 Note'B iki7ediaB .iki7eda.or8C$read'B

    3. Konkurentni 7ro&e'iB znanje.or8B

    tt7:CC.znanje.or8Ca)&Ctutoria9'Co7eratin8''tem'CL1C21Konkurentni7ro&e'i.tm

    1/

    http://www.wikipeda.org/Threadshttp://www.wikipeda.org/Threads

  • 8/18/2019 Funkcija niti

    18/19

     Fukncija niti

    Datum 7redaje rada: 

    Komi'ija:

    Pred'jednik 

    !'7iti0ač 

    9an

    Komentar:

    1

  • 8/18/2019 Funkcija niti

    19/19

     Fukncija niti

    !'7itnja

     7itanja:

    Datum od)rane: &jena ?@

    1,