SISTEMI DI ELABORAZIONE E TRASMISSIONE DELL'INFORMAZIONE

SISTEMI DI ELABORAZIONE E TRASMISSIONE DELL'INFORMAZIONE

_
iten
Codice
80300
ANNO ACCADEMICO
2019/2020
CFU
12 cfu al 2° anno di 8759 INFORMATICA (L-31) GENOVA
SETTORE SCIENTIFICO DISCIPLINARE
INF/01
LINGUA
Italiano
SEDE
GENOVA (INFORMATICA )
periodo
1° Semestre
materiale didattico

PRESENTAZIONE

Prendendo spunto dalla convergenza tra le tecnologie di elaborazione e di trasmissione delle informazioni, il corso vuole fornire una visione d'insieme sulla progettazione, realizzazione e gestione efficiente e sicura di un sistema operativo di rete, analizzando inoltre le principali problematiche legate alla trasmissione dei dati in una moderna rete di calcolatori.

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Prendendo spunto dalla convergenza tra le tecnologie di elaborazione e di trasmissione delle informazioni, il corso vuole fornire una visione d'insieme delle principali problematiche di progettazione, realizzazione e gestione efficiente e sicura di un moderno sistema distribuito di rete. Dopo una breve introduzione alle tecniche di misurazione quantitativa delle risorse impiegate da un programma in fase di esecuzione e all'analisi operazionale (non statistica) dei sistemi, si prosegue lungo il percorso iniziato nel corso di Sistemi di elaborazione dell'informazione, presentando i problemi fondamentali e le principali tecniche, realizzate a livello di Sistema Operativo, relative ai seguenti aspetti dei moderni sistemi di elaborazione: esecuzione multitasking; supporto alla concorrenza, cooperazione e sincronizzazione fra thread e fra processi; gestione dell'I/O; gestione dei file; virtualizzazione di calcolatori. Verrà fornito inoltre un quadro di insieme delle principali problematiche della trasmissione dei dati e dell'architettura e dei meccanismi di una moderna rete di calcolatori basata sulla suite TCP/IP, secondo un modello a livelli di astrazione successivi, partendo dal livello applicazione (RPC, Socket, FTP, HTTP, DNS, SMTP, POP, ecc.) e scendendo fino al livello data link (Ethernet). Oltre alla mera descrizione dei protocolli, si enfatizzano le caratteristiche di affidabilità, sicurezza, e maggiore o minore facilità di gestione che derivano dalle varie scelte di progetto dei protocolli stessi.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Obiettivo del corso è far acquisire agli studenti la consapevolezza di come funziona un sistema operativo e come comunicano gli elaboratori in rete, formando professionisti che possano gestire un moderno sistema di elaborazione, intervenendo efficacemente in caso di problemi.

Modalità didattiche

Mista: Le lezioni sono svolte in forma tradizionale in aula, mentre le esercitazioni di laboratorio (a consegna obbligatoria) sono gestite mediante Aulaweb.

PROGRAMMA/CONTENUTO

l programma del corso è molto vasto, si elencano qui alcuni degli argomenti affrontati a lezion (l'ordine degli argomenti non corrisponde necessariamente alla cronologia delle lezioni).
 

Parte di sistemi di elaborazione
- panoramica storica e introduzione ai moderni sistemi operativi, basandosi sugli argomenti visti a "Sistemi di Elaborazione dell'Informazione"
- processi e thread; scheduling
- gestione e virtualizzazione della memoria
- file system
- input/output
- protezione e sicurezza.
Le tematiche di sincronizzazione e i problemi di deadlock, tipici argomenti dei corsi di sistemi operativi, verranno solo accennati perché trattati approfonditamente nel corso "Programmazione Concorrente e Algoritmi Distribuiti".

Parte di trasmissione delle informazioni
- panoramica sulle tecnologie di rete e sull'internetworking
- stratificazione dei protocolli
- qualità di servizio e caratteristiche di sicurezza dei protocolli
- lo stack di Internet, dal livello applicativo a quello di rete locale
- il Web e il protocollo HTTP
- trasferimento di file
- posta elettronica
- directory service di Internet, il protocollo DNS
- protocolli di trasporto: UDP e TCP
- protocollo IP
- livello Link e reti locali.

Sono previste delle esercitazioni, che devono essere consegnate durante il semestre e vengono valutate in sede di esame.

TESTI/BIBLIOGRAFIA

Libri utili (non indispensabili)
Per la parte di sistemi sono sostanzialmente equivalenti, e ne esista una versione italiana:
- Modern Operating Systems, 4a ed., di Andrew S. Tanenbaum e Herbert Bos
- Operating System Concepts, 9a ed., di Avi Silberschatz, Peter Baer Galvin e Greg Gagne
Inoltre:
The Linux Command Line (gratuito), di William Shotts; scaricabile da: http://linuxcommand.org/tlcl.php
Per approfondimenti:
- What Every Superuser Should Know, 2a ed., di Brian Ward
- Operating Systems: Internals and Design Principles, 8a ed., di William Stallings
- Advanced Programming in the UNIX Environment, 3a ed., di W. Richard Stevens e Stephen A. Rago
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook, di Michael Kerrisk

Per la parte di reti:
- Computer Networking, a Top-Down Approach di James F. Kurose e Keith W. Ross
 

DOCENTI E COMMISSIONI

Ricevimento: Orario di ricevimento: su appuntamento (contattare preferibilmente via email)

Ricevimento: Orario di ricevimento: su appuntamento via email

Commissione d'esame

GIOVANNI CHIOLA (Presidente)

FRANCESCO MASULLI

GIOVANNI LAGORIO

DAVIDE ANCONA

LEZIONI

Modalità didattiche

Mista: Le lezioni sono svolte in forma tradizionale in aula, mentre le esercitazioni di laboratorio (a consegna obbligatoria) sono gestite mediante Aulaweb.

ESAMI

Modalità d'esame

Esame orale dopo prova scritta di autovalutazione. L'esame orale verte sulla correzione degli esercizi di laboratorio consegnati e su tutti gli argomenti teorici visti a lezione.

Calendario appelli

Data Ora Luogo Tipologia Note
10/06/2020 10:00 GENOVA Scritto
02/07/2020 10:00 GENOVA Scritto
31/08/2020 10:00 GENOVA Scritto