Reaaliaikaj rjestelmien suunnittelu
Download
1 / 15

Reaaliaikajärjestelmien suunnittelu - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

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

PowerPoint Slideshow about ' Reaaliaikajärjestelmien suunnittelu' - lucy-gregory


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




Reaaliaikaisen ohjelmistojen tyyppej
Reaaliaikaisen ohjelmistojen tyyppejä järjestelmästä

  • Jako kahteen:

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

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


Toteutustapoja
Toteutustapoja järjestelmästä

  • 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ästä

  • 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 järjestelmästä

  • 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 järjestelmästä

  • 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



Toteutustapoja4
…toteutustapoja järjestelmästä

  • 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 järjestelmästä

  • 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 järjestelmästä

  • 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 järjestelmästä

  • Prioriteetit: kiireellisille omat prosessit

  • ajastetut prosessit esim varmistus

  • moniprosessoriympäristö

  • hajautetut järjestelmät

  • muistinhallinta (muistin koko rajoittaa)


Reaaliaikaj rjestelmien kansanviisauksia
Reaaliaikajärjestelmien kansanviisauksia järjestelmästä

  • 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