Ero sivun ”Reaaliaikainen käyttöjärjestelmä” versioiden välillä

Wikipediasta
Siirry navigaatioon Siirry hakuun
[katsottu versio][katsottu versio]
Poistettu sisältö Lisätty sisältö
Ipr1 (keskustelu | muokkaukset)
Ipr1 (keskustelu | muokkaukset)
Ei muokkausyhteenvetoa
Rivi 27: Rivi 27:


=== Synkronointi ===
=== Synkronointi ===
Synkronointi reaaliaikaisten käyttöjärjestelmien yhteydessä tyypillisesti tarkoittaa hallittua jaetun muistiosion käsittelyä.<ref name="rtsched" /> Koska sovellukset ovat tässä käyttöympäristössä luotettuja niille sallitaan [[laitteistokeskeytys|laitteistokeskeytyksien]] kytkeminen pois päältä suojatun alueen ajaksi.<ref name="rtsched" /> Tarkoitukseen on myös kehitetty lukottomia menetelmiä.<ref>{{Verkkoviite | osoite = https://www.ssrg.ece.vt.edu/papers/date06.pdf | nimeke = Lock-Free Synchronization for Dynamic Embedded Real-Time Systems | tekijä = Hyeonjoong Cho & Binoy Ravindran & E. Douglas Jensen | tiedostomuoto = PDF | viitattu = 26.10.2019 | kieli = {{en}} }}</ref>
[[Synkronointi (ohjelmointi)|Synkronointi]] reaaliaikaisten käyttöjärjestelmien yhteydessä tyypillisesti tarkoittaa hallittua jaetun muistiosion käsittelyä.<ref name="rtsched" /> Koska sovellukset ovat tässä käyttöympäristössä luotettuja niille sallitaan [[laitteistokeskeytys|laitteistokeskeytyksien]] kytkeminen pois päältä suojatun alueen ajaksi.<ref name="rtsched" /> Tarkoitukseen on myös kehitetty lukottomia menetelmiä.<ref>{{Verkkoviite | osoite = https://www.ssrg.ece.vt.edu/papers/date06.pdf | nimeke = Lock-Free Synchronization for Dynamic Embedded Real-Time Systems | tekijä = Hyeonjoong Cho & Binoy Ravindran & E. Douglas Jensen | tiedostomuoto = PDF | viitattu = 26.10.2019 | kieli = {{en}} }}</ref>


=== Osiointi ===
=== Osiointi ===

Versio 26. lokakuuta 2019 kello 19.40

Reaaliaikainen käyttöjärjestelmä (engl. Real-time operating system, RTOS) on käyttöjärjestelmätyyppi, joka noudattaa reaaliaikaisuuden vaatimuksia toiminnallisten vaatimuksien lisäksi.[1] Reaaliaikainen käyttöjärjestelmän tavoitteisiin kuuluu aikarajan deterministinen noudattaminen.[1]

Vaatimukset voidaan jakaa kahteen kategoriaan:[2][3]

  • pehmeä (soft real-time), palvelun laadun heikkeneminen kuten audiotoiston pätkiminen
  • kova (hard real-time), täysi epäonnistuminen kuten sydämentahdistimen epäonnistuminen

Keskeinen suunnittelukohta on vaatimus vasteajan noudattamisesta: ajassa, jossa toiminnon on joko onnistuttava tai epäonnistuttava (deadline). Reaaliaikaisen järjestelmän ei tarvitse olla nopea, mutta sen on oltava luotettava ja reagoitava aina tietyn aikarajan sisällä.

Reaaliaikaiset järjestelmät vaativat takeen (guarantee) vasteajasta: tavallinenkin järjestelmä voi toimia aikarajan sisällä mutta se ei välttämättä ole taattua.

Esimerkkejä käyttökohteesta voivat olla Fly-by-wire järjestelmä ja lukkiutumattomat jarrut (ABS).

Toteutustapoja

Toteutustavat voidaan jakaa kahteen kategoriaan:

  • tapahtumapohjainen (event-driven)
  • aikajakava (time sharing)

Aikajakavajärjestelmä voi olla tasaisempi moniajon kannalta, mutta voi käyttää enemmän resursseja kuin tarpeen mikäli järjestelmä käyttää paljon aikaa odottamiseen.

Viestimekanismit

Asynkroninen viestien välitys ja käsittely on menetelmä, jota voidaan käyttää kun halutaan varmistaa että haluttu toiminto ei pysäytä tehtävän suorittamista.[3]

Menetelmä tarkoittaa usein erillisiä säikeitä eri tehtäville.

Synkronointi

Synkronointi reaaliaikaisten käyttöjärjestelmien yhteydessä tyypillisesti tarkoittaa hallittua jaetun muistiosion käsittelyä.[3] Koska sovellukset ovat tässä käyttöympäristössä luotettuja niille sallitaan laitteistokeskeytyksien kytkeminen pois päältä suojatun alueen ajaksi.[3] Tarkoitukseen on myös kehitetty lukottomia menetelmiä.[4]

Osiointi

Pääartikkeli: DO-178B

Tehtävät osioidaan kriittisestä vähemmän kriittiseen siten, että alemman kriittisyystason epäonnistuminen ei voi keskeyttää korkeamman kriittisyystason tehtäviä. Menetelmää käytetään ilmailun ohjelmistojen toteuttamisessa.

Voidaan myös vaatia formaalia todistetta ohjelmakoodin oikeellisuudesta ja kaikkien syötteiden ja tilojen huomioimisesta toteutuksen toiminnassa.

Standardeja

Reaaliaikakäyttöjärjestelmiä koskevia standardeja:[5]

Reaaliaikakäyttöjärjestelmiä

Katso myös

Lähteet

  1. a b Real-Time Operating Systems (RTOS) 101 (PDF) NASA. Viitattu 30.11.2017.
  2. Roscoe, Timothy: The Structure of a Multi-Service Operating System people.inf.ethz.ch. Viitattu 20.2.2017.
  3. a b c d Khushu, Sanjeev & Simmons, Johnathan: Scheduling and Synchronization in Embedded Real-Time Operating Systems (PDF) cseweb.ucsd.edu. Viitattu 20.2.2017.
  4. Hyeonjoong Cho & Binoy Ravindran & E. Douglas Jensen: Lock-Free Synchronization for Dynamic Embedded Real-Time Systems (PDF) ssrg.ece.vt.edu. Viitattu 26.10.2019. (englanniksi) 
  5. Buttazzo, Giorgio C.: Hard Real-Time Computing Systems, s. 419. Third Edition. Springer, 2011. ISBN 978-1-4614-0675-4.

Aiheesta muualla

Käännös suomeksi
Käännös suomeksi
Tämä artikkeli tai sen osa on käännetty tai siihen on haettu tietoja muunkielisen Wikipedian artikkelista.
Alkuperäinen artikkeli: en:Real-time operating system