![]() |
DEIS
- Facoltà di Ingegneria - Università di Bologna
Sistemi Operativi L-A |
![]() |
|
I lucidi del corso utilizzati in aula verranno messi in rete di volta in volta.
Presentazione del corso
Introduzione
Organizzazione di un Sistema Operativo
Processi e Thread (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Il concetto di processo pesante/leggero e sua rappresentazione nel sistema operativo
- Stati di un processo
- Gestione dei processi leggeri/pesanti da parte del SO
- Operazioni sui processi
- Classificazione dei processi
Processi in UNIX (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- La gestione dei processi in UNIX/Linux:
- stati, rappresentazione, gestione (scheduling), operazioni e comandi relativi ai processi
Java Thread (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Realizzazione user-level dei Java thread in Java Virtual Machine
- Due modalità per creazione di thread Java
- Stati di un thread Java
- Creazione e gestione thread Java
- Accesso synchronized a variabili condivise
- Sincronizzazione tramite wait(), notify() e notifyAll()
Short-term scheduling (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Principali algoritmi di scheduling
- Indicatori di performance per algoritmi di scheduling
- Esempi di scheduling nei principali SO moderni
Linux Bash Shell (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Introduzione alla Linux bash shell
- Comandi come filtri
- Introduzione pratica al file system Linux
- Utenti e gruppi
- Piping e ridirezione
- Espansione metacaratteri
- Strutture di controllo
- Esempi di file comandi
Gestione del File System (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Descrittori di file
- Accesso sequenziale, diretto e a indice
- Tipi di directory
- File system e protezione
- Strategie di allocazione
File System UNIX (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Organizzazione logica e organizzazione fisica
- Indirizzamento e allocazione
- Strutture dati kernel per la gestione del file system
- System call per la gestione di file
- System call per la gestione di directory
Segnali in UNIX (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Sincronizzazione tra processi UNIX
- Gestione di segnali con handler
- System call signal()
- System call kill()
- Gestione di SIGCHLD
- Esempi di utilizzo
Inter Process Communication (file .pdf in formato: 2 lucidi x pagina, 4 lucidi x pagina)
- Processi interagenti mediante scambio di messaggi
- Canali di comunicazione e buffering
- Sincronizzazione in ambiente locale/globale
- Problema della mutua esclusione
- Semafori e system call sui semafori
- Comunicazione fra processi UNIX
- System call per pipe
- System call per fifo
- Indirizzi simbolici, logici e fisici
- Binding statico/dinamico
- Overlay
- Allocazione contigua a partizioni fisse/variabili
- Paginazione (TLB, tabella delle pagine, tabella delle pagine hashed, tabella delle pagine invertita)
- Segmentazione
- Memoria virtuale
- Algoritmi di sostituzione e working set
- Gestione della memoria in UNIX, Linux e MS WinXP