Palvelut. Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät



Samankaltaiset tiedostot
4. Luento: Prosessit ja säikeets. Tommi Mikkonen,

Käyttöjärjestelmät: poissulkeminen ja synkronointi

5. Luento: Rinnakkaisuus ja reaaliaika. Tommi Mikkonen,

Käyttöjärjestelmät: prosessit

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5

Monitorit. Tavoite. Monitori Synkronointimenetelmiä Esimerkkejä. Andrews , Stallings 5.5. Minimoi virhemahdollisuuksia

Käyttöjärjestelmät. Teemu Saarelainen Tietotekniikka

Arto Salminen,

6. Luento: Skedulointi eli Vuoronnus. Tommi Mikkonen,

Sulautettujen järjestelmien skaala on niin laaja, että on erittäin vaikea antaa yleispätevää kuvausta siitä millainen on sulautettu järjestelmä.

Ongelma(t): Jotta tietokone olisi mahdollisimman yleiskäyttöinen ja suorituskykyinen, niin miten tietokoneen resurssit tulisi tarjota ohjelmoijalle,

Arto Salminen,

Tavoite. Monitorit. Monitori Hoare Monitori. Minimoi virhemahdollisuuksia. Monitori Synkronointimenetelmiä Esimerkkejä

Rinnakkaisuus. parallel tietokoneissa rinnakkaisia laskentayksiköitä concurrent asioita tapahtuu yhtaikaa. TTY Ohjelmistotekniikka

OSA I: Yhteisten muuttujien käyttö Prosessit samassa koneessa. Sisältöä. Poissulkeminen. Halutut ominaisuudet 2-1. Rinnakkaiset, atomiset operaatiot

Liite 1. Projektin tulokset (Semaforit Javassa) Jukka Hyvärinen Aleksanteri Aaltonen

Moniprosessorijärjestelmä

VUOROTTAMINEN: SMP ja Reaaliaikajärjestelmät Linux, W2000

Stallings, Luku 4.1. KJ-I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 4-1. KJ-I I S2004 / Tiina Niklander, kalvot Auvo Häkkinen 12-1

Prosessi perinteisesti

Stallings, Luku 4.1. KJ-I I S2005 / Tiina Niklander, kalvot Auvo HäkkinenH

Ohjelmoinnin peruskurssien laaja oppimäärä

Käyttöjärjestelmät II

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

Käyttöjärjestelmät II

Yleiskuva. Käyttöjärjestelmät II. Tietokonejärjestelm. rjestelmä. KJ ja laitteistopiirteet. KJ ja laitteistopiirteitä.

2 Konekieli, aliohjelmat, keskeytykset

Hans Baumgartner nimi nimi nimi nimi. Reaaliaikakäyttöjärjestelmät

OHJ-1010 Tietotekniikan perusteet 4 op Syksy 2012

VUOROTTAMINEN SMP JA REAALIAIKAJÄRJESTELMÄT Linux, W2000

Pikaintro käyttöjärjestelmiin

OSA I: Yhteisten muuttujien käyttö. Prosessit samassa koneessa. Rio 2004 / Auvo Häkkinen 2-1

OSA I: Yhteisten muuttujien käyttö. Sisältöä. Prosessit samassa koneessa. Poissulkeminen ja synkronointi. Semaforit ja rinnakkaisuuden hallinta

LUENTO 8. u erillisten koneiden ryväs (cluster) u hajautettu järjestelmä (distributed system) u erilliset I/O-prosessorit

Jakso 8 Ohjelman toteutus järjestelmässä

Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

5. Rinnakkaisuus ja jako prosesseihin

u vapaakäyntisyys (reentrancy) u Yhteinen koodialue u kullakin oma data-alue, pino, PCB u osoitteet suhteellisia prosessin alun suhteen

Kiertokysely. Sulautetut järjestelmät Luku 2 Sivu 1 (??)

Luento 3: PROSESSIT JA NIIDEN HALLINTA

J. Virtamo Jonoteoria / Prioriteettijonot 1

Ongelmakenttä. Rinnakkaisuuden tarve. Kommunikointiin tarvitaan. Ympäristö Suunnittelun yksinkertaistaminen Suorituskyky Luotettavuus

Ongelmakenttä. Yhteenvetoa. Ratkottava. Mekanismit. Lukkomuuttujat. Lukkomuuttujat, Spin Locks. Rinnakkaisuuden tarve. Kommunikointiin tarvitaan

Yhteenvetoa. Ongelmakenttä

Tietojenkäsittelyn perusteet 2. Lisää käyttöjärjestelmistä

Luento 10: Tosiaikakäyttöjärjestelmät

Sisältö. Luento 10: Tosiaikakäyttöjärjestelmät. Ominaisuuksia. Arkkitehtuuriratkaisuja. Sulautettu järjestelmä: Useita ohjaavia prosessoreja

Ongelma(t): Miten tietokoneen käyttöjärjestelmä toimii sisäisesti, jotta resurssit saadaan tehokkaaseen käyttöön?

