Studiare

In questa sezione è possibile reperire le informazioni riguardanti l'organizzazione pratica del corso, lo svolgimento delle attività didattiche, le opportunità formative e i contatti utili durante tutto il percorso di studi, fino al conseguimento del titolo finale.

Queste informazioni sono destinate esclusivamente agli studenti e alle studentesse già iscritti a questo corso.
Se sei un nuovo studente interessato all'immatricolazione, trovi le informazioni sul percorso di studi alla pagina del corso:

Laurea in Informatica - Immatricolazione dal 2025/2026

Il piano didattico è l'elenco degli insegnamenti e delle altre attività formative che devono essere sostenute nel corso della propria carriera universitaria.
Selezionare il piano didattico in base all'anno accademico di iscrizione.

2° Anno  Attivato nell'A.A. 2024/2025

InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
6
C
ING-INF/04
12
B
ING-INF/05

3° Anno  Attivato nell'A.A. 2025/2026

InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
6
B
INF/01
Prova finale
6
E
-
Attivato nell'A.A. 2024/2025
InsegnamentiCreditiTAFSSD
12
B
INF/01
6
C
FIS/01
6
C
ING-INF/04
12
B
ING-INF/05
Attivato nell'A.A. 2025/2026
InsegnamentiCreditiTAFSSD
12
B
ING-INF/05
6
B
INF/01
Prova finale
6
E
-
Insegnamenti Crediti TAF SSD
Tra gli anni: 2°- 3°
Tra gli anni: 2°- 3°
Tirocinio
6
F
-

Legenda | Tipo Attività Formativa (TAF)

TAF (Tipologia Attività Formativa) Tutti gli insegnamenti e le attività sono classificate in diversi tipi di attività formativa, indicati da una lettera.




S Stage e tirocini presso imprese, enti pubblici o privati, ordini professionali

Codice insegnamento

4S00019

Crediti

12

Coordinatore

Andrea Masini

Lingua di erogazione

Italiano

Settore Scientifico Disciplinare (SSD)

ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

Corsi Singoli

Autorizzato

L'insegnamento è organizzato come segue:

Teoria 1

Crediti

3

Periodo

I semestre

Esercitazioni 1

Crediti

2

Periodo

I semestre

Laboratorio 1

Crediti

1

Periodo

I semestre

Teoria 2

Crediti

3

Periodo

II semestre

Esercitazioni 2

Crediti

2

Periodo

II semestre

Laboratorio 2

Crediti

1

Periodo

II semestre

Obiettivi di apprendimento

Il corso si propone di fornire un'introduzione ai principi e al progetto dei sistemi operativi, con particolare riguardo ai concetti relativi alle architetture software di un sistema operativo, alla gestione e sincronizzazione dei processi e alla gestione delle risorse del sistema di calcolo. Al termine del corso lo studente dovrà dimostrare di avere - conoscenze e capacità di comprensione l'organizzazione interna, il funzionamento e i servizi di un sistema operativo. In particolare, avranno compreso: le principali funzionalità di un sistema operativo nei confronti di utenti e programmi applicativi; le strategie con cui il sistema operativo gestisce le risorse di un calcolatore; le tecniche impiegate per implementare le componenti in cui è suddiviso un sistema operativo. - capacità di applicare le conoscenze acquisite e capacità di comprensione per sviluppare programmi con la consapevolezza di come il sistema operativo gestisce i processi che ne derivano; sviluppare applicazioni che utilizzano le primitive (chiamate a funzioni di sistema) messe a disposizione dal sistema operativo; sviluppare e modificare componenti di un sistema operativo. Di saper valutare autonomamente vantaggi e svantaggi di differenti scelte progettuali nell'ambito dei servizi offerti da un sistema operativo; essere in grado di realizzare un progetto laboratoriale di gruppo e di presentarne i relativi risultati motivando le scelte effettuate con appropriatezza di linguaggio; saper sviluppare le competenze necessarie per proseguire lo studio nell'ambito dei sistemi operativi affrontando tematiche avanzate relative agli scenari dei sistemi distribuiti, real time ed embedded.

Prerequisiti e nozioni di base

Insegnamenti di informatica del primo anno

Programma

TEORIA (I semestre)
Struttura dei sistemi operativi;
Gestione dei processi:
- concetto di processo
- scheduling processi
- operazioni sui processi
- comunicazione tra processi
- comunicazione a memoria condivisa
- comunicazione a scambio messaggi
- architettura client-server
Thread e concorrenza:
- programmazione multicore
- multithreading
- librerie
Scheduling CPU:
- concetti fondamentali
- algoritmi di scheduling
- scheduling dei thread
- scheduling per sistemi multiprocessore
- scheduling real-time
- valutazione algoritmi
Sincronizzazione processi:
- sezioni critiche
- algoritmo di Peterson
- supporto HW
- lock/unlock
- semafori
- monitor
-liveness
Stallo:
- stallo e multithread
- caratterizzazioni stallo
- metodi di gestione
- metodi di prevenzione
- come evitare lo stallo
- rilevamento stallo
- ripristino
LABORATORIO (I semestre)
La shell BASH:
- programmazione BASH
API posix :
- gestione file
- gestione dei diritti
- lettura/scrittura
- gestione dei processi
- i segnali
- comunicazione tra processi tramite PIPE
- prime nozioni sui thread (Pthread)

Bibliografia

Visualizza la bibliografia con Leganto, strumento che il Sistema Bibliotecario mette a disposizione per recuperare i testi in programma d'esame in modo semplice e innovativo.

Modalità didattiche

Lezioni frontali in aula per la parte di teoria. Lezioni ed esercitazioni pratiche in laboratorio

Modalità di verifica dell'apprendimento

Tutti i testi di esame verranno pubblicati in questa directory
L'esame scritto è articolato in due prove intermedie e/o 4 prove complessive più un progetto con sua discussione orale.
Il progetto può essere fatto a gruppi di non piì di tre persone
Ogni prova scritta è articolata in due parti.
La prima parte consta di 6 domande a risposte multiple.
Ad ogni risposta corretta viene assegnato 1;
• ad ogni risposta errata viene assegnato -0.5;
• ad ogni risposta nn data viene assegnato 0.
Verranno corretti gli esercizi della seconda parte solo se in questa parte
vengono totalizzati almeno 3 punti.
La seconda parte consta di 5 domande a risposta aperta. Ogni domanda vale al max 7 punti.

Le/gli studentesse/studenti con disabilità o disturbi specifici di apprendimento (DSA), che intendano richiedere l'adattamento della prova d'esame, devono seguire le indicazioni riportate QUI

Criteri di valutazione

E' valutata la capacità di apprendimento delle nozioni impartite in aula e la capacità di scrivere programmi in C utilizzando le API illustrate in laboratorio

Criteri di composizione del voto finale

3/4 voto esame scritto + 1/4 voto progetto

Lingua dell'esame

italiano