suomeksi
in English

Reaaliaikaohjelmointi (T0137), 6 op

Basic information

Course name:Reaaliaikaohjelmointi
Real-time programming
Course Winha code:T0137
Kurre acronym:RaOhj
Credits:6
Type and level of course:Professional studies
Year of study, semester or study period:4.year
Implementation:3.period, 4.period
Semester:0708
Language of tuition:Suomi
Teacher:Hannu Laine
Final assessment:Grading scale (0-5)

Descriptions

Prerequisites

UNIX Operating System
C Programming
Real-time operating systems

Course contents (core content level)

Program development in Linux/Unix-environment
Basic operating system services for application programs
Processes and process interaction
Process synchronization (why and how?)
Signals
Pipes and FIFOs
Asynchronous and multiplexed i/o
Timing, timers and timeouts
Semaphores
Shared memory
Message queues
Threads and thread synchronization
Dynamically linked function libraries

Course contents (additional)

Sockets and streams
Device drivers
Different scheduling policies
Strict real-time requirements

Core content level learning outcomes (knowledge and understanding)

After completing the unit the student understands the meaning and effects of the things in the list above when processes are run concurrently. In addition to that he/she knows how these things are implemented in the software according the latest version of the standard IEEE Std 1003.1-2001 (Posix). A special emphasis is put on the real time extensions of the standard like timers, real time signals, asynchronous i/o, semaphores, shared memory objects and so on.

Core content level learning outcomes (skills)

After completing the course the student masters in practice the technique needed to implement real-time and embedded software systems using operating system services via the operating system calls and library functions. He/she can develop systems that consist of multiple communicating processes or threads. The student can design and implement real-time applications that work in reliable way so that all timing combinations of different asynchronous events that could cause problems are taken into consideration

Recommended reading

Lecture handouts and lecture transparencies

Teaching and learning strategies

Lectures, laboratory exercises and teamwork project

Teaching methods and student workload

Lectures
Exam
Individual research, reading
Laboratory assignments
Report/project

Assessment weighting and grading

Examination 80%
Laboratory exercises and teamwork project 20%

Related competences of the degree programme

Software Engineering

login