Advanced Operating Systems
This is the home page for the "Advanced OS" course.
Here, you will find (in a badly-organised form) all the
material, slides, and information needed to attend the course
Lessons:
- First lesson: 2018/3/13, 15:00 -> 17:30, at tecip (Acquario)
- Second lesson: 2018/3/21, 14:30 -> 17:00, at tecip (PC room)
- Third lesson: 2018/3/22, 14:30 -> 17:00, at tecip (White room)
- More details about the non-preemptable section latency
- Kernel architectures (and their impact on latency)
- Recordings (in Italian): part 1 and part 2
- Fourth lesson: 2018/3/28, 14:30 -> 17:00, at tecip (Yellow room)
- Fifth lesson: 2018/3/29, 14:30 -> 17:00, at tecip (White room)
- Sixth lesson: 2018/4/4, 14:30 -> 17:00, at tecip (PC room)
- Seventh lesson: 2018/4/6, 14:30 -> 17:00, at tecip (PC room)
- Eighth lesson: 2018/4/26, 14:00 -> 16:30, at tecip (white room).IMPORTANT: bring your laptop (with Linux and kvm on it) with you
- Ninth lesson: 2018/5/4, 14:00 -> 16:30, at tecip (white room).IMPORTANT: bring your laptop (with Linux and kvm on it) with you
- Summary about Intel VT-x
- ...
- Example about KVM (broken video, I am trying to repair it)
- Tenth lesson: 2018/5/14, 14:00 -> 16:30, at tecip (white room)
- Next lesson: 2018/5/17, 14:00 at tecip (white room)
Slides and references:
Random Source Code:
- Some code showing trap and emulate.
Notice that the example "hypervisor" (running in ring 0) just runs
the guest code in ring 3... The guest executes a sensitive privileged
instruction (mov cr0, edx) that is emulated, and a sensitive non
privileged instruction (smswl eax) that cannot be
trapped / emulated... Since in theory the two instructions should
return the same value, the guest can easily understand that some
kind of hypervisor is running! This shows the need for VT-x
- Linux Kernel Module to read some VT-x information
- Linux Kernel Module showing how to use VT-x
- Basic OS image for testing the modules (built with https://gitlab.retis.sssup.it/l.abeni/BuildCore.git)
- Simple example about KVM