RETI E SISTEMI OPERATIVI

MODULO A - SISTEMI OPERATIVI

Laurea in Ingegneria dell'Informazione - A.A. 2020/21 (III anno, I semestre) - Sede di Latina - 6 CFU/ECTS

[RSO]

Reti e Sistemi Operativi

Laurea in Ingegneria dell'Informazione - A.A. 2020/21 (III anno, I semestre) - Sede di Latina - 6 CFU/ECTS

Giovedì 9:00-17:00, Aula 5 @ LT005 (Link to Google Maps)

PROGRAMMA DEL CORSO

Reti e sistemi operativi – Mod. A (6 CFU)
A.A. 2021/22 - PRIMO SEMESTRE
Prof. Christian Napoli

OBIETTIVI DEL CORSO

Il corso si propone di fornire le conoscenze essenziali per comprendere il funzionamento di un sistema operativo e quindi alla possibilità di sfruttare e controllare il sottostante sistema di elaborazione in diversi contesti. Vengono inoltre analizzati la programmazione concorrente e la elaborazione in rete, sia come requisito, sia come opportunità per il conseguimento di elevate prestazioni. Alla fine del corso lo studente sarà in grado di utilizzare in modo consapevole il sistema di elaborazione, sfruttando al meglio le risorse a sua disposizione, sapendo individuare ed eventualmente risolvere i problemi che limitano le prestazioni.

ARGOMENTI

Introduzione: funzionamento dei sistemi operativi; organizzazione ed architettura degli elaboratori; gestione delle risorse; classificazione e tassonomia dei sistemi operativi.

Struttura dei sistemi operativi: servizi; interfacce; interrupts; gestione degli interrupt; system calls; linker; loader; design ed implementazione dei sistemi operativi; debugging.

Processi e threads: definizione; scheduling; Portable Operating System Interface; operazioni sui processi; comunicazione fra processi; programmazione multicore; concorrenza e problemi correlati; mulithreading; multithread programming; pthreads; singals handling; librerie e tools.

Scheduling e sincronizzazione: scheduling della CPU, problemi di ottimizzazione; scheduling multi-processore, scheduling real time; sincronizzazione dei processi; sezione critica; locks; semafori; monitors; problemi e soluzioni di sincronizzazione; deadlocks.

Memoria: struttura e gerarchie di memoria; allocazione di memoria; gestione della memoria; paging e swap; memoria virtuale; gestione della mamoria virutale; memorie di massa; scheduling delle memorie di massa; gestione degli errori.

I/O e File system: concetti di base; hardware, interfacce delle applicazioni, sottosistemi; gestione delle richieste; struttura del file system; protezione; mapping; operazioni sui file; librerie; metodi di acesso ed allocazione; gestione dello spazio; operazioni di mount; partizionamento; condivisione; virtualizzazione.

Introduzione ad UNIX e Linux: descrizione; architetture; kernel; shell; rappresentazione interna dei files; chiamate di sistema; processi, controllo, scheduling e comunicazione; strategie di gestione della memoria;

Sistemi distribuiti: definizioni, vantaggi e svantaggi; struttura e gestione; comunicazione; file system distribuito; problemi di sincronizzazione; calcolo distribuito; esempi di sistemi distribuiti; sistemi unix e linux distribuiti.

TESTI ADOTTATI

Abraham Silberschatz, Peter Baer Gagne, Greg Galvin: “Sistemi Operativi", Pearson (2020);

Camil Demetrescu, Emilio Coppa, Daniele Cono D'Elia: dispense del corso di "Sistemi di Calcolo", Dipartimento di Ingegneria Informatica, Automatica e Gestionale “A. Ruberti”- Sapienza Università di Roma (2020).

Andrew S. Tanenbaum: "I moderni sistemi operativi", Pearson (2019);

Pedro Mejia-Alvarez, Luis Eduardo Leyva-del-Foyo, Arnoldo Diaz-Ramirez: "Interrupt Handling Schemes in Operating Systems", Springer (2018);

William Stallings: "Operating Systems: Internals and Design Principles", Pearson (2017);

Thomas Anderson, Michael Dahlin: "Operating Systems: Principles and Practice", Recursive Books (2014);

Andrew S. Tanenbaum: "Architettura dei Calcolatori", Pearson (2013);

Carl Hamacher, Zvonko Vranesic, Safwat Zaky, Naraig Manjikian: "Introduzione all'Architettura dei Calcolatori", Mc Graw Hill (2013);

Dhananjay M. Dhamdhere: "Sistemi Operativi", Mc Graw Hill (2008);

Harvey M. Deitel, Paul J. Deitel, David R. Choffnes: "Operating Systems", Pearson, (2004)

Remy Card, Eric Dumas, Franck Mével: "The linux kernel book", Wiley (1998)

Bil Lewis, Daniel J. Berg: "Multithreaded Programming With Pthreads", Sun microsystems (1997);

Maurice J. Bach: "Unix. Architettura di sistema. Per il progettista e il programmatore", Jackson Libri (1988);

https://linux.die.net/man/.


MODALITÀ DI ESAME

