palvelut - metropolia ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_os.pdf ·...

16
Sulautetut järjestelmät Luku 2 Sivu 1 (??) Sulautetut käyttöjärjestelmät 20.1.2013 KRL 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.

Upload: others

Post on 19-Jul-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 1 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

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.

Page 2: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 2 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

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

Page 3: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 3 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

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

Page 4: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 4 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

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

Page 5: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 5 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

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

Page 6: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 6 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Jonot

Page 7: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 7 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Page 8: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 8 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Resurssien hallinta semaforeilla

Page 9: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 9 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Resurssien hallinta semaforeilla

Page 10: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 10 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Käänteisprioriteettiongelma (priority inversion)

Page 11: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 11 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Käänteisprioriteettiongelma (priority inversion)

Page 12: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 12 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

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.

Page 13: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 13 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Taskin ja keskeytyksen synkronointi

Page 14: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 14 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Taskin ja keskeytyksen synkronointi

Page 15: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 15 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Laskevat semaforit

Page 16: Palvelut - Metropolia Ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_OS.pdf · suorituksessa ja muut prosessit ... Prioriteetin perintä (prioririty inheritance)

Sulautetut järjestelmät Luku 2 Sivu 16 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL

Laskevat semaforit