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

Slides:



Advertisements
Samankaltaiset esitykset
Tietokoneen käyttöjärjestelmä
Advertisements

Tämä on SUUNTA-työkalun käyttöön opastava diaesitys
KyläNetti - sivun tekeminen • KyläNetti-sivustoon on luotu valmiiksi esimerkinomainen sivurakenne, jota voi vapaasti muokata • Kaikki sivut eivät ole näkyvissä.
Johdatus Linuxiin Mauri Heinonen
Portal-ohje opiskelijoille. 2 Kirjaudu sisään tunnuksella ja salasanalla. Portaliin kirjauduttaessa käytetään samoja tunnuksia kuin muihin VAMKin IT-järjestelmiin.
@ Leena Lahtinen Helia TIETO JA TIETOKONEOHJELMA  TIETOKONEOHJELMA KÄSITTELEE TIETOJA  TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA.
JavaScript (c) Irja & Reino Aarinen, 2007
1 Heli Lepomäki Yritysten ja muiden organisaatioiden käyttöön sähköinen työpöytä on jo leviämässä, koska niiden toiminta ja asiakaspalvelu.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen raportointiohje Testitapauksen raportointi Havainnon raportointi.
© 2010 IBM Corporation1 Etusivun muokkaaminen  Portaalisivut ja niihin määritetyt komponentit muodostavat varsinaiset internet-sivut.  Etusivu muodostuu.
Käyttöjärjestelmien perustehtävät
Kiintolevyn osiointi.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestauksen testausohjeet Yleisohjeet testaukseen Havaintoraportin täyttäminen.
2.8.3 Abstraktit tietotyypit
EXtensible Markup Language
Taulukot Jukka Juslin © Jukka Juslin 2006.
13. Pakkaukset.
Valitse sanomapalkissa Ota muokkaus käyttöön,
Valitse sanomapalkissa Ota muokkaus käyttöön,
KJ-I S2003 / Auvo Häkkinen, CT50A2601 / Heikki Kälviäinen3 - 1 PROSESSIT JA NIIDEN HALLINTA Stallings, Luvut Käyttöjärjestelmät.
Käyttöjärjestelmät Johdanto. Kurssimateriaalista 15 lukua, jotka vastaavat enemmän tai vähemmän 15 kahden tunnin pakettia Perustuu Gary Nuttin Operating.
C-ohjelmointi, kevät 2006 Taulukot Binääritiedostot Luento
Windows NT Mika Purmonen
 Kirjoita harkiten keskusteluryhmiin Jos kirjoitat viestejä julkisiin keskusteluryhmiin varmista, että viestisi liittyy ryhmän aiheeseen. Älä lähetä.
OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT. LUOKKA JAVA ohjelma koostuu luokista LUOKKA sisältää metodeja molemmat sisältävät attribuutteja eli muuttujia.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Poikkeuskäsittely- lohkot tMyn1 Poikkeuskäsittelylohkot try-catch Poikkeustilanteiden käsittelymekanismi toteutetaan varatuilla sanoilla try, throw ja.
© Jukka Harju, Jukka Juslin Java-ohjelmointi Opas ammattimaiseen osaamiseen Luku 9 Poikkeuskäsittely.
Poikkeustenkäsittely  Mitä poikkeustenkäsittely tarkoittaa?  Poikkeuksen käsitteleminen  Poikkeusluokkien hierarkia  Poikkeuksen heittäminen 1.
TIETO JA TIETOKONEOHJELMA TIETOKONEOHJELMA KÄSITTELEE TIETOJA TIETOJA VOIDAAN KÄSITELLÄ OHJELMASSA VAIN SALLITUILLA MENETELMILLÄ.
2. Vuokaaviot.
13. Hyvä ohjelmointitapa (osa 1)
Käyttäjätunnukset ja salasanat Mika Pasanen Osao Myllytulli ja Mytlpt09E 2010.
1 Kertaus koetta varten oleellisista asioista Jukka Juslin.
Vaasan yliopisto Tietojenkäsittely TiTe.1020 Ohjelmat.
Ohjelmointi.
GNU-ohjelmointityökalut Jussi Raunio TI09OHJ
Visual Basic -ohjelmointi
Cmap-tools opetus käyttö kongnitiivinen merkitys.
Osaamisen ja sivistyksen parhaaksi Oppijan verkkopalveluiden hyväksymistestitapausten kuvausohje.
Tietokoneohjelman suoritus opintojakso Olioajattelu ja –ohjelmointi, osa I Hans Nieminen Syksy 2013.
PILKKU.
− työkalu toiminnan suunnittelun ja suunnitelman arvioinnin tueksi
UNIX ftp://shell.shore.net/members/w/s/ws/Support/OS/UNIX.pdf
Metodit – Arvotyyppi Ellei metodi palauta arvoa, sen arvotyyppi on void Tällöin ”return;”-lauseke ei ole metodissa pakollinen, vaikka sen käyttö on sallittua.
C 1. Testaus on ”sarja toimintoja” Itse asiassa, testaus on vuorovaikutusta, jota rytmittää ohjelmiston arviointi. Vaikka on hyödyllistä tunnistaa sarja.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Pinon ylivuodon estäminen Mikko Toivonen & Antti Mattila.
OHJELMOINTITAITO ICT02D 12 ECTS. OPINTOJAKSON TOTEUTUS  KESTO: –  AVOIMEN OPISKELIJAT: – YKSI LUOKA (SUOMI) – LUOKKA ICT02O-1.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Testaus Testaus Testauksella pyritään löytämään virheitä, jotka sitten korjataan. Yksittäinen testi on yleensä ohjelman suoritus (tietyillä.
@ Leena Lahtinen TIETOKONEOHJELMAN RAKENNE OHJELMALLA ON KAKSI OSAA:  MÄÄRITYSOSA TIETOJEN KUVAUKSIA VARTEN  SUORITUSOSA TIETOJEN KÄSITTELYÄ.
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
FunktiottMyn1 Funktiot Funktiot voidaan jakaa –Kirjastofunktioihin, jotka ovat valmiina kaikkien käytössä. Erikoisempien kirjastofunktioiden käyttöönotto.
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Kertaus Näkökulmat: käyttöjärjestelmä rajapintana prosessit resurssit.
S ysteemianalyysin Laboratorio Teknillinen korkeakoulu Esitelmä # - Esitelmöijän nimi Optimointiopin seminaari - Syksy 2000 / 1 Potentiaalien kertaus ja.
Windows 2000 Jukka Stranden Marko Suhonen Käyttöjärjestelmät Seminaari 2006.
MapInfon tiedostot TAB – Tiedosto, jonka avulla tietokanta avataan MapInfossa. Tiedostossa tietoja kentistä ja koordinaattijärjestelmästä. DAT, XLS. TXT.
Projektityökurssi KLTITE05SU/OH Projektitöiden seminaariohjeet.
Jenna Nyblom Katri Vanhatalo Oskari Anttalainen
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
Toistorakenne Toistorakennetta käytetään ohjelmissa sellaisissa tilanteissa, joissa jotain tiettyä ohjelmassa tapahtuvaa toimenpidekokonaisuutta halutaan.
ioctl #include <sys/ioctl.h> int ioctl(int d, int request, ...);
Tietokoneen toiminta (2 ov)
8. Ohjelman toteutus järjestelmässä
TIETO JA TIETOKONEOHJELMA
Esityksen transkriptio:

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ä.)

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

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.

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.

Tunnistetiedot: Prosessin tunniste (ID-numero) Prosessin luoneen prosessin (isän) tunniste Käyttäjän tunniste (esim. käyttäjätunnus)

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.

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…

…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.

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)

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

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ä.

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.

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ä.

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

Prosessien välinen viestintä Aliohjelmakutsut (vrt. Javan luokat) Viestit (sent ja receive) Tapahtumat ja signaalit (Lisää, Lähetä, Jonossa) tavoitteena synkronointi

Prosessien välinen kommunikointi