palvelut - metropolia ammattikorkeakouluusers.metropolia.fi/~lansk/nbridge/03_sulautettu_os.pdf ·...
TRANSCRIPT
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.
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
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
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
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
Sulautetut järjestelmät Luku 2 Sivu 6 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Jonot
Sulautetut järjestelmät Luku 2 Sivu 7 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Sulautetut järjestelmät Luku 2 Sivu 8 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Resurssien hallinta semaforeilla
Sulautetut järjestelmät Luku 2 Sivu 9 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Resurssien hallinta semaforeilla
Sulautetut järjestelmät Luku 2 Sivu 10 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Käänteisprioriteettiongelma (priority inversion)
Sulautetut järjestelmät Luku 2 Sivu 11 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Käänteisprioriteettiongelma (priority inversion)
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.
Sulautetut järjestelmät Luku 2 Sivu 13 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Taskin ja keskeytyksen synkronointi
Sulautetut järjestelmät Luku 2 Sivu 14 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Taskin ja keskeytyksen synkronointi
Sulautetut järjestelmät Luku 2 Sivu 15 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Laskevat semaforit
Sulautetut järjestelmät Luku 2 Sivu 16 (??)Sulautetut käyttöjärjestelmät 20.1.2013 KRL
Laskevat semaforit