85728 - Real Time OS M

Academic Year 2017/2018

  • Docente: Paolo Torroni
  • Credits: 6
  • SSD: ING-INF/05
  • Language: English
  • Moduli: Paolo Torroni (Modulo 1) Marco Prandini (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Advanced Automotive Electronic Engineering (cod. 9238)

    Also valid for Second cycle degree programme (LM) in Automation Engineering (cod. 8891)

Learning outcomes

The course covers the fundamentals of modern real-time operating systems. Arguments that are addressed in the course are architecture, organization, and functionalities of modern operating systems, task management and resource allocation, mechanisms and tools for synchronisation and concurrent programming, characteristics of real-time operating systems and main scheduling algorithms for hard real-time periodic processes.

Course contents

Operating Systems

  • Overview
  • System Structures
  • Process Concept
  • Multithreaded Programming
  • Process Scheduling
  • Memory Management Strategies
  • Virtual Memory
  • File Concept
  • I/O Systems
Basics of Concurrent Programming
  • Process Synchronisation
  • Deadlocks
  • Synchronisation Tools
  • Monitor Design
Hard Real-Time Task Scheduling
  • Introduction
  • Basic Concepts
  • Aperiodic Task Scheduling
  • Periodic Task Scheduling
  • Resource Access Protocols

Readings/Bibliography

Teaching methods

  • Presential lectures covering theory and exercises, meant to be highly interactive
  • Supervised LAB sessions on Linux shell, processes, threads, inter-process communication, synchronization, and real-time applications development with Eclipse, Neutrino/Momentics and VxWorks/Workbench

Assessment methods

The exam aims at assessing the student's knowledge and skills in the course topics and it consists of two independent parts:

  • Part I: Operating Systems and Process Synchronization
  • Part II: Real-Time Scheduling

The student should take a separate written exam for each part. The results of either part does not have any impact on the result of the other, and the two parts can be taken in any order. During the term there may be a possibility of taking Part I split in two separate midterms.

The written exam consists of open questions and design/analysis exercises. The grade obtained in Part I contributes to 60% of the final grade; Part II to the remaining 40%. As a bonus, an active presence in the lab sessions also contributes to a positive overall evaluation.

Optionally, students who have passed the written exam may request to take an oral exam. The oral exam may be on just one part of the exam, or on the whole syllabus. The impact of the oral exam is up to +/- 3 points on the final grade (if it is taken on just one part, it may have a smaller impact).

NOTE: For all matters regarding exam regulations one should refer to Regolamento Didattico di Ateneo. Especially relevant is Art. 16 (5: positive grades are written on the official record; 7: negative grades are also written on the official record, and they do not have an impact on the student's GPA; 8: one cannot retake a passed exam once its grade has been written on the official record).

In particular, for what concerns this course:

  • the positive grade obtained once the student has passed both parts is by default written on the official record, unless the student explicitly request to take an oral exam;
  • the grade obtained after an oral exam is always written on the official record;
  • requests to retake successful written exams might be considered, and they will be evaluated case by case;
  • in any case, it is not possible to retake a passed written exam indefinitely.

Teaching tools

Lecture slides will be made available before class. Annotated lecture slides will also be made available, containing the annotations taken by the lecturer during class, as well as some past exams, if available. All such material will be distributed via AMS Campus. The RTSA lab web site will also be used to distribute lab cards and other teaching material. Most of the software used in the lab is open source or will be made available in the lab to students enrolled in this course, even outside of lab sessions, as far as our lab resources permit. A limited number of copies of the adopted textbooks and other relevant textbooks are available at the library.

Office hours

See the website of Paolo Torroni

See the website of Marco Prandini