Real-Time Operating Systems and Middleware
The Course:
The course web page changed: find the old (2011) page here
Slides:
Theory:
Practice (in the lab):
NOTE: slides are periodically updated... Be sure to have the latest
version!
For comments, qestions, etc. send
me an email.
Captain's log:
References:
-
A good Operating System book (I suggest ``Operating Systems''
by William Stallings, but ``Operating Systems Design and
Implementation'' by Andrew Tanenbaum, or similar books are OK too).
As an example here is a list of the interesting
chapters in ``Operating systems. Internals and design principles; 7th ed.'' by W. Stallings.
-
For the Real-Time Scheduling part, interested students can consult
``HARD REAL-TIME COMPUTING SYSTEMS: Predictable Scheduling Algorithms
and Applications'' by Giorgio Buttazzo (Springer, 2005) - There is
an italian version of the book, too.
-
For the Real-Time programming part, consult the
Open Group site
(in particular, have a look at the
real-time extensions)
-
Another good reference for people interested in Unix programming is
``Advanced Programming in the Unix Environment'' by W. Richard Stevens
(Addison Wesley)
Funny Stories:
Projects:
A preliminary list of possible projects for the
exam is available. Email me if you have questions
Other Material:
- Some notes about C Coding
- Some notes about writing Makefiles
-
For experiments on operating system kernels, the
qemu emulator will be used. If you are
impatient and you want to start playing with the emulator now,
here you can find version 1.7 precompiled
and ready to be used on a Linux system. Just download the tarball
and uncompress it in /tmp. Have a look at the qemu site for
instructions about how to use it.
- A cross-compiler for ARM
- A patched version of busybox
that works on the computers in A104
- The package containing the ARM test kernel
- Some scripts for generating an initramfs
- The kernel headers
for compiling test Linux modules (for ARM)
- How to use xenomai
- Example about Linux Kernel Modules,
and some instructions
for compiling and using kernel modules.
Some Practice at the Computer...
If you want to see how the theory studied in the course applies in
simple programming exercizes, check this link.
Are you ready?
The texts of some of the previous exams:
Remember to send me your projects some days in advance respect to the
exam, so that I can evaluate them.