Operating Systems for Embedded Computers

Course Description

Embedded computers are very different from other computer systems. Many of them manage the processes in which the timed actions are of the utmost importance. Therefore, the device drivers and the rest of the system must be adapted to meet such constraints. Such systems are usually not under the constant supervision, and are expected of them to work independently for longer periods, which require high reliability and embedded recovery mechanisms. The principal goal of the course is to use simple operating system examples for demonstrating the methods for building the system, its components and device drivers for embedded computers, and in that process develops an understanding of used mechanisms as well as to learn the building process.

Learning Outcomes

  1. explain features required from embedded computer systems
  2. identify embedded system implementation problems
  3. describe operating principles for operating system kernel components
  4. modify operating system kernel components
  5. use tool chain to create software for embedded computers
  6. employ advanced features from C programming language
  7. select suitable algorithms when creating software for embedded computers

Forms of Teaching

Lectures

Lectures are organized through two cycles: first last seven weeks and second six weeks. After first cycle is scheduled mid term exam and after second cycle comes final exam. Each week there are two hour lecture. Within some lectures students will be tested with short tests.

Independent assignments

Homework includes solving of the given problems (published in the first week): design and implementation accompanied by a short documentation. Result should be then uploaded and later presented for grading.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Homeworks 50 % 30 % 50 % 0 %
Quizzes 0 % 10 % 0 % 0 %
Mid Term Exam: Written 0 % 20 % 0 %
Final Exam: Written 50 % 20 %
Final Exam: Oral 20 %
Exam: Written 50 % 50 %
Exam: Oral 50 %

Week by Week Schedule

  1. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  2. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  3. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  4. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  5. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  6. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  7. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  8. Midterm exam
  9. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  10. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  11. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  12. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  13. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  14. Embedded system design techniques, Programming for embedded systems, OS design for embedded system
  15. Final exam

Study Programmes

University graduate
Audio Technologies and Electroacoustics (profile)
Free Elective Courses (2. semester)
Communication and Space Technologies (profile)
Free Elective Courses (2. semester)
Computational Modelling in Engineering (profile)
Free Elective Courses (2. semester)
Computer Engineering (profile)
Elective Course of the profile (2. semester) Specialization Course (2. semester)
Computer Science (profile)
Elective Courses of the Profile (2. semester)
Control Systems and Robotics (profile)
Elective Courses of the Profile (2. semester)
Data Science (profile)
Free Elective Courses (2. semester)
Electrical Power Engineering (profile)
Free Elective Courses (2. semester)
Electric Machines, Drives and Automation (profile)
Free Elective Courses (2. semester)
Electronic and Computer Engineering (profile)
Free Elective Courses (2. semester) Specialization Course (2. semester)
Electronics (profile)
Free Elective Courses (2. semester)
Information and Communication Engineering (profile)
Free Elective Courses (2. semester)
Network Science (profile)
Free Elective Courses (2. semester)
Software Engineering and Information Systems (profile)
Free Elective Courses (2. semester)

Literature

Leonardo Jelenković (2021.), Operacijski sustavi za ugrađena računala, online
Leo Budin, Marin Golub, Domagoj Jakobović, Leonardo Jelenković (2010.), Operacijski sustavi,
Abraham Silberschatz, Greg Gagne, Peter B. Galvin (2018.), Operating System Concepts, Wiley
André M. van Tilborg, Gary M. Koob (2012.), Foundations of Real-Time Computing: Scheduling and Resource Management, Springer Science & Business Media
Alexander D. Stoyenko (2012.), Constructing Predictable Real Time Systems, Springer Science & Business Media
Jean Labrosse (2002.), MicroC/OS-II, CRC Press

For students

General

ID 222570
  Summer semester
5 ECTS
L1 English Level
L1 e-Learning
30 Lectures
5 Laboratory exercises

Grading System

90 Excellent
75 Very Good
60 Good
50 Acceptable