Reaaliaikaj rjestelmien suunnittelu
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

Reaaliaikajärjestelmien suunnittelu PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on
  • Presentation posted in: General

Reaaliaikajärjestelmien suunnittelu. Juhani Heikkinen Kymenlaakson ammattikorkeakoulu. Miten reaaliaikajärjestelmät eroavat erätyyppisestä järjestelmästä. Erätyyppisessä, perinteisessä ohjelmassa syötteiden voi ajatella olevan täysin tiedossa

Download Presentation

Reaaliaikajärjestelmien suunnittelu

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Reaaliaikaj rjestelmien suunnittelu

Reaaliaikajärjestelmiensuunnittelu

Juhani Heikkinen

Kymenlaakson ammattikorkeakoulu


Miten reaaliaikaj rjestelm t eroavat er tyyppisest j rjestelm st

Miten reaaliaikajärjestelmät eroavat erätyyppisestä järjestelmästä

  • Erätyyppisessä, perinteisessä ohjelmassa syötteiden voi ajatella olevan täysin tiedossa

  • Reaaliaikajärjestelmässä toimintalogiikkaa ohjaavat useista eri lähteistä tulevat tieto/tapahtumavirrat


Kaavio reaaliaikaj rjestelm n erosta perinteiseen

Kaavio reaaliaikajärjestelmän erosta perinteiseen


Reaaliaikaj rjestelmien suunnittelu

  • Reaaliaikajärjestelmässä vaaditaan

    • ajastusta

    • rinnakkaisuuden hallintaa


Reaaliaikaisen ohjelmistojen tyyppej

Reaaliaikaisen ohjelmistojen tyyppejä

  • Jako kahteen:

    • Pehmeät: ei tiukkoja vastevaatimuksia (esim. pankkiautomaatti)

    • Kovat: vasteajan täsmällisyys tärkeää (esim. auton sytytysjärjestelmä)


Toteutustapoja

Toteutustapoja

  • Pienet mikrokontrollerit ilman käyttöjärjestelmän apua

    • esim. ikuinen silmukka => tutkitaan syötevirtoja ja säädetään ulostulo

    • usein käytetään ajastinpiirejä

    • keskeytyskäsittelijä hoitaa priorisoinnin


Toteutustapoja1

…toteutustapoja

  • Järjestelmän monimutkaistuessa kannattaa harkita reaaliaikakäyttöjärjestelmän käyttöä

    • esim RMX, OS/9, VRTX, QP, QNX

    • Reaaliaikakäyttöjärjestelmä tarjoaa palveluja:

      • prosessien hallintaan (luominen, lopettaminen, prioriteetit)

      • synkronointiin ja poissulkemiseen

      • oheispiirien ohjaukseen


Toteutustapoja2

…toteutustapoja

  • Reaaliaikakäyttöjärjestelmä tarjoaa sovelluksen toteuttamisen keskenään kommunikoivina prosesseina

    • prosessit poikkeavat ’normaaleista’ käyttöjärjestelmä prosesseista siinä, että muistin suojausta ei ole (tehokkuus, alkeelliset prosessorit)


Toteutustapoja3

…toteutustapoja

  • Käytetään yleiskäyttöisiä käyttöjärjestelmiä (Unix, NT, OS/2)

    • Nykyaikaiset kj:t mahdollistavat toteutuksen yhden prosessin sisällä toimivana säikeinä

    • Käyttöjärjestelmät helpottavat ylläpitoa, mutta toteutus saattaa olla hidas tai kallis; harkittavissa myös kj-ytimen koodaaminen itse


Esimerkki ra j rjestelm n prosessirakenteesta

Esimerkki ra-järjestelmän prosessirakenteesta


Toteutustapoja4

…toteutustapoja

  • Vaikka toteutuksessa ei käytetä reaaliaikakäyttöjärjestelmää, ohjelmisto kannattaa suunnitella siten, että ra-kj:n käyttöön voidaan siirtyä vähällä vaivalla

    • esim. prosessien kotelointi moduulien sisään


Ra ohjelmoinnin erityisongelmia

RA-ohjelmoinnin erityisongelmia

  • Poissulkeminen

    • usean prosessin samanaikainen tietorakenteen suojaus

  • Synkronointi

    • prosessi joutuu odottamaan toista tapahtumaa

  • Ajastus

  • Lukkiutumiset

    • prosessi odottaa tapahtumaa, jota ei tapahdu koskaan


Prosessirakenteen m r minen

Prosessirakenteen määrääminen

  • Pieni prosessien määrä:

    • nopeus: prosessien välinen kommunikointi hidasta, prosessien luonti ym. ylläpito hidasta

    • järjestelmän testaus helpompaa

  • Prosesseja lisätään seuraavilla kriteereillä:

    • yksinkertaistus

    • jokaista asynkronista i/o -vuo ohjaamaan oma prosessi


Prosessirakenne

.. prosessirakenne

  • Prioriteetit: kiireellisille omat prosessit

  • ajastetut prosessit esim varmistus

  • moniprosessoriympäristö

  • hajautetut järjestelmät

  • muistinhallinta (muistin koko rajoittaa)


Reaaliaikaj rjestelmien kansanviisauksia

Reaaliaikajärjestelmien kansanviisauksia

  • Turvallisuuskriittisen järjestelmän toiminta ei saa koskaan perustua pelkästään ohjelmiston virheettömään toimintaan => +turvamekanismit

  • Prototyyppitestaus

  • Puolustautuva ohjelmointi (defensive programming)

    • kohdissa, joihin ei saisi koskaan tulla, on ylimääräinen tarkistus

    • aliohjelma suorittaa ylimääräisiä tarkistuksia parametreille

  • Seuraa prosessorin käyttöastetta:

    • Yli 50% tietää ongelmia

  • Kerää tilastoa prosessien käyttäytymisestä

  • Varaudu sanomien välityksessä kaikkeen:

    • mitään ei tapahdu, sanomat tulevat väärässä järjestyksessä, tuplat jne


  • Login