suomeksi
in English

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:0708
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

login