prosessit n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
PROSESSIT PowerPoint Presentation
Download Presentation
PROSESSIT

Loading in 2 Seconds...

play fullscreen
1 / 18

PROSESSIT - PowerPoint PPT Presentation


  • 116 Views
  • Uploaded on

PROSESSIT. Tehtäviä: Limittää usean prosessin suoritus, jotta resurssien käyttö olisi tehokasta, mutta samalla taata, että kaikki prosessit etenevät mielekästä tahtia.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'PROSESSIT' - hester


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
prosessit
PROSESSIT

Tehtäviä:

  • Limittää usean prosessin suoritus, jotta resurssien käyttö olisi tehokasta, mutta samalla taata, että kaikki prosessit etenevät mielekästä tahtia.
  • Osoittaa prosesseille niiden vaatimat resurssit jonkin politiikan mukaan, ja toisaalta välttää lukkiutumistilanteet. Nämä vaatimukset ovat keskenään ristiriitaisia.
  • Tukea prosessienvälistä viestinvälitystä ja uusien prosessien luomista. (Molemmat ovat erittäin hyödyllisiä ominaisuuksia sovellusohjelmia kehitettäessä.)
slide2
Prosessi koostuu:
  • Ohjelma, joka määrittelee prosessin toiminnan
  • Prosessin kuva, joka on suoritettavien käskyjen joukko keskusmuistissa.
  • Data, prosessin muutettavissa oleva muistialue. Voi sisältää mm. ohjelmoijan käytössä olevan pinon, ohjelman datan ja muutettavat osat. Myös I/O-järjestelmän käyttämä data.
  • Järjestelmän pino-tietorakenne, jota käytetään aliohjelmakutsujen hallintaan ja parametrinvälitykseen.
  • Joukko resursseja, jotka määrittelevät prosessin toimintaympäristön.
  • Prosessielementti (Process Control Block, PCB), joka kuvaa prosessin tilaa kullakin ajanhetkellä. Se sisältää kaiken käyttöjärjestelmän tarvitseman tiedon prosessista.
  • mahdollisesti myös muita osia
slide3
Käyttöjärjestelmä pitää kirjaa resursseita
  • Muistitaulukot, jotka pitävät kirjaa keskus- ja virtuaalimuistista (käsitellään myöhemmin).
  • I/O-taulukot, jotka sisältävät tiedon kunkin I/O-laitteen toiminnan tilasta ja mille prosessille se on varattu vai onko se käytettävissä.
  • Tiedostotaulukot, jotka sisältävät tietoa tiedostojen olemassaolosta, sijainnista levyllä, tilasta jne.
slide4
Prosessitaulu seuraa prosessielementtejä
  • Prosessin tunnistetiedot,
  • Tiedot prosessorin tilasta ja
  • Prosessia ohjaavat tiedot

Tärkeä tietorakenne käyttöjärjestelmän kannalta: Suojaukseen kiinnitettävä erityistä huomiota.

slide5
Tunnistetiedot:
  • Prosessin tunniste (ID-numero)
  • Prosessin luoneen prosessin (isän) tunniste
  • Käyttäjän tunniste (esim. käyttäjätunnus)
slide6
Prosessorin tilatiedot
  • Käyttäjälle näkyvien rekisterien sisältö. Näiden rekisterien määrä on yleensä jossain 8 ja 32 välillä, vaikka joissain RISC järjestelmissä niitä voi olla yli 100.
  • Ohjaus- ja statusrekisterien sisältö. Lähinnä PSW. Kannattaa huomata, että PC:n sisältö talletetaan aina prosessielementtiin. Samoin kaikki prosessorin statukseen liittyvä tieto, esimerkiksi onko keskeytykset sallittu vai ei ja toimiiko prosessori etuoikeutetussa tilassa.
  • Pino-osoittimet. Jokaiseen prosessiin liittyy ainakin yksi järjestelmätason pino. PCB:hen on talletettu muistiosoitteet, jotka viittaavat pinon päällimmäiseen alkioon.
slide7
Prosessin ohjaustiedot
  • Vuorotus- ja tilatiedot. Kertoo, missä tilassa (READY, RUN, BLOCKED jne) prosessi on. Jos prosessi odottaa jotain tapahtumaa, tieto siitä on talletettu tänne. Tänne on talletettu myös tieto prosessin prioriteetista, eli tärkeysasteesta, jota monissa järjestelmissä käytetään vuorontamisen apuvälineenä. Myös muita vuorontamiseen liittyviä tietoja, kuten milloin prosessi on viimeksi ollut suoritettavana, voidaan tallettaa tähän.
  • Ympäristö. Ympäristömuuttujien arvot voi tallettaa prosessielementtiin.
  • Tietorakenteet. Prosessi voi olla osana jotain tietorakennetta, esimerkiksi jonossa, tai muodostaa lapsiprosessiensa kanssa puun. Tiedot tästä talletetaan PCB:hen.

jatkuu…

