| SISTEMI OPERATIVI
SISTEMI OPERATIVI | |
---|---|
DIPARTIMENTO di MATEMATICA,INFORMATICA ed ECONOMIA | |
Laurea | |
SCIENZE E TECNOLOGIE INFORMATICHE | |
6 |
CFU | Ore | Ciclo | Docente | ||||
---|---|---|---|---|---|---|---|
1 | SISTEMI OPERATIVI | ||||||
6 | 48 | Primo Semestre | BLOISI DOMENICO DANIELE |
Lingua insegnamento | Italiano |
---|
Obiettivi formativi e risultati di apprendimento | Un sistema operativo è un software che gestisce l'hardware di un calcolatore. Lo scopo di un sistema operativo è quello di fornire all'utente un ambiente nel quale l'esecuzione dei programmi possa avvenire in modo conveniente ed efficace. Il corso ha l’obiettivo di fornire agli studenti le conoscenze di base relative ai moderni SISTEMI OPERATIVI, trattando tematiche legate alla gestione dei processi e delle memorie nei calcolatori. Gli argomenti trattati nel corso riguardano i concetti di base dei sistemi operativi. Le principali conoscenze fornite saranno: Strutture dei sistemi operativi Processi Thread Sincronizzazione dei processi Scheduling della CPU Stallo dei processi Memoria centrale Memoria virtuale Memoria secondaria Interfaccia del file system Sistemi di I/O Le principali abilità che potranno essere acquisite dallo studente al termine del corso sono: Comprensione della strutturato e gestione di un moderno sistema operativo Capacità di distinguere tra le diverse modalità di gestione processi implementabili in un moderno sistema operativo Capacità di identificare le metodologie di Sincronizzazione dei processi Capacità di valutare le migliori soluzioni per la gestione della memorie nei moderni sistemi operativi????????? |
---|
Prerequisiti | Si ritiene necessario avere acquisito e assimilato le conoscenze fornite dai corsi di “Programmazione Procedurale” e “Architettura degli Elaboratori”. |
---|
Contenuti del corso | 1. Introduzione ai Sistemi Operativi - Storia dei Sistemi Operativi - Cos’è un Sistema Operativo - Organizzazione di un sistema di calcolo 2. Strutture dei Sistemi Operativi - Architettura degli elaboratori - Attività di un Sistema Operativo - Servizi di un Sistema Operativo - Interfaccia utente del Sistema Operativo - System calls 3. Processi - Concetto di processo - Stato di un processo - Scheduling dei processi - Cambio di contesto - Operazioni sui processi - Comunicazioni tra processi - Memoria condivisa - Scambio di messaggi 4. Thread - Introduzione ai thread - Vantaggi della programmazione multithread - Modelli di programmazione multithread - Considerazioni sulla gestione dei thread 5. Scheduling della CPU - Introduzione allo scheduling - Scheduler della CPU - Dispatcher - Criteri di scheduling - Algoritmi di scheduling 6. Sincronizzazione dei processi - Il problema della sincronizzazione - La sezione critica - Hardware per la sincronizzazione - Semafori - Stallo e attesa indefinita - Problemi tipici di sincronizzazione 7. Stallo dei processi - Definizione dello stallo - Condizioni necessarie - Grafo di assegnazione delle risorse - Metodi per la gestione delle situazioni di stallo - Algoritmi per evitare le situazioni non sicure - Rilevamento delle situazioni di stallo - Ripristino dallo stallo 8. Memoria centrale - Introduzione alla Memoria Centrale - Associazione degli indirizzi - Indirizzi logici e indirizzi fisici - Allocazione della memoria - Paginazione - Architettura di paginazione - Protezione - Pagine condivise - Struttura della tabella delle pagine - Segmentazione - Architettura di segmentazione 9. Memoria Virtuale - Introduzione alla Memoria Virtuale - Paginazione su richiesta - Vantaggi e Svantaggi della paginazione - Prestazioni della Paginazione - Dirty bit - Algoritmi di sostituzione delle pagine nella memoria virtuale - Allocazione dei frame - Paginazione degenere (thrashing) 10. Interfaccia del File System - Introduzione - Concetto di file - Operazioni sui file - Metodi di accesso - Struttura delle directory - Protezione 11. Realizzazione del File System - Struttura del file system - Allocazione contigua - Allocazione concatenata - Allocazione indicizzata 12. Memoria Secondaria e Terziaria - Struttura dei dispositivi di memorizzazione - Scheduling del disco - Gestione dell’unità a disco - Strutture RAID 13. Protezione e Sicurezza - Obiettivi della protezione - Matrice d’accesso - Il problema della sicurezza e misure per garantirla |
---|
Metodi didattici | Il corso prevede 48 ore di didattica suddivise tra lezioni ed esercitazioni. |
---|
Modalità di verifica dell'apprendimento | Il voto finale viene conseguito svolgendo un esame scritto con 3 domande a risposta aperta e 2 esercizi. Gli studenti possono chiedere di svolgere un progetto facoltativo per ottenere un punteggio bonus (fino a tre punti) che verrà sommato al voto ottenuto durante l'esame scritto. |
---|
Testi di riferimento e di approfondimento, materiale didattico Online | Il libro di testo è • Silberschatz, P. B. Galvin, G. Gagne. Sistemi operativi Concetti ed esempi 10a Ed. - Pearson Le slide proiettate durante il corso saranno disponibili per gli studenti sulla piattaforma Moodle. Il sito web di riferimento per il corso è http://web.unibas.it/bloisi/corsi/sistemi-operativi.html |
---|
Metodi e modalità di gestione dei rapporti con gli studenti | Alla fine di ogni lezione il docente metterà a disposizione degli studenti il materiale didattico sulla piattaforma moodle. Orario di ricevimento (potrebbe subire modifiche): Martedì dalle 11:00 alle 13:00 presso Edificio3D, II piano, stanza 15??????? Si invitano gli studenti a controllare regolarmente il sito http://web.unibas.it/bloisi/corsi/sistemi-operativi.html per eventuali variazioni. Oltre all’orario di ricevimento settimanale, il docente è disponibile in ogni momento per un contatto con gli studenti, attraverso la propria e-mail. |
---|
Date di esame previste | 10 febbraio 2021 24 febbraio 2021 19 maggio 2021 14 luglio 2021 15 settembre 2021 10 novembre 2021 Queste date potrebbero subire variazioni: consultare la pagina web del docente o del Dipartimento/Scuola per eventuali aggiornamenti |
---|
Seminari di esperti esterni | NO |
---|