Docente
|
GRISETTI GIORGIO
(programma)
Introduzione ai Sistemi Operativi [00, 01, 02a, 02b]
* storia
* servizi
* funzionalita'
Complementi di programmazione in C per Sistemi Operativi [03]
- implementazione di concetti OOP
- strutture dati polimorfiche
- allocatori di memoria
Architetture hardware [04a, 04b]
- cpu/memoria/bus dati e indirizzi
- esempio di bare metal programming su microcontrollore
Interrupts [03]
- motivazioni
- sviluppo in interrupt handler su microcontrollore
Stack e context switch [04]
* motivazioni
* context switch su microcontrollore
* context switch in user space
Processi e Strutture del Kernel [05]
- motivazioni
- dual mode, meccanismo delle system call
- implementazione di spawn, exec, wait
- creazione di uno scheduler preemptive in user space
Thread
- motivazioni
- concetti in pthread
- scheduling di thread
CPU Scheduling
- motivazioni
- metriche
- FIFO, SJF, SRJF, Round Robin, Round Robin con Priorita'
- controllare lo scheduler in PTHREAD
IPC
- motivazioni
- mutex
- semafori
- code
- memoria condivisa
Memoria
- motivazioni
- proezione della memoria
- metriche
- segmentazione
- paginazione
- traduzione di indirizzi
Memoria Virtuale
- motivazioni
- metriche
- analisi delle prestazioni
- algoritmi di rimpiazzamento delle pagine
- copy on write
File System
- motivazioni
- interfaccia al file system
- controllo degli accessi
- operazioni sui file
Implementazione del File System
- motivazioni
- virtual file system
- Esempi: FAT, Inodes
[potenziali]
SCAN (in i/o scheduling)
mmap types
brk in gestione memoria
[Obbligatrio]
Slide e programmi di esempio.
DA ESEGUIRE SUL PROPRIO COMPUTER
forniti sul sito del docente tramite repository git.
[Suggeriti]
Examples of past exams on the course webpage
[Opzionali]
Operating System Concepts
Ninth Edition
Avi Silberschatz
Peter Baer Galvin
Greg Gagne
|