Reaaliaikaohjelmointi (T0137), 6 op
Perustiedot
Kurssin nimi: | Reaaliaikaohjelmointi |
Winhakoodi: | T0137 |
Kurren lyhenne: | RaOhj |
Opintopisteet: | 6 |
Opintojakson taso: | Ammattiopinnot |
Toteutusvuosi: | 4.vsk |
Jakso: | 3.jakso, 4.jakso |
Lukuvuosi: | 0607 |
Opetuskieli: | Suomi |
Opettaja: | Hannu Laine |
Lopullinen arviointi: | Arvosteluasteikolla (0-5) |
Kuvaukset
Esitietovaatimukset
Unix-käyttöjärjestelmä
C-ohjelmointi
Reaaliaikakäyttöjärjestelmät
Sisältö (ydinaines ja -osaaminen)
·Ohjelmankehitys Linux/Unix-ympäristössä
Käyttöjärjestelmän peruspalvelut sovellusohjelmille
Prosessit ja niiden vuorovaikutus
Prosessien synkronointitarve ja -välineet
Signaalit
Putket ja FIFOt
Asynkroninen ja multipleksattu i/o
Ajoitukset, timerit ja timeoutit
Semaforit
Jaettu muisti
Viestijonot
Säikeet ja niiden synkronointi
Dynaamisesti linkattavat ohjelmakirjastot
Sisältö (täydentävä ja erityisosaaminen)
Soketit ja streamit
Laiteajurit
Erilaiset skedulointipolitiikat
Tiukat reaaliaikavaatimukset
Tiedolliset oppimistulokset (ydinaines ja -osaaminen)
Kurssin suoritettuaan opiskelija ymmärtää sisältölistassa mainittujen asioiden merkityksen prosessien rinnakkaisessa toiminnassa käytännön tasolla. Lisäksi hän tietää kuinka nämä asiat toteutetaan ohjelmistossa uusimman standardin IEEE Std 1003.1-2001 (Posix) mukaisesti. Erityinen painotus kurssissa annetaan standardin reaaliaikajärjestelmiä koskeville laajennuksille, kuten timerit, reaaliaikasignaalit, asynkroninen i/o, semaforit, jaetut muistiobjektit jne.
Taidolliset oppimistulokset (ydinaines ja -osaaminen)
Opintojakson suoritettuaan opiskelija hallitsee käytännössä reaaliaikaohjelmistojen ja sulautettujen järjestelmien toteutukseen liittyvän tekniikan käyttöjärjestelmäkutsurajapinnan osalta ja pystyy ohjelmistokehitystyöhön ympäristössä, jossa systeemi muodostuu useista keskenään kommunikoivista prosesseista tai säikeistä. Hän osaa suunnitella ja toteuttaa reaaliaikasovelluksia, jotka toimivat luotettavasti ja joissa on varauduttu erilaisten asynkronisten tapausten aiheuttamiin ongelmatilanteisiin.
Kirjallisuus ja muu materiaali
Luentomonisteet ja luentokalvot.
Opetusmenetelmät
Luennot, laboratorioharjoitukset ja ryhmätyöprojekti
Opiskelijan kuormittavuus
Luennot - 30
Tentti - 4
Itsenäinen työskentely - 50
Laboratoriotyöt - 30
Projektit - 46
Arvioinnin perusteet
Tentti 80%
Laboratorioharjoitukset ja ryhmätyöprojekti 20%
Koulutusohjelmakohtaiset kompetenssit
Ohjelmistotekniikka