Obiettivi
formativi:
Il corso si propone
di fornire gli strumenti concettuali fondamentali
per poter configurare e utilizzare le più
attuali architetture dei sistemi operativi,
ivi comprese le architetture client/server.
Oltre agli strumenti concettuali il corso mira
a formare la conoscenza strumentale necessaria
all'uso pratico del sistema operativo Linux
attraverso opportune esercitazioni. Il risultato
del corso sarà quindi una base concettuale
sufficiente per gli approfondimenti successivi
necessari per il Corso di Laurea in Informatica
e Automazione e le abilità operative
di utente necessarie agli altri Corsi di Laurea
dell'Area dell'Informazione.
Programma:
Introduzione
· Richiami sull’architettura di
un sistema di elaborazione
· Cenni storici sui sistemi operativi
· Funzionalita' e struttura dei sistemi
operativi.
Gestione dei processi
· Concetto di processo e di thread
· Processi sequenziali e processi concorrenti
· Interrupt e gestione degli interrupt
· Scheduling della CPU
· Sincronizzazione dei processi
· Stallo dei processi
Gestione della memoria
· Indirizzamento e rilocazione
· Paginazione
· Segmentazione
· Memoria virtuale
Il file system
· Concetto e organizzazioni di file
· Organizzazione logica di un file system
· Implementazione del file system
Gestione I/O
· Architetture e dispositivi di I/O
· Interfaccia di I/O per le applicazioni
· Sottosistema per l'I/O del nucleo
· Gestione delle unità di memoria
secondaria e terziaria
Sistemi distribuiti
· Architetture distribuite
· Reti locali e reti geografiche
· Modello ISO/OSI e protocollo TCP/IP
Sicurezza dei sistemi
di elaborazione
· Tipi di minacce alla sicurezza di un
sistema
· Firewall
Caso di studio: Linux
Testi di
riferimento:
Silberschatz, P. Galvin,
"Sistemi Operativi" VI° Ed., Addison-Wesley,
2002.
Materiale didattico del docente.
|