Realtime Operating Systems (5 cr)
Code: TT00BB69-3010
General information
Enrollment
02.07.2025 - 31.07.2025
Timing
01.08.2025 - 31.12.2025
Number of ECTS credits allocated
5 op
Virtual portion
2 op
Mode of delivery
60 % Contact teaching, 40 % Distance learning
Unit
Teknologia
Teaching languages
- Finnish
Degree programmes
- Bachelor’s Degree in Information and Communication Technology
Teachers
- Eero Huusko
Groups
-
TTV23SATTV23SA
Objective
After completing the course, the students will be familiar with the techniques of real-time software design and implementation and the software tools used in the software industry. They will also be capable of software development in an environment where the system consists of several synchronous and communicating processes or threads. They are able to design and implement real-time applications that work reliably and are prepared for problems caused by various asynchronous cases.
After completing the course, the students will have mastered the features of a real-time system and know how to design and program a measurement application and necessary device drivers using the Linux operating system, in an industrial information system.
Content
The course content consists of real-time program development and implementation in the Linux environment. Supervised assignments are used to teach processes and their interaction, the process synchronization requirement and tools, real time signaling, pipelines and FIFOs, synchronous and multiplexed I/O, timings, timers and timeouts. In addition, the course covers semaphors, use of shared memory, message queues, threads and synchronization, and various scheduling policies in real-time systems.
Location and time
Teams ja verkko-oppimisympäristö.
Materials
Kurssilla jaettava materiaali.
Teaching methods
Teams-luennot, luentotallenteet ja labraharjoitukset.
Exam schedules
Kurssiin kuuluva tentti suoritetaan verkkotenttinä Repu-verkko-oppimisympäristössä.
Student workload
Kurssin laajuus 5 op
Further information
Kurssi edellyttää vahvaa C-kielen osaamista sekä Embedded Linux -kurssin hyväksyttyä suorittamista.
Evaluation scale
0 - 5
Assessment criteria, excellent (5)
The course assignment evaluates whether students are able to evaluate the suitability of different implementation techniques for different situations and choose the best suited to the situation and whether the students can implement an application with all the technologies offered by the POSIX interface. Grade 5 requires that the student demonstrates a broad understanding of how to analyze the reliability and reliability of use of real-time applications.
Assessment criteria, good (3)
The course assignment evaluates whether the students are able to transmit information between processes and threads and whether they understand the synchronization problems associated with data transfer. The students must also be able to avoid synchronization problems by some means.
Assessment criteria, satisfactory (1)
The course assignment evaluates whether the students are able to understand why and how a computer assigns turns to tasks and whether they understand the features and differences between process and thread. The assignment also assesses whether the students can code an application which uses processes and threads.
Assessment methods and criteria
Kurssi arvioidaan tentin ja oppimispäiväkirjan perusteella.
Assessment criteria, fail (0)
Hyvätty arvosana tentistä ja puutteellinen oppimispäiväkirja.
Assessment criteria, excellent (5)
Hyväksytty tentti, oppimispäiväkirjassa käsitelty labraharjoituksia. Osaamisen kehittyminen on selkeästi tunnistettavissa ja opiskelija osaa itsenäisesti toteuttaa reaaliaikaisen mittausjärjestelmän mukaan lukien pilvipalveluympäristön.
Toteutuksen arviointikriteerit, hyvä (3-4)
Hyväksytty tentti, oppimispäiväkirjassa käsitelty labraharjoituksia. Osaamisen kehittyminen on selkeästi tunnistettavissa ja opiskelija osaa malliratkaisuun perustuen toteuttaa reaaliaikaisen mittausjärjestelmän.
Assessment criteria, satisfactory (1)
Hyväksytty tentti, oppimispäiväkirjassa käsitelty labraharjoituksia.
Prerequisites
Programming with C, System Programming