Real-Time Programming (C0091), 6 op
Basic information
Course name: | Real-Time Programming Real-Time Programming |
Course Winha code: | C0091 |
Kurre acronym: | R-TProg |
Credits: | 6 |
Type and level of course: | Professional studies |
Year of study, semester or study period: | 4.year |
Implementation: | Spring semester, 3.period, 4.period |
Semester: | 0708 |
Language of tuition: | English |
Teacher: | Hannu Laine |
Final assessment: | Grading scale (0-5) |
Descriptions
Prerequisites
Unix-käyttöjärjestelmä
C-ohjelmointi
Reaaliaikakäyttöjärjestelmät
Course contents (core content level)
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
Course contents (additional)
Soketit ja streamit
Laiteajurit
Erilaiset skedulointipolitiikat
Tiukat reaaliaikavaatimukset
Core content level learning outcomes (knowledge and understanding)
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.
Core content level learning outcomes (skills)
Opintojakson suoritettuaan opiskelija hallitsee käytännössä reaaliaikaohjelmistojen ja sulautettujen järjestelmien toteutukseen liittyvän tekniikan käyttöjärjestelmäkutsurajapinnan osalta. Hän ystyy ohjelmistokehitystyöhön projekteissa, joissa kehitetään systeemiä, joka 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.
Recommended reading
Luentomonisteet ja luentokalvot.
Teaching and learning strategies
Luennot, laboratorioharjoitukset ja ryhmätyöprojekti
Teaching methods and student workload
Lectures
Exam
Individual research, reading
Laboratory assignments
Report/project
Assessment weighting and grading
Tentti 80%
Laboratorioharjoitukset ja ryhmätyöprojekti 20%
Related competences of the degree programme
Software Engineering