REAL-TIME OPERATING SYSTEMS

REAL-TIME OPERATING SYSTEMS

_
iten
Code
80169
ACADEMIC YEAR
2018/2019
CREDITS
6 credits during the 1st year of 8733 Computer Engineering (LM-32) GENOVA

5 credits during the 1st year of 10635 ROBOTICS ENGINEERING (LM-32) GENOVA

SCIENTIFIC DISCIPLINARY SECTOR
ING-INF/05
TEACHING LOCATION
GENOVA (Computer Engineering)
semester
1° Semester
Teaching materials

OVERVIEW

A real-time system is characterized by having a predictable behaviour concerning execution times. Its main characteristic is not speed, but rather guaranteeing that timing constraints are met: in particular, guaranteeing a maximum time within which computing processes will terminate. The class is aimed at presenting basic principles, methodologies, and the main tools to understand real-time operating system and the design of real-time software.

AIMS AND CONTENT

LEARNING OUTCOMES

At the end of the course a student who has followed it with profit will know: - problems related to real-time applications and operating systems; - issues related to design and concurrent programming in real time; - issues related to writing device drivers; - some case studies of commercially available real-time operating systems.

AIMS AND LEARNING OUTCOMES

At the end of the class, the student will be able to:

  • understand problems related to real-time applications and operating systems;
  • understand how to use real-time operating systems following the Posix standard and Linux-RTAI
  • expand the acquired knowledge to understand how to use additional real-time operating systems that have not been presented in the class;
  • apply the acquired knowledge to solve problems, in particular for the design of real-time applications;
  • analyse the characteristics of state-of-the-art real-time operating systems, and categorize them on the basis of such characteristics.

PREREQUISITES

Basic programming skills (preferrably C/C++).

Teaching methods

The class includes both lessons and computer exercises. Attendance is warmly encouraged, especially concerning exercises. During the semester, assignments will be given that will be evaluated for the exam.

SYLLABUS/CONTENT

The syllabus includes the following topics:

  • Real-time operating systems:
    • Basic principles;
    • Scheduling algorithms for periodic tasks: Rate Monotonic, Earliest Deadline First, Deadline Monotonic;
    • Scheduling algorithms for aperiodic tasks: schedulazione in background, Polling Server, Deferrable Server;
    • Protocols for access to shared resources: Priority Inheritance, Priority Ceiling;
    • Rate Monotonic on a CAN bus.
  • Soft real-time systems (Posix):
    • thread, mutex and conditional variables;
    • Rate Monotonic;
    • Background scheduling and periodic servers;
    • Interprocess communication;
  • Linux Device Drivers;
    • System calls; 
    • User and kernel space;
    • I/O and interrupt programming; 
    • Case study: a driver for the parallel port.
  • Hard real-time systems:
    • QnX, VxWorks, Windows CE;
    • RTAI: periodic and aperiodic tasks, communication mechanisms.

RECOMMENDED READING/BIBLIOGRAPHY

Slides will be made available on aulaweb. For a deeper investigation of the topics presented in the class, please refer to the following books or websites.

  • Buttazzo, Giorgio C.  Hard Real-time Computing Systems, Kluwer Academic publishers, 1997
  • Alessandro Rubini and Jonathan Corbet, Linux Device Drivers, Third Edition, O'Reilly and Associates, June, 2001 (available online at http://oreilly.com/openbook/linuxdrive3/book/)
  • Tom Wagner and Don Towsley, Getting Started With POSIX Threads (available online)
  • https://www.rtai.org/

TEACHERS AND EXAM BOARD

Ricevimento: On appointment. Please contact the teacher via email: antonio.sgorbissa@unige.it

Exam Board

RENATO UGO RAFFAELE ZACCARIA (President)

ANTONIO SGORBISSA (President)

FULVIO MASTROGIOVANNI

LESSONS

Teaching methods

The class includes both lessons and computer exercises. Attendance is warmly encouraged, especially concerning exercises. During the semester, assignments will be given that will be evaluated for the exam.

LESSONS START

https://www.politecnica.unige.it/index.php/didattica-e-studenti/orario-e-calendario-delle-lezioni

EXAMS

Exam description

Written

Assessment methods

The exam requires that the student is able to design, using theoretical bases and practical tools presented during lectures and during exercises, a real-time application with given characteristics. 

Exam schedule

Date Time Location Type Notes
04/09/2019 09:00 GENOVA Scritto
04/09/2019 09:00 GENOVA Scritto