Sistemi operativi e reti di calcolatori
A.A. 2021/2022
Obiettivi formativi
L'insegnamento si propone di fornire agli studenti competenze nell'ambito dei moderni sistemi operativi e dei principali servizi forniti dalle reti, orientate all'acquisizione della capacità di configurare e usare il proprio sistema di calcolo e di controllare e analizzare la rete a cui esso è collegato, sfruttandone tutte le potenzialità.
Obiettivo generale è quello di rendere familiare agli studenti, anche da un punto di vista pratico, l'uso dei principali strumenti di controllo e gestione dei sistemi operativi e degli apparati di rete.
Obiettivo generale è quello di rendere familiare agli studenti, anche da un punto di vista pratico, l'uso dei principali strumenti di controllo e gestione dei sistemi operativi e degli apparati di rete.
Risultati apprendimento attesi
Per quanto riguarda i sistemi operativi, naturali risultati attesi sono:
(i) la comprensione del funzionamento del proprio sistema,
(ii) la capacità di configurarlo e gestirne il funzionamento con attenzione alle modalità di esecuzione dei programmi, alla loro condivisione con altri utenti, e all'uso del linguaggio dei comandi dello stesso sistema.
Altri risultati attesi che riguardano le reti di calcolatori sono:
(i) comprensione del funzionamento dei principali servizi e protocolli di rete,
(ii) la capacità di configurare i suddetti protocolli e di realizzare una piccola rete domestica,
(iii) capacità di verificare e controllare il corretto funzionamento e la sicurezza di un sistema di rete.
(i) la comprensione del funzionamento del proprio sistema,
(ii) la capacità di configurarlo e gestirne il funzionamento con attenzione alle modalità di esecuzione dei programmi, alla loro condivisione con altri utenti, e all'uso del linguaggio dei comandi dello stesso sistema.
Altri risultati attesi che riguardano le reti di calcolatori sono:
(i) comprensione del funzionamento dei principali servizi e protocolli di rete,
(ii) la capacità di configurare i suddetti protocolli e di realizzare una piccola rete domestica,
(iii) capacità di verificare e controllare il corretto funzionamento e la sicurezza di un sistema di rete.
Periodo: Secondo semestre
Modalità di valutazione: Esame
Giudizio di valutazione: voto verbalizzato in trentesimi
Corso singolo
Questo insegnamento non può essere seguito come corso singolo. Puoi trovare gli insegnamenti disponibili consultando il catalogo corsi singoli.
Programma e organizzazione didattica
Edizione unica
Responsabile
Periodo
Secondo semestre
In relazione alle modalità di erogazione delle attività formative per l'a.a. 2021/22, verranno date indicazioni più specifiche nei prossimi mesi, in base all'evoluzione della situazione sanitaria.
Programma
SISTEMI OPERATIVI:
· Architettura dei sistemi operativi
o driver, kernel, shell, gerarchia di memoria (cache, RAM, disco) e caratteristiche dei vari livelli
prompt dei comandi; comandi help (Windows) e man (Unix)
· Gestione unità di memoria principale e secondaria
o Formato periferiche: disco fisso, unità USB, disco esterno backup (es. time machine macOSX)
Linee guida per l'organizzazione dello spazio su disco (allocazione sistema operativo vs. dati utente archiviati)
Calcolo dimensioni partizioni dei dischi
· Gestione file system
o Struttura file system; pathname assoluti e relativi; file e cartelle rilevanti di sistema
Navigazione nelle directory → comandi per sistemi Windows (W) e Unix (U) (es. cd, pwd )
Accesso a / ricerca in contenuti file (es. comandi echo, cat, more, grep, diff, findstr, fc, comp )
Modifica caratteristiche file (es. comandi rename, modifica owner e privilegi, comandi chown, attrib, cacls )
Costruzione file system: operazioni di (u)mount
Modifica struttura file system (es. comandi mkdir, rmdir, copy, move, delete, rd )
Modifica struttura file system: comandi W/U per realizzazione link tra file (es comandi ln, mklink )
· Gestione processi
o Processi particolari di sistema; identificazione processi; modalità esecuzione
Esecuzione, generazione, uccisione processi (es. comandi fork, kill, taskkill )
Elenco processi attivi (es. comandi ps, tasklist )
Utilizzo risorse di sistema da parte dei processi (es. comandi vm_stat )
Modalità esecuzione: foreground, background, batch (es. comandi &, at, fg, bg )
o Comunicazione tra processi
Pipe, fifo, redirezione input/output (es. comandi |, >, < )
· Shell dei comandi e scripting
o Variabili di ambiente
Comandi path (U) e set (W)
o Programmazione shell: shell scripting (U); Windows scripting host (W)
Strutture for, if. Aliasing comandi.
· Gestione macchine virtuali
Installazione (VirtualBox); configurazione caratteristiche; installazione sistema operativo host; comunicazione VM ←→ macchina guest
RETI DI CALCOLATORI:
· Architettura di rete: stack TCP/IP
o File di sistema rilevanti per il funzionamento della rete
· Protocolli fondamentali
o Secure shell
Installazione ssh client su proprio PC; uso strumenti ssh per accesso a host remoto
o DNS
Ricerca risorse e servizi in rete (es. comandi host, nslookup)
o IP: schemi indirizzamento; nozioni base di instradamento
o DHCP
Configurazione indirizzo (statico o dinamico) e parametri di rete del PC
o ARP
Analisi configurazione PC (es. comandi ifconfig, arp, route )
o ICMP
Test funzionamento rete (es. ping, traceroute, tcpdump, wireshark)
· Condivisione risorse
o Configurazione stampanti condivise; active directory (W); shared folders (W)
· Configurazione apparati domestici
o Switch
Configurazione VLAN
o Router
Configurazione VPN; sicurezza: access control list (es. comando CACLS su PC)
· Architettura dei sistemi operativi
o driver, kernel, shell, gerarchia di memoria (cache, RAM, disco) e caratteristiche dei vari livelli
prompt dei comandi; comandi help (Windows) e man (Unix)
· Gestione unità di memoria principale e secondaria
o Formato periferiche: disco fisso, unità USB, disco esterno backup (es. time machine macOSX)
Linee guida per l'organizzazione dello spazio su disco (allocazione sistema operativo vs. dati utente archiviati)
Calcolo dimensioni partizioni dei dischi
· Gestione file system
o Struttura file system; pathname assoluti e relativi; file e cartelle rilevanti di sistema
Navigazione nelle directory → comandi per sistemi Windows (W) e Unix (U) (es. cd, pwd )
Accesso a / ricerca in contenuti file (es. comandi echo, cat, more, grep, diff, findstr, fc, comp )
Modifica caratteristiche file (es. comandi rename, modifica owner e privilegi, comandi chown, attrib, cacls )
Costruzione file system: operazioni di (u)mount
Modifica struttura file system (es. comandi mkdir, rmdir, copy, move, delete, rd )
Modifica struttura file system: comandi W/U per realizzazione link tra file (es comandi ln, mklink )
· Gestione processi
o Processi particolari di sistema; identificazione processi; modalità esecuzione
Esecuzione, generazione, uccisione processi (es. comandi fork, kill, taskkill )
Elenco processi attivi (es. comandi ps, tasklist )
Utilizzo risorse di sistema da parte dei processi (es. comandi vm_stat )
Modalità esecuzione: foreground, background, batch (es. comandi &, at, fg, bg )
o Comunicazione tra processi
Pipe, fifo, redirezione input/output (es. comandi |, >, < )
· Shell dei comandi e scripting
o Variabili di ambiente
Comandi path (U) e set (W)
o Programmazione shell: shell scripting (U); Windows scripting host (W)
Strutture for, if. Aliasing comandi.
· Gestione macchine virtuali
Installazione (VirtualBox); configurazione caratteristiche; installazione sistema operativo host; comunicazione VM ←→ macchina guest
RETI DI CALCOLATORI:
· Architettura di rete: stack TCP/IP
o File di sistema rilevanti per il funzionamento della rete
· Protocolli fondamentali
o Secure shell
Installazione ssh client su proprio PC; uso strumenti ssh per accesso a host remoto
o DNS
Ricerca risorse e servizi in rete (es. comandi host, nslookup)
o IP: schemi indirizzamento; nozioni base di instradamento
o DHCP
Configurazione indirizzo (statico o dinamico) e parametri di rete del PC
o ARP
Analisi configurazione PC (es. comandi ifconfig, arp, route )
o ICMP
Test funzionamento rete (es. ping, traceroute, tcpdump, wireshark)
· Condivisione risorse
o Configurazione stampanti condivise; active directory (W); shared folders (W)
· Configurazione apparati domestici
o Switch
Configurazione VLAN
o Router
Configurazione VPN; sicurezza: access control list (es. comando CACLS su PC)
Prerequisiti
Programmazione 1, Algoritmi e strutture dati
Metodi didattici
lezioni frontali
Materiale di riferimento
da definire
Modalità di verifica dell’apprendimento e criteri di valutazione
L'esame consiste di una prova scritta/pratica sull'intero programma del corso. La prova punta ad accertare le conoscenze dello studente su tutti gli aspetti della materia, sia tramite esercizi pratici sia tramite domande a risposta aperta.
Il voto dell'esame, espresso in trentesimi, considera il livello di padronanza degli argomenti, la chiarezza di esposizione, e l'appropriatezza del linguaggio tecnico.
Il voto dell'esame, espresso in trentesimi, considera il livello di padronanza degli argomenti, la chiarezza di esposizione, e l'appropriatezza del linguaggio tecnico.
Docente/i