Skip to main content

Realtime Operating SystemsLaajuus (5 cr)

Code: TT00BB69

Credits

5 op

Teaching language

  • Finnish

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.

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.

en
Enrollment

02.07.2025 - 31.07.2025

Timing

01.08.2025 - 31.12.2025

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Teknologia

Teaching languages
  • Finnish
Degree programmes
  • Bachelor’s Degree in Information and Communication Technology
Teachers
  • Eero Huusko
Groups
  • TTV23SA
    TTV23SA

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.

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.

Prerequisites

Programming with C, System Programming

en
Enrollment

19.08.2024 - 22.09.2024

Timing

01.08.2024 - 31.12.2024

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Teknologia

Teaching languages
  • Finnish
Degree programmes
  • Bachelor’s Degree in Information and Communication Technology
Teachers
  • Eero Huusko
Groups
  • TTV22SA
    TTV22SA

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.

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.

Prerequisites

Programming with C, System Programming

en
Enrollment

01.08.2023 - 30.09.2023

Timing

01.08.2023 - 31.12.2023

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Teknologia

Teaching languages
  • Finnish
Degree programmes
  • Bachelor’s Degree in Information and Communication Technology
Teachers
  • Eero Huusko
Groups
  • TTV21SA
    TTV21SA

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.

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.

Prerequisites

Programming with C, System Programming

en
Enrollment

01.08.2022 - 30.09.2022

Timing

01.08.2022 - 31.12.2022

Number of ECTS credits allocated

5 op

Mode of delivery

Contact teaching

Unit

Teknologia

Teaching languages
  • Finnish
Degree programmes
  • Bachelor’s Degree in Information and Communication Technology
Teachers
  • Eero Huusko
Groups
  • TTV20SA
    TTV20SA

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.

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.

Prerequisites

Programming with C, System Programming