L’esame consiste di due parti: una prova scritta ed un colloquio orale. Sono ammessi al colloquio gli studenti che avranno ottenuto una valutazione minima di 18/30 alla prova scritta. La prova scritta sarà svolta in aula, avrà una durata di 1 ora, gli studenti dovranno dotarsi solo di un documento di riconoscimento valido e di penna non cancellabile. Durante la prova non è consentito l’utilizzo di appunti, manuali o libri, è inoltre vietato comunicare con i colleghi durante lo svolgimento della prova così come l’utilizzo di dispositivi di comunicazione, pena l’annullamento della prova stessa. Il colloquio orale ha come obiettivo la verifica individuale e valutazione delle motivazioni delle risposte fornite durante la prova scritta così come del conseguimento delle nozioni, dei concetti e dei metodi della disciplina. Le date dei colloqui orali, successivi allo svolgimento della prova scritta, saranno pubblicizzate dal docente, mediante canali ufficiali, dopo la correzione degli elaborati, contestualmente all’elenco dei candidati ammessi. Per sostenere il colloquio orale occorre esibire un documento di identità in sede di esame. La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte.

REGOLAMENTO DELLA PROVA SCRITTA

La prova ha lo scopo di valutare il conseguimento degli obiettivi formativi essenziali e si svolge per iscritto. Al candidato è richiesto di rispondere a 12 quesiti:
• 10 quesiti a risposta multipla (ad ogni risposta corretta sono assegnati 1,75 punti)
• 2 quesiti a risposta aperta (la correttezza della risposta sarà valutata attribuendo da 0 a 6 punti, alle risposte particolarmente brillanti saranno attribuiti 6,25 punti).
Il punteggio totale che costituirà il voto della prova scritta espresso in trentesimi, sarà calcolato sommando i punteggi ottenuti dalle risposte alle domande.
L’esame è svolto in aula, gli studenti dovranno dotarsi solo di un documento di riconoscimento valido e di penna non cancellabile. L’esame ha durata massima di 3 ore. Non è consentito l’utilizzo di appunti, manuali, libri, è inoltre vietato comunicare con i colleghi durante lo svolgimento della prova così come l’utilizzo di dispositivi di comunicazione (cellulari, smartphone, smart watch, messaggi scritti, piccioni viaggiatori, formiche ammaestrate, esperimenti di telepatia, etc...).
Eventuali violazioni di queste regole, così come l'uscita dall'aula prima della consegna, comportano l'annullamento del compito. Qualora emergessero eventuali evidenze di violazione delle regole d'esame qui esposte o dei regolamenti vigenti presso questo ateneo la commissione provvederà all'annullamento dell'esame d'ufficio ed alla registrazione di questo con esito negativo, saranno inoltre valutate le sanzioni ed i provvedimenti disciplinari del caso.
Il conseguimento, da parte del candidato, di una conoscenza basilare della disciplina si ritiene attestato dall'aver conseguito una valutazione di almeno 18 punti nella prova scritta. Quest’ultima è condizione necessaria per la prosecuzione dell’esame mediante colloquio orale, nel caso in cui il candidato ottenga una valutazione inferiore a 18/30 nella prova scritta, l’esame è da considerarsi concluso con esito negativo.

REGOLAMENTO DELLA PROVA ORALE

È ammesso al colloquio orale chi ha conseguito una valutazione di almeno 18/30 nella prova scritta. Il colloquio orale ha come obiettivI:
• la verifica individuale e valutazione delle motivazioni delle risposte fornite durante la prova scritta
• la verifica e valutazione del conseguimento delle nozioni, dei concetti e dei metodi della disciplina
Infatti, oltre che essere finalizzato all'accertamento della conoscenze da parte del candidato delle nozioni di base della disciplina, il colloquio in questione prevede anche l'accertamento dell'autenticità delle risposte ai quesiti della prova scritta mediante un’indagine delle motivazioni alla base delle risposte prodotte, indipendentemente dalla correttezza di dette risposte, e sulla familiarità al significato dei termini utilizzati.
Le date dei colloqui orali, successivi allo svolgimento della prova scritta, saranno pubblicizzate dal docente, mediante canali ufficiali, dopo la correzione degli elaborati, contestualmente all’elenco dei candidati ammessi. Per sostenere il colloquio orale occorre esibire un documento di identità in sede di esame.

VOTO FINALE

La valutazione ha carattere complessivo e terrà in considerazione l’esito dell’esame in ogni sua parte. L’esame si intende superato con una valutazione maggiore o uguale a 18/30. Ai candidati particolarmente meritevoli, oltre alla massima votazione (30/30) potrà essere attribuita la lode.

Sostenendo l’esame il candidato prende nota, approva e sottoscrive questo regolamento.


ESAMI ONLINE (EMERGENZA COVID)


In accordo con quanto previsto e consentito dal regolamento ufficiale di Sapienza Università di Roma la prima sessione di esami sarà svolta interamente online. Per poter prendere parte all'esame è richiesto l'uso del client EXAM.net scaricabile ed installabile dal link qui presente. Gli studenti sprovvisti di questo software saranno impossibilitati ad accedere alla piattaforma secondo le modalità previste. Si prega pertanto di scaricare la piattaforma, installarla e segnalare TEMPESTIVAMENTE eventuali problematiche: https://support.exam.net/#/seb

L’identificazione e il controllo remoto verranno svolti su piattaforma Google Meet o Zoom. I codici per svolgere entrambi verranno inviati per email prima dell’esame.

L’esame durerà un ora.

NOTA:

Gli esami scritti a distanza si svolgono in base alle indicazioni operative emanate con D.R. n.1141 del 17.04.2020, si prega di consultare ed attenersi SCRUPOLOSAMENTE alle istruzioni riportati al seguente LINK