slide8
…jatkuu
  • Prosessien välinen viestintä. Prosessit voivat välittää tietoja toisilleen eri tavoin, esimerkiksi lipuilla. Osa tästä viestinnästä voi tapahtua PCB:n kautta.
  • Prosessin etuoikeudet. Jos prosessilla on joitain etuoikeuksia, voidaan tieto siitä sijoittaa PCB:hen. Esimerkiksi joillakin käyttöjärjestelmän prosesseilla voi olla oikeus suorittaa käskyjä, joita tavallisilla prosesseilla ei ole lupa suorittaa, ja viitata toisten prosessien muistialueisiin.
  • Muistinhallinta. Tämä sisältää viittauksen muistitauluihin – sivu ja/tai segmenttitauluihin, joita käsitellään omassa Luvussaan myöhemmin.
  • Resurssit. Prosessin varaamat resurssit, kuten avoimet tiedostot pitää merkitä prosessielementtiin. Siinä voidaan pitää kirjaa myös siitä, mitä resursseja prosessi on käyttänyt – jotkut vuorotusalgoritmit voivat käyttää tätä tietoa hyväkseen.
slide11
Prosessien luonti ja tuhoaminen
  • Ensimmäinen prosessi käynnistyy, kun käyttöjärjestelmä lähtee latautumaan
  • prosessi (isä) voi luoda uusia prosesseja (lapsia) – muodostavat puurakenteen
  • luotaessa prosessin tila on NEW, mistä se siirtyy tilaan READY heti kun sen koodi ja ympäristömuuttujat on asetettu oikein
  • Tuhottaessa kaikki prosessiin liittyvä tieto poistetaan
  • lapsien käsittely hankalampaa (poistetaan myös, jätetään prosessi tuhoamatta, jos sillä on lapsia tai siirretään lapset prosessin omalle isälle)
slide12
Resurssien hallinta
  • rajallinen määrä resursseja, joten hallintaa tarvitaan
  • jos prosessi pyytää resurssia, se joutuu tilaan BLOCKED ja se jonottaa kyseistä resurssia
  • prosessori erikoistapaus – kaikki prosessoria jonottavat prosessit jonottavat vain prosessoria
  • lukkiutuminen mahdollista
slide13
Prosessin vaihtaminen

Jos prosesseja on yhtä aikaa suorituksessa, niiden välillä vaihtaminen on oltava jollain tapaa hallinnassa

  • Tehokkuus kasvaa. Kun prosessi joutuu odottamaan I/O-operaatiota, se vapauttaa kriittisen resurssin – prosessorin – muiden prosessien käyttöön.
  • Vasteaika. Järjestelmä voi reagoida merkittäviin tapahtumiin (kuten ohjelmallinen resetointi) heti eikä vasta, kun nyt suorituksessa oleva prosessi luovuttaa prosessorin (mikä ei virhetilanteessa välttämättä tapahdu koskaan.)
  • Moniajo. Samalla tietokoneella voi olla usea ohjelma yhtä aikaa auki, esimerkiksi tekstinkäsittely- ja selainohjelma. Ilman moniajoa toinen pitäisi sulkea ennen toisen käynnistämistä. (Puhumattakaan käyttöjärjestelmästä...)
  • Monen käyttäjän järjestelmät. Oleellisesti tämä on sama kuin moniajava järjestelmä.
slide14
Säikeet

Prosessin osia, tarvitaan seuraavaa tietoa

  • Säikeen tila (RUN, READY, jne.)
  • Säikeen konteksti, kun se ei ole suorituksessa.
  • Pino
  • Säikeen paikallisten muuttujien muistitila.
  • Mihin muihin prosessille osotettuihin resursseihin sillä on käyttöoikeus, mahdollisesti yhdessä toisten säikeiden kanssa.
slide15
Säikeiden käyttö

Käytetään, kun ohjelmalla useita suoritettavia osia, jotka suhteellisen riippumattomia toisistaan, esim.

  • Etualalla ja taustalla tehtävä työ. Kuvankäsittelyohjelmassa etualalla oleva ikkuna voi kysellä tietoja kuvan käsittelystä, kun taustalla oleva säie jo laskee niitä. Koska I/O on hidasta, voidaan näin tehostaa ohjelman toimintaa merkittävästikin.
  • Rinnakkainen laskenta. Tekstinkäsittelyohjelmassa voi olla säie, jonka ainoa tehtävä on tallentaa teksti määräväliajoin levylle. Tämä on usein paljon tehokkaampaa kuin kirjoittaa pääohjelmaan koodi, joka tarkistaa koko ajan kelloa.
  • Nopeampi suoritus. Rinnakkaiset säikeet voivat suorittaa esimerkiksi tiedon käsittelyn kahta vaihetta peräkkäin, siten että ensimmäinen tuottaa tietoja, joita seuraava käyttää. Moniprosessoriympäristössä laskenta tapahtuu reaaliajassakin samanaikaisesti.
  • Ohjelmien organisointi. Monimutkaisia ja moninaisia tehtäviä tekevät prosessit voi olla helpompi hahmottaa suunnittelua ja toteutusta varten käyttämällä säikeitä.
slide16
Säikeiden tilanvaihto kuten prosesseilla
  • luonti huomattavasti nopeampaa
  • säikeen tuhoaminen helpompaa kuin prosessin
  • käyttäjän säikeet / käyttöjärjestelmän säikeet
slide17
Prosessien välinen viestintä
  • Aliohjelmakutsut (vrt. Javan luokat)
  • Viestit (sent ja receive)
  • Tapahtumat ja signaalit (Lisää, Lähetä, Jonossa)
  • tavoitteena synkronointi