Print
Real-Time Operating Systems
Code
IT-RTO1
Version
1.0
Offered by
ICT Engineering
ECTS
5
Prerequisites
ESW1 (C programming) and CAO1 (Computer Architecture and Organization) or similar courses.
Main purpose
The purpose is to qualify the student to understand and master the concepts of Real-Time Operating Systems (RTOS).
The course will provide students with the qualifications needed to make programs for FreeRTOS and analyze them.
Knowledge
After having completed the course, the student will have gained knowledge about algorithms, methods, techniques, tools, and applications within the following:
- Scheduling – RMS, DMPO, Arbitrary Deadlines, EDF
- Memory management
- Concepts of Real-Time Operating Systems
- Deadlocks, priority inversion etc.
- Semaphores and mutexes
- Synchronization
- Priority - static, dynamic
Skills
Having completed this course, the student should be able to:
- Write real-time programs in C using FreeRTOS
- Analyze a simple real-time design for schedulability, deadlocks, priority inversion, utilization etc.
Competences
Having completed this course, students should be able to:
- analyze/design/describe and construct real-time programs in FreeRTOS
- understand timers and clocks, and how they are used in real-time programming
- understand synchronization avoiding dead-locks and priority inversion
- understand memory management, resource sharing and control
Topics
Teaching methods and study activities
Activities change between theory, tasks, practical exercises.
Resources
Notes and on-line books.
Evaluation
Examination
Exam prerequisites:
None
Type of exam:
Individual oral exam, 20 min.
Exam is based upon an assignment handed in before deadline.
Internal assessment
Tools allowed:
Laptop
Re-exam:
Same as the ordinary exam.
Grading criteria
Grading based on the Danish 7-point scale.
Additional information
Responsible
Lars Bech Sørensen (lbs)
Valid from
2/1/2025 12:00:00 AM
Course type
Keywords
Real-time Programming, C Programming, FreeRTOS, Real-time concepts, Tasks, Scheduling, RMS, DMPO, Arbitrary Deadlines, EDF, Queues, Timers, Memory management, Resource sharing, Semaphores and mutexes, Synchronization, Priority Inversion, Priority: static and dynamic.