J. Virtamo Jonoteoria / Prioriteettijonot 1

IT K 1 45 K ä yt t öj ä rj estelmät

Luentomuistiinpanoja

UML -mallinnus TILAKAAVIO

Sisältöä PROSESSIT JA NIIDEN HALLINTA. Prosessi. Prosessi virtuaalimuistissa. Prosessi. Prosessi virtuaalimuistissa. Käyttöjärjestelmät

Jakso 8 Ohjelman toteutus järjestelmässä

Prosessi virtuaalimuistissa PROSESSIT JA NIIDEN HALLINTA. Sisältöä. Prosessi virtuaalimuistissa. Prosessi. Prosessi. Käyttöjärjestelmät, Luento 4

PROSESSIT JA NIIDEN HALLINTA

Tavoite. Monitorit. Semafori perusmekanismi synkronointiin. Hyötyjä:

poissulkeminen ohjelmoijan vastuulla P():t ja V():t siellä, täällä ja tuolla - meniköhän oikein? Yksityiskohtia pois ohjelmoijalta kääntäjälle

Monitorit. Monitori Synkronointimenetelmiä Esimerkkejä

Prosessi (4) Jakso 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4) Prosessin elinkaari (9)

Ohjelmoinnin peruskurssien laaja oppimäärä

Luento 6. T Ohjelmoinnin jatkokurssi T1 & T Ohjelmoinnin jatkokurssi L1. Luennoitsija: Otto Seppälä

Moniprosessorijärjestelmä

Ongelmakenttä. Yhteenvetoa. Mekanismit. Ratkottava. Lukkomuuttujat, Spin Locks. Lukkomuuttujat. Rinnakkaisohjelmistot 2004 / Auvo Häkkinen 9-1

4. Prosessit ja säikeet

Intel Threading Building Blocks

Osio 2: Luennot 5-8 Muistinhallinta

Prosessi (4) Suorituksessa olevan ohjelman esitysmuoto järjestelmässä. Jakso 8 Ohjelman suoritus järjestelmässä. Prosessin elinkaari (9)

Jakso 8 Ohjelman suoritus järjestelmässä

Jakso 8 Ohjelman suoritus järjestelmässä

Semaforit ja rinnakkaisuuden hallinta. Tuottajat ja kuluttajat. Lukijat ja kirjoittajat. Andrews 4.2, Rio 2004 / Auvo Häkkinen

OSA I: Sisältöä. Atomisuus (atomic action) v Poissulkeminen ja synkronointi. Kriittinen (koodi)alue (critical section)

Semaforit ja rinnakkaisuuden hallinta

Semaforit ja rinnakkaisuuden hallinta

Sisältöä SÄIKEET, SMP

Luento 8 Ohjelman toteutus järjestelmässä

Luento 8 Ohjelman toteutus järjestelmässä. Prosessi Prosessin esitysmuoto järjestelmässä Käyttöjärjestelmä KJ-prosessit

5. Luento: Rinnakkaisuus ja jako prosesseihin (+ lyhyesti reaaliajasta) Arto Salminen,

Linux rakenne. Linux-järjestelmä koostuu useasta erillisestä osasta. Eräs jaottelu: Ydin Komentotulkki X-ikkunointijärjestelmä Sovellusohjelmat

7. Ytimet. 7.1 Ytimen roolista

Osio 2: Luennot 4-7 Muistinhallinta

Stallings, Lukua 2. KJ-I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-2. KJ-I I S2004 / Tiina Niklander, kalvot: Auvo Häkkinen 3-1

OHJ-4301 Sulautettu Ohjelmointi

Ongelma(t): Jotta tietokonetta voitaisiin käyttää monipuolisesti ja mahdollisimman yksinkertaisesti kaikkiin sille soveltuviin käyttötarkoituksiin,

ltö Luento 6: VIRTUAALIMUISTI Luento 7: Segmentointi Segmentointi ja sivutus yhdistettynä Yhteiskäytöstä Suoritus virtuaalimuistissa

REAALIAIKAJÄRJESTELMÄN MALLINTAMINEN UML KUVAUSMENETELMÄN AVULLA

Rinnakkaistietokoneet luento S

Prosessi (4) Luento 8 Ohjelman toteutus järjestelmässä. Prosessi. Prosessin vaihto (4)

Osio 3: Siirräntä ja tiedostojärjestelmä

Luento 8 Ohjelman toteutus järjestelmässä

Rinnakkaisuuden hyväksikäyttö peleissä. Paula Kemppi

Linux. 00 Keskeiset piirteet. Unix ja Linux Helsingin ammattikorkeakoulu Stadia Vesa Ollikainen (muokannut M.Mäki-Uuro) Kysymyksiä

Luento 8 Ohjelman toteutus järjestelmässä. Tietokonejärjestelmä. Prosessi (4) Prosessi. Prosessin elinkaari (11) Prosessin vaihto (3)

Yleistä. Esimerkki. Yhden palvelimen jono. palvelin. saapuvat asiakkaat. poistuvat asiakkaat. odotushuone, jonotuspaikat

