Real-Time Operating Systems

Course description

The basic notion of operating systems. The role of programming languages and libraries. The kernel and shell concept. Structural differences between real-time and non-real-time operating systems. Multitasking and low level context switch. Heap management. Virtual vs. physical address space. The relations between MMU, DNA and memory cache. File systems. Virtual memory. Stack size and multiple stack structures. Processes and threads. Priority based scheduling.

Course is carried out on study programme

Elektrotehnika 2. stopnja

Objectives and competences

Understanding contemporary industrial operating systems with multitasking and real-time capabilities. Surveille of modern embedded systems software development products and hands-on project lab work.

Learning and teaching methods

Lectures, discussion groups, laboratory project work (group and individual).

Intended learning outcomes

Upon successful completion of this course, the students should be able to:

  • select an appropriate operating system structure for a given realtime problem.
  • determine the respective memory size
  • select a suitable heap management scheme for a given realtime application.
  • verify and validate realtime C code.
  • control the fragmentation in file systems.
  • perform complex schedulability analysis of a given real-time problem.

Reference nosilca

  1. TUMA, Tadej, BÜRMEN, Arpad. Circuit simulation with SPICE OPUS : theory and practice, (Modeling and simulation in science, engineering and technology). Boston; Basel; Berlin: Birkhäuser, cop. 2009.
  2. PUHAN, Janez, BÜRMEN, Arpad, TUMA, Tadej, FAJFAR, Iztok.  Teaching assembly and C language concurrently. Int. J. Electr. Eng. Educ., Apr. 2010, vol. 47, no. 2, str. 120-131,
  3. OLENŠEK, Jernej, BÜRMEN, Arpad, PUHAN, Janez, TUMA, Tadej. Automated analog electronic circuits sizing. V: QING, Anyong. Differential evolution : fundamentals and applications in electrical engineering. [Piscataway]: IEEE Press; Singapore: J. Wiley & Sons, cop. 2009, str. [353]-367.
  4. BÜRMEN, Arpad, OLENŠEK, Jernej, TUMA, Tadej. Mesh adaptive direct search with second directional derivative-based Hessian update. Computational optimization and applications, ISSN 0926-6003. [Print ed.], Dec. 2015, vol. 62, no. 3, str. 693-715.
  5. KORINŠEK, Gašper, DERLINK, Maja, VIRANT-DOBERLET, Meta, TUMA, Tadej. An autonomous system of detecting and attracting leafhopper males using species- and sex-specific substrate borne vibrational signals. Computers and electronics in agriculture, ISSN 0168-1699. [Print ed.], 2016, vol. 123, str. 29-39.

Study materials

  1. PUHAN, Janez. Operating systems, embedded systems and real-time systems. 1st ed. Ljubljana: FE Publishing, 2015. VII, 163 str.
  2. Spletna stran operacijskega sistema FreeRTOS.
  3. Spletna stran mikrokrmilniškega sistema Arduino Due
  4. Spletna stran mikrokrmilnika SAM3X8E

Bodi na tekočem

Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška cesta 25, 1000 Ljubljana

E: T:  01 4768 411