prosessit ja niiden hallinta stallings, luvut 3.1-3.3

Download PROSESSIT JA NIIDEN HALLINTA  Stallings, Luvut 3.1-3.3

Post on 07-Jan-2016

41 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

Käyttöjärjestelmät. PROSESSIT JA NIIDEN HALLINTA Stallings, Luvut 3.1-3.3. Sisältöä. Prosessi, prosessien hallinta Prosessin tilat KJ:n perustietorakenteita Prosessin kuvaaja KJ:n suorittamisesta. Käyttöjärjestelmät. PROSESSI. Prosessi. Moniajo perustuu prosessikäsitteeseen - PowerPoint PPT Presentation

TRANSCRIPT

  • PROSESSITJA NIIDEN HALLINTA Stallings, Luvut 3.1-3.3

    Kyttjrjestelmt

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Sislt Prosessi, prosessien hallintaProsessin tilatKJ:n perustietorakenteitaProsessin kuvaajaKJ:n suorittamisesta

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Kyttjrjestelmt PROSESSI

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • ProsessiMoniajo perustuu prosessiksitteeseenProsessi = ohjelman suoritus prosessorissakoodi, data, pino, prosessin kuvaaja PCB (Process Control Block) voi koostua useasta sikeestProsessit voivat suorittaa yhtaikaa samaa ohjelmakoodiavapaakyntisyys (reentrancy): usean kyttjn jakamayhteinen koodialuekullakin oma data-alue, pino, PCB Tsmllinen mrittely riippuu jossain mrin jrjestelmst ja ohjelmointikielest

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessi virtuaalimuistissa Kuva 3.13

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessi virtuaalimuistissa Kukin prosessi kytt virtuaaliosoitteita osoitteet suhteellisia prosessin alun suhteenMMU tekee osoitemuunnoksen ajoaikanaprosessin alueiden ei tarvitse sijaita fyysisesti perkkin muistissa tai olla jatkuvasti muistissaMMU ja KJ huolehtivat alueiden muistissaolostaprosessit voivat kytt mys yhteisi muistialueita Prosessin alueet kirjattu PCB:henbase ja limit (fyysinen alkuosoite ja pituus) taisivutaulu (miss sivutiloissa sivut sijaitsevat) taisegmenttitaulu (alkuosoitteet ja pituudet)

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • KJ:n prosessinhallinta Allokoi resursseja niit pyytville prosesseillevlt lukkiutuminen (deadlock) ja nlkiintyminen (starvation) Suorituta prosesseja yhtaikaa allokoimalla CPU niille vuorotellentakaa kelpo vasteaikamaksimoi CPU:n kytt Salli kyttjien omien ohjelmien kynnistyspalvelupyyntMekanismit prosessien kommunikointiin IPC (Inter Process Communication): systeemikutsujapalvelupyynntyhteiskyttisen muistin allokointi

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessi syntyy, kun ...Prosessi suorittaa kskyt, joilla kynnistetn uusi prosessiparametrit pinoon ja palvelupyyntkeskeytys Prosessi pyyt muita KJ:n palveluja KJ kynnist prosessin palvelemaan esim. tulostus kirjoittimelle taustaprosessipalvelija keskustelee asiakkaiden kanssayksi prosessi per yhteys

    Esim: Kyttj avaa istunnon koneeseen Kyttj kynnist sovelluksen Erty kynnistyy

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin luonti Luo PCBKJ valitsee yksiksitteisen prosessinumero nVaraa tilaa muistista (tarvittaessa)koodi, data, pinokoko: oletusarvot / annetut arvotalusta yhteiskytn rakenteetAlusta PCBnollaa kentti, aseta alkuarvoja, kopioi mammaltatila=Ready (tai Ready-Suspended)ei avoimia tiedostoja, ei varattuja resursseja ... tai perii mammaltaLiit kuvaaja muihin rakenteisiin viite mammaprosessiin, liit Ready-jonoon

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessien elm Kuva 3.7

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Milloin prosessinvaihto?Vain keskeytyksen jlkeenei kuitenkaan aina!Kun CPU siirtynyt suorittamaan KJ:tPalvelupyynt prosessi pyyt esim. siirrnt, jonkaseurauksena joutuu odottamaan Poikkeusprosessin suorituksessa virheprosessi joutuu exit-tilaan ja tapetaanKeskeytysprosessin aikaviipale tynnVuorottaja valitseetavallisesti Round-Robin -periaate

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Mode Switching (vrt. process switch)Keskeytys ei vlttmtt prosessin tilanvaihtoa (process switch)laitetoimintona etuoikeutettuun tilaansitten suorittamaan KJ:tCPU usein takaisin keskeytyneelle prosessillepaljonko kello on? I/O valmis: siirr I/O:ta odottanut Ready-jonoon, jatka keskeytynyttprosessien vlinen kommunikointi: hert tapahtumaa odottanut Ready-jonoon, jatka keskeytynytt

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Mode Switching Kaikkia rekistereit ei tarvitse tallettaa muistiinPC ja PSW aina laitetoimintona pinoon keskeytysksittelij tallettaa pinoon vain ne, joita kytt koodissaanPCB:hen ei tarvitse koskeavhn yleisrasitettaPaluu: kopioi rekisterit pinosta takaisin CPU:hun

    Vuorottajaan, jos tarve vaihtaa prosessia

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Vuorottaja (short-term scheduler)Valitsee seuraavaksi suoritettavan prosessin ja antaa CPU:n silleedellinen Blocked-tilaanaikaviipale tyttyiProsessin vaihdossa CPU suorittaa vuorottajan kskyjCPU-aikaa tasapuolisesti prosesseilleaikaviipaleettarvittaessa KJ nostaa / laskee prosessin prioriteettia kyttnyt paljon CPU:ta prioriteetti laskeeodotellut paljon I/O:ta prioriteetti nouseeKJ:n prosesseilla suurin prioriteetti

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin vaihto Rekisteriarvot pinosta+CPU:sta PCB:henPivit aikalaskureita ym.Pivit prosessin tila (Ready/Blocked/Exit...)Liit tilan mukaiseen jonoon

    Valitse seuraava prosessi suoritettavaksiReady-jonon ensimminen Ready RunningAlusta MMUei-virtuaalimuistia: aseta Base ja Limit virtuaalimuisti: nollaa TLB:n validibitit, aseta PTR Palauta rekistereiden arvot CPU:hun

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessi pttyy, kun Prosessi itse sit pyytKJ:n tarjoama palvelu, palvelupyynt Virhetilanne koodissa tai laitteistossapoikkeuksetparempi lopettaa, kuin nilkuttaa virhetuloksia

    Esim: Kyttj lopettaa istuntonsa Kyttj lopettaa sovelluksen Erty loppuu

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessi pttyy, kun KJ niin pttpuutteelliset oikeudet esim. tiedoston kyttnhuomattuaan lukkiutumisen odotukseen liitetty ajastin laukeaaMammaprosessi pyyt lapsiprosessin pttymist Mammaprosessi pttyysaattaa mys lapsiprosessi ptty

    ks. taulukko 3.1 ja 3.2

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Kyttjrjestelmt PROSESSIN TILAT

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Siirt prosessorin => prosessilta toiselle

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin tilakaavio (5 tilaa)Kuva 3.6

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin tilat Runningprosessi kytt parhaillaan prosessoriayksi prosessi per prosessoriBlockedprosessi odottaa tapahtuman valmistumista (esim I/O, synkronointi, ajastus)kullakin laitteella / tapahtumalla oma jonoReadyprosessi voisi edet, jos saisi CPU:n kyttnsodottaa Ready-jonossa esim. prioriteetin mukaan

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessijonot Kuva 3.8

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin tilat NewKJ luonut lapsiprosessin,prosessille annettu tunnisteprosessille luotu hallinnolliset tietorakenteetmutta ei kelpuuta sit viel suoritettavaksi esim. vapaata muistia ei riittvstiliian suuri moniajoaste, liikaa heittovaihtoa ...Exitsuoritus pttynyt, ei kelpaa en suoritettavaksimutta saattohoito tekemtt hallinnolliset rakenteet (lhinn PCB) olemassa muita sovelluksia varten esim: laskutus, tilastot

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin tilasiirtymt New Readyresursseja riittvsti kytettvnesim. prosessorin kyttaste laskenut alle sopivan rajanmuistissa riittvsti vapaata tilaaReady Runningvuorottaja valitsee suoritukseen Ready-jonon ensimmisen prosessinRunning Readyprosessin aikaviipale tynn suuremman prioriteetin prosessi Ready-tilassa

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin tilasiirtymt Running Blockedprosessi pyyt KJ:lt palvelua, jonka valmistumista joutuu odottamaantarvittava resurssi varattu odottaa siirrnnn valmistumistaodottaa toisen prosessin etenemist sopivaan vaiheeseen (prosessin vlinen kommunikointi)sivunpuutoskeskeytysBlocked Readyprosessin odotus pttyy tarvittu resurssi vapautuisiirrnt valmistuitoinen prosessi saavutti synkronointikohdan

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prosessin tilasiirtymt Running Exit prosessin suoritus pttyynormaali / virhetilanneKJ vapauttaa resurssit PCB:t lukuunottamattaodotettava, ett joku toinen prosessi kokoaa kirjanpidolliset tiedot PCB:stMik tahansa tila ExitKJ tai omistaja voi tappaa mammaprosessi pttyyExit kun saattohoito tehty, KJ vapauttaa PCB:n

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Heittovaihto (swapping) Prosessi odottaa siirron valmistumista kauanpaljon prosesseja Blocked-tilassaKJ voi ottaa suoritettavaksi lis prosessejariittk muistia?Jos muistitilasta puutetta, KJ voi siirt kokonaisia prosesseja levylleliian suuri moniajoaste aiheuttaa ruuhkautumistaPCB j aina muistiin! Kun tilaa jlleen riittvsti, KJ tuo takaisinennaltanouto / tarvenoutoMys virtuaalimuistin yhteydess voi olla tarvetta heittovaihtoon

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Heittovaihto (swapping) Heittovaihdon listilat tilakaavioon: Blocked SuspendBlocked-prosessi heittovaihdettu muistista levylleReady SuspendReady-prosessi heittovaihdettu muistista levylle

    Blocked ~ estynytSuspend ~ erotettu mrajaksi, hyllytetty, lyktty toistaiseksi Monissa kirjoissa tilan nimen kuvaavampi Swapped Out

    KJ-I S2003 / Auvo Hkkinen, CT50A2601 / Heikki Klviinen

  • Prose