78810 - Real Time Systems for Automation M

Academic Year 2015/2016

  • Docente: Paolo Torroni
  • Credits: 12
  • SSD: ING-INF/05
  • Language: English
  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Automation Engineering (cod. 8891)

Learning outcomes

The course covers the fundamentals of modern real-time operating systems. It addresses 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. A part of the course is also devoted to supervised lab activity, with a focus on Linux, RTAI and other mainstream real-time operating systems and development environments.

At the end of the course students master all the fundamental aspect of informatics that are instrumental for the design and control of automatic systems.

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

  • Abraham Silberschatz, Peter B. Galvin, Greg Gagne. Operating System Concepts, 9th Edition. International Student Version. Wiley 2013
    Chapters 1 — 9 & 13
  • Giorgio C. Buttazzo. Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications, 3rd Edition. Springer 2011
    Chapters 1 — 4, 7 & 11
  • Lecture notes and online resources about concurrent programming
  • Lecture slides made available via AMS Campus
  • Lab cards and material available from the RTSA Lab home page
  • Teaching methods

  • Presential lectures covering theory and exercises, meant to be highly interactive
  • Supervised LAB sessions on Linux processes, synchronization, and on real-time development environments and operating systems such as RTAI and QNX Neutrino
  • 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