Exercises

The lecture notes (in the form of PowerPoint "handouts") can be downloaded from the course home page. It is the responsibility of each student to download and print out the material before each lecture! The material will be available on the home page at least 48 hours before the lecture in question.

Exercise 1 - The laboratory assignment: development system and target hardware

  Thu study week 2, 13.15 - 15.00 in HC3

In this exercise, we give an overview of the laboratory assignment, in terms of the main objectives of the assignment and also in terms of the hardware platform and software development system being used. We also present guidelines of how to write a device driver and provide an example of such a driver being used in the laboratory assignment.

Slides

[ PDF ]

Exercise 2 - Programming with the TinyTimber kernel

  Thu study week 2, 15.15 - 17.00 in HC3

In this exercise, we will solve two problems: (i) circular buffer implementation in Ada95 and TinyTimber, and (ii) implementation of periodic tasks in TinyTimber. The objective of the exercise is to familiarize ourselves with some techniques to implement features needed for synchronization when multiple clients share some object, e.g., a buffer.

Slides

PDF ]

Exercise 3 - Programming with the TinyTimber kernel

  Thu study week 3, 15.15 - 17.00 in HC3

The objective of this exercise is to familiar ourselves with different ways of performing method calls when using access/update some shared state of some object. In addition, we will learn how to impose deadline to some periodic tasks and how to stop a periodic task after it has executed for a certain number of time units.

Slides

[ PDF ]

Exercise 4 - Programming with the TinyTimber kernel; Worst-case execution times

  Thu study week 4, 15.15 - 17.00 in HC3

In this exercise, our objective is to familiar ourselves with the device driver implementation for the CAN0 module. We will learn how to format a CAN message and send/receive a CAN message to/from others using the interface provided in the "canTinyTimber.h" file. In the second part of the exercise, we will also learn how the worst-case execution time (WCET) is estimated for a given piece of code using Shaw's method.

Slides

PDF ]

Exercise 5 - Scheduling

  Thu study week 5, 15.15 - 17.00 in HC3

In this exercise, we will begin by completing the WCET problem that we started solving in the last exercise class. Then, we will solve problems related to the Rate-Monotonic (RM) and Earliest-Deadline First (EDF) scheduling algorithms, focusing on the use of the processor-utilization test. Also, we will learn how to draw the schedule of a task set using the RM and EDF scheduling strategies.

Slides

PDF ]

Exercise 6 - Schedulability analysis

  Thu study week 6, 15.15 - 17.00 in HC3

In this exercise, we will solve scheduling problems from the exercise compendium related to Rate-Monotonic (RM), Deadline-Monotonic (DM) and Earliest-Deadline First (EDF) scheduling. The solutions to the problems are based on response-time analysis for RM/DM and processor-demand analysis for EDF. In addition, a solution of a scheduling problem using extended response time analysis (due to shared resources) considering the ICPP protocol will be demonstrated.

Slides

PDF ]

Exercise 7 - Multiprocessor scheduling

  Thu study week 7, 13.30 - 15.00 in HC3

In this exercise, our objective is to solve problems related to multiprocessor scheduling algorithms. We will solve problems related to the utilization bound tests for RMFF and RM-US algorithms. We will learn that successfully assigning the tasks to the processors for the RMFF algorithm depends on the order of the tasks considered during the assignment process. Finally, we will demonstrate how to compute an upper bound on the response time of the tasks scheduled using the RM-US algorithm.

Slides

PDF ]

Resources