Arto Salminen

Osio 3: Prosessit, siirräntä ja tiedostojärjestelmä

6. Skedulointi eli vuoronnus

SÄIKEET, SMP. Sisältöä. Stallings, Luku 4. Prosessi vs. säie Miksi säikeitä? ULT: Käyttäjätason säikeet KLT: Säikeiden toteutus ytimessä

Tosiaikajärjestelmät Luento 5: Resurssien hallinta ja prioriteetit

Sisältöä SÄIKEET, SMP

Transkriptio:

Sulautetut järjestelmät Luku 2 Sivu 1 (??) Palvelut Käyttöjärjestelmän tehtävänä on tarjota ohjelmoijalla erilaisia palveluita Tyypillisin palvelu, jota sulautetut käyttöjärjestelmät tarjoavat on prosessien hallinta Terminologia on hyvin vaihtelevaa: process, task, thread Prosessien hallintaan kuuluu Prosessien käynnistäminen ja päättäminen Suoritettavan prosessin valinta (skeduleri) Prosessien hallinnan lisäksi tarvitaan synkronointipalveluita, joilla voidaan ohjata suoritettavien prosessien toimintaa Lukot (mutex) Semaforit Monitorit Jonot Lisäksi voi olla muistinhallinta, syöttö ja tulostus, keskeytysrutiinien hallinta, tiedostojärjestelmä, verkkoyhteydet, jne.

Sulautetut järjestelmät Luku 2 Sivu 2 (??) Moniajo (multitasking) Kahden toisistaan riippumattoman prosessin suorittaminen peräkkäin ei ole vasteajan ja suoritusnopeuden kannalta järkevää Hyvin monet prosessit käyttävät suurimman osan ajastaan odotteluun

Sulautetut järjestelmät Luku 2 Sivu 3 (??) Moniajo (multitasking) Moniajossa skeduleri lomittaa prosessit siten että yhden prosessin odotusaikana jokin toinen prosessi pääsee suoritusvuoroon Kokonaissuoritusaika lyhenee, koska odottamisen määrä pystytään minimoimaan Skedulointi Pre-emptive = käyttöjärjestelmä voi keskeyttää prosessin suorituksen milloin tahansa ja siirtää suoritusvuoron toiselle prosessille Co-operative = prosessin pitää itse luovuttaa suoritusvuoro

Sulautetut järjestelmät Luku 2 Sivu 4 (??) Moniajo (multitasking) Yhdellä prosessorilla voi olla vain yksi prosessi kerrallaan suorituksessa ja muut prosessit ovat ei-suorituksessa Vaihtoa prosessista toiseen sanotaan kontekstin vaihdoksi (context switch) Konteksti sisältää kaiken sen prosessorin tilatiedon, joka tarvitaan, jotta prosessi voi jatkaa suoritustaan myöhemmin laskennan häiriintymättä Kontekstin vaihtoon kuluu aina jonkun verran aikaa, joten prosessien määrää ei voi kasvattaa rajattomasti

Sulautetut järjestelmät Luku 2 Sivu 5 (??) Moniajo (multitasking) Ei ajossa oleva prosessi voi olla useassa eri tilassa Ready (valmis) odottaa omaa suoritusvuoroaan Blocked prosessi ei ole valmiina, vaan odottaa esimerkiksi vapautuvaa resurssia tai alkiota jonosta Suspended prosessi on pysäytetty ja se pitää palauttaa ajokelpoiseksi käyttöjärjestelmäkutsulla FreeRTOSin prosessien tilakaavio

Jonot Sulautetut järjestelmät Luku 2 Sivu 6 (??)

Sulautetut järjestelmät Luku 2 Sivu 7 (??)

Resurssien hallinta semaforeilla Sulautetut järjestelmät Luku 2 Sivu 8 (??)

Resurssien hallinta semaforeilla Sulautetut järjestelmät Luku 2 Sivu 9 (??)

Sulautetut järjestelmät Luku 2 Sivu 10 (??) Käänteisprioriteettiongelma (priority inversion)

Sulautetut järjestelmät Luku 2 Sivu 11 (??) Käänteisprioriteettiongelma (priority inversion)

Sulautetut järjestelmät Luku 2 Sivu 12 (??) Prioriteetin perintä (prioririty inheritance) Tämän ajan LP suoritetaan HP:n prioriteetilla Mikäli mutexia odottavan taskin prioriteetti on korkeampi kuin mutexin haltijan prioriteetti, niin haltijan prioriteetti nostetaan odottajan kanssa samalle tasolle.

Sulautetut järjestelmät Luku 2 Sivu 13 (??) Taskin ja keskeytyksen synkronointi

Sulautetut järjestelmät Luku 2 Sivu 14 (??) Taskin ja keskeytyksen synkronointi

Laskevat semaforit Sulautetut järjestelmät Luku 2 Sivu 15 (??)

Laskevat semaforit Sulautetut järjestelmät Luku 2 Sivu 16 (??)