The primary objective of this course is to introduce the state of the art in operating systems and related technologies.
Topics are chosen from: Operating Systems for Embedded / Real-time Systems, Distributed OS and Middlewares, Virtual Execution Environment, System-Level Security Mechanisms, System Description Languages, Formal Approaches to System Software, etc.
This year, we focus on the foundations of real-time systems and real-time operating systems.
The goal of this course is to introduce students to the theoretical foundations of real-time systems and technologies in real-time operating systems.
1. Introduction, Basics, Schedulability Analysis
2. Schedulability Analysis
3-5. Modeling Real-Time Systems
6-7. Specifying and Verifying Real-Time Systems
8-10. Real-Time OS Kernel
11-13. Real-Time System Programming
14-15. Embedded Systems
E.-R. Olderog and H. Dierks, "Real-Time Systems: Formal Specification and Automatic Verification", Cambridge University Press, 2008.
Undergraduate Level Knowledge on:
(a) Theoretical CS: Propositional Logic, Predicate Logic, Finite Automata and Formal Languages
(b) Programming: C and/or Java (Processes, Threads, System APIs)
(c) Operating Systems: Basic OS Structures, Processes/Threads, Memory Management, File Systems, I/O etc.
1. Project (50%): Choose one of the following projects:
(a) Specification and verification project
(b) RTOS programming project
(c) Embedded device programming project
2. Report (50%)