Salta al contenuto principale
CODICE 80300
ANNO ACCADEMICO 2026/2027
CFU
SETTORE SCIENTIFICO DISCIPLINARE INF/01
LINGUA Italiano
SEDE
  • GENOVA
PERIODO 1° Semestre

PRESENTAZIONE

Lo scopo di questo corso è in primo luogo imparare come funzionano i sistemi operativi e come amministrarli e interagire con essi, e in secondo luogo esaminare i meccanismi utilizzati per creare reti di calcolatori che comunicano tra loro e imparare a sfruttarle tramite la programmazione. 

L'insegnamento ha una parte di teoria in classe e una serie di laboratori. 

OBIETTIVI E CONTENUTI

OBIETTIVI FORMATIVI

Apprendere i principi e le metodologie alla base degli attuali sistemi operativi e reti di calcolatori.

OBIETTIVI FORMATIVI (DETTAGLIO) E RISULTATI DI APPRENDIMENTO

Al termine dell'insegnamento lo studente/la studentessa sarà in grado di:

  • Interagire con il sistema operativo tramite line di comando 
  • Descrivere il funzionamento dei file system  
  • Usare le primitive di sistema 
  • Spiegare l'uso della memoria  
  • Configurare un sistema operativo 
  • Descrivere le principali architetture di rete  
  • Spiegare il funzionamento dei protocolli di rete IP, TCP, DHCP, DNS  
  • Analizzare i pacchetti dati basati su TCP/IP  
  • Implementare reti di calcolatori che comunicano tramite socket (sia UDP e TCP)  
  • Implementare sistemi multi-threaded  
  • Riconoscere i rischi dovuto all'uso della concorrenza 

PREREQUISITI

  • Familiarità con il linguaggio C/C++ 
  • Conoscenza dell'architettura dei calcolatori 

MODALITA' DIDATTICHE

  • Lezioni frontali di teoria (52 ore) 
  • Esercitazioni di laboratorio (28 ore) 
  • Progetto 

PROGRAMMA/CONTENUTO

  • Uso della shell 
  • Linguaggi di scripting 
  • Amministrazione di sistema 
  • Nozioni di base relative alla sicurezza nei sistemi operativi  
  • Tipologie di reti  
  • Trasmissione dell'informazione  
  • Protocolli Ethernet, WiFi, IP, TCP ed UDP 
  • Primitive di sistema 
  • Gestione della memoria 
  • Input/Output e sistema di file 
  • Programmazione con i socket 
  • Programmazione concorrente di base 

TESTI/BIBLIOGRAFIA

  • Lucidi e note del docente messe a disposizione su Aulaweb 
  • Materiale online 
  • Operating system concepts – Abraham Silberschatz, Peter Baer Galvin, Greg Gagne 
  • Operating Systems: Three Easy Pieces -- Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau (https://ostep.org
  • Reti di calcolatori - Tanenbaum, Wetherall 
  • https://beej.us/guide/ 

DOCENTI E COMMISSIONI

LEZIONI

INIZIO LEZIONI

In accordo con il calendario didattico approvato dal Consiglio dei Corsi di Studio in Informatica: https://corsi.unige.it/corsi/8759/studenti-orario

Orari delle lezioni

L'orario di questo insegnamento è consultabile all'indirizzo: Portale EasyAcademy

ESAMI

MODALITA' D'ESAME

L'esame consiste in un quiz, in una prova scritta e in un progetto di programmazione da presentare durante un orale. Per poter sostenere la prova scritta è necessario avere superato il quiz. Per poter discutere il progetto è necessario aver superato la prova scritta.  

Indicazioni per studenti con certificazione di DSA, di disabilità o di altri bisogni educativi speciali sono disponibili a partire da https://corsi.unige.it/corsi/8759/studenti-disabilita-dsa

 

MODALITA' DI ACCERTAMENTO

La prova scritta verifica la conoscenza delle principali nozioni teoriche presentate a lezione e la capacità dello studente di applicarle agli esercizi proposti. Il progetto approfondisce la verifica che lo studente sia in grado di metterli in pratica tramite la programmazione.  

ALTRE INFORMAZIONI

Per ulteriori informazioni, consultare il modulo Aulaweb dell'insegnamento o contattare il docente.