Reaaliaikaj rjestelmien suunnittelu
Download
1 / 15

Reaaliaikajärjestelmien suunnittelu - PowerPoint PPT Presentation


  • 77 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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha

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ärjestelmiensuunnittelu

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

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


Kaavio reaaliaikajärjestelmän erosta perinteiseen


  • Reaaliaikajärjestelmässä vaaditaan

    • ajastusta

    • rinnakkaisuuden hallintaa


Reaaliaikaisen ohjelmistojen tyyppejä

  • Jako kahteen:

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

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


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


…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


…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)


…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


…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

  • 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

  • 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

  • Prioriteetit: kiireellisille omat prosessit

  • ajastetut prosessit esim varmistus

  • moniprosessoriympäristö

  • hajautetut järjestelmät

  • muistinhallinta (muistin koko rajoittaa)


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


ad
  • Login