Insegnamento ELEMENTI DI ARCHITETTURA DEGLI ELABORATORI E SISTEMI OPERATIVI
- Corso
- Programmazione e gestione di sistemi informatici
- Codice insegnamento
- A003645
- Curriculum
- Comune a tutti i curricula
- Docente
- Damiano Perri
- Docenti
-
- Damiano Perri
- Ore
- 42 ore - Damiano Perri
- CFU
- 6
- Regolamento
- Coorte 2023
- Erogato
- 2023/24
- Attività
- Base
- Ambito
- Formazione informatica, matematica e statistica di base
- Settore
- INF/01
- Tipo insegnamento
- Obbligatorio (Required)
- Tipo attività
- Attività formativa monodisciplinare
- Lingua insegnamento
- ITALIANO
- Contenuti
- Il corso è diviso in due moduli.
Il primo modulo è Architettura degli Elaboratori, il secondo è Sistemi Operativi.
Il primo modulo introduce le basi fondamentali per comprendere le architetture degli elaboratori.
Il secondo modulo, Sistemi Operativi, tratterà nello specifico il sistema operativo Unix, la gestione dei processi, l'allocazione delle risorse del sistema operativo e Bash. - Testi di riferimento
- La letteratura consigliata è la seguente:
1) Andrew S. Tanenbaum, Architettura dei Calcolatori un approccio strutturale, Pearson
2) Abraham Silberschatz et Al, Sistemi operativi. Concetti ed esempi, Pearson
Oltre ai due testi consigliati il docente fornirà del materiale di studio aggiuntivo sotto forma di slide che sarà sufficiente alla preparazione dell'esame. - Obiettivi formativi
- Alla fine di questo corso, gli studenti comprenderanno le architetture dei sistemi informatici.
Gli studenti saranno in grado di comprendere il funzionamento dei sistemi operativi, i clici di vita dei processi e le principali tecniche per evitare deadlock e allocare correttamente le risorse della macchina. - Prerequisiti
- Nessun prerequisito richiesto
- Metodi didattici
- Il corso prevede lezioni teoriche e discussioni in classe.
Le lezioni saranno frontali e si svolgeranno in aula presso il DMI tutti i martedì e i giovedì dalle 11 alle 13. - Altre informazioni
- Il docente è disponibile ad erogare lezioni frontali, esercitazioni e sessioni di esami in lingua Inglese.
Il docente è disponibile a sostenere l'esame in lingua Inglese. - Modalità di verifica dell'apprendimento
- La valutazione del corso avverrà tramite un progetto da svolgere a casa, un esame scritto da svolgere in aula tramite LibreEOL e una verifica orale delle conoscenze.
Il progetto è necessario per verificare l'apprendimento delle conoscenze relative al modulo di sistemi operativi.
Il voto finale sarà dato dalla media pesata dei risultati ottenuti alla prova scritta e alla prova orale.
Lo scritto avrà peso 70%, l'orale avrà un peso pari al 30% del voto finale. - Programma esteso
- Il corso è diviso in due moduli.
Il primo modulo è Architettura degli Elaboratori, il secondo è Sistemi Operativi.
Il primo modulo introduce le basi fondamentali per comprendere le architetture degli elaboratori.
Verranno illustrati i principali eventi storici che hanno portato alle architetture moderne trattando le principali generazioni nelle architetture dei computer.
Verranno poi trattati i seguenti argomenti:
organizzazione della CPU,
differenze e caratteristiche di RISC e CISC,
la memoria principale, la memoria secondaria,
la tecnica Hit and miss,
l'input e l'output,
il livello logico digitale con richiami a porte logiche e circuiti,
il livello di microarchitettura,
il livello di architettura ISA ed esempi di istruzioni,
ciclo per l'esecuzione di una istruzione,
le interruzioni, i sistemi RAID.
Il secondo modulo, Sistemi Operativi, tratterà nello specifico:
il sistema operativo Unix,
le sue caratteristiche e gli schemi di funzionamento che lo governano,
i processi,
i thread e il loro ciclo di vita.
Successivamente verrà trattata:
la sincronizzazione dei processi,
il blocco critico,
lo scheduling della CPU,
lo scheduling dei sistemi I/O.
Il corso proseguirà trattando:
la struttura del file system,
e si concluderà con la spiegazione di come si utilizza bash, sia tramite approfondimenti teorici che tramite esercizi pratici di programmazione.