Lezioni

[2022/02/21] Introduzione ai sistemi operativi (Giorgio)

  • Introduzione al corso (slides)

  • Storia, servizi, funzionalita' (slides)

(Video )

[2022/02/22] Git e complementi di C (Giorgio)

(Video)

[2022/02/23] Complementi di C (Giorgio)

  • Implementazione di Ereditarieta' in C

  • Puntatori a Funzione

  • Cenni su Makefile (solo video)

(slides)(source )

(Video)

[2022/02/28] Complementi di C (Giorgio)

  • Polimorfismo in C

  • Implementazione lista polimorfica

(slides)(source )

(Video)

[2022/03/01] Complementi di C (Barbara)

  • Soluzione Esercizi

(source )

(Video)

[2022/03/02] AVR Intro (Giorgio)

  • Cenni su Architetture

  • Ciclo lettura/scrittura

  • Periferiche Memory Mapped

  • AVR: Build Tools

(slides)(source )

(Video)

[2022/03/07] AVR I/O (Giorgio)

  • AVR: Build Tools

  • Digital I/O

  • Proposed Exercises (Encoder/Keyboard)

(slides)(source )

(Video)

[2022/03/08] AVR Timers/Interrpts (Giorgio)

  • Solution of proposed exercises

(source )

(slides)(source )

(Video)

[2022/03/09] AVR Timers/Interrpts + Exercises (Giorgio)

  • External Interrupt

  • UART

(slides)(source )

(Video)

[2022/03/14] Coroutines (Giorgio)

  • Execution Context

  • uContext functions

(slides)(source )

(Video)

[2022/03/15] AVR Context Switch (Giorgio)

  • uContext Exercises

  • Avr and Context Switch (part 1)

(slides)(source )

(Video1)(Video2)

[2022/03/16] Q&A (Giorgio)

  • Questions and Answers, Live exercise

(source )

Video not availble the session was live on zoom

[2022/03/21] Memory Allocation (SLAB and Buddy) (Giorgio)

  • Allocating Fixed Size Objects (SLAB)

  • Allocating Variable Size Objects (Buddy)

(slides)(source )

(Video)

[2022/03/22] Memory Exercises (Leonardo)

  • Exercises proposed in the previous lesson

(source )

(Video)

[2022/03/23] Processes and Syscalls (Giorgio)

(Video)

[2022/03/28] Context Switch in an OS (Giorgio)

(Video)

[2022/03/29] Kernel Structures (Giorgio)

(Video)

[2022/03/30] User Space Preemptive Threading (Giorgio)

  • Signals as Interrupts and Preemption with Contexts (slides)(source)

  • Timers (example of kernel structures) (slides)(source)

(Video)

[2022/04/04] Exercises on Mocked OS (Giorgio)

  • Exercises (source)

(Video)

[2022/04/05] CPU Scheduling (Giorgio)

(Video)

[2022/04/06] CPU Scheduling Exercises (Giorgio)

  • Exam Exercises (pdf)

  • Scheduler Simulator (source)

(Video)

[2022/04/11] Main Memory 1 (Giorgio)

(Video)

[2022/04/12] Main Memory 2 (Giorgio)

(Video)

[2022/04/13] Virtual Memory (Giorgio)

(Video)

[2022/04/20] Virtual Memory Exercises (Barbara)

  • Memory Exercises (pdf)

  • Virtual Memory Exercises (pdf)

(Video)

[2022/04/26] File System (Giorgio)

(Video)

[2022/04/27] File System (part 2) (Giorgio + Barbara)

  • File System Implementation (slides)

  • Exercises (pdf)

(Video)

[2022/05/04] IPC and Signals(Giorgio)

  • Message Queues, Shared Memory (slides)

  • Safe Signals and Sigaction (slides)

  • IPC examples (source)

(Video)

[2022/05/09] Devices (Giorgio + Leonardo)

[2022/05/11] Course Wrapup and Project Presentation (Giorgio)

(Video)

Image Credits: By Unknown - Set of wartime photos of GC&CS at Bletchley Park, Public Domain, https://commons.wikimedia.org/w/index.php?curid=72819587