Mobile App and Cloud
Laurea in Ingegneria delle Telecomunicazioni
Docenti
- Primo modulo: Ing. Nicola Tonellotto (webpage)
- Secondo modulo: Ing. Giovanni Nardini
Contenuti del corso
Nel primo modulo si presenta una trattazione del sistema calcolatore nel suo complesso, si introduce il repertorio delle istruzioni e i vari sottosistemi: processore, memoria e input/output. Durante le lezioni saranno discussi esempi concreti dei vari sottosistemi, analizzando le architettura x86 (standard per calcolatori processori general-purpose) e ARM (standard per calcolatori embedded).
Nel secondo modulo si introduce lo standard de-facto dei sistemi operativi moderni (Unix) dal punto di vista pratico. Verranno illustrati le basi del funzionamento di un sistema Unix e i comandi per interagire con il sistema e amministrarlo tramite la linea di comando. Verranno inoltre introdotti i principi della programmazione in ambiente Unix, con l'obiettivo di realizzare programmi che permettano di gestire file, processi, comunicazioni tra processi e tra piattaforme diverse tramite la rete.
Esercitazioni
Per svolgere le esercitazioni del secondo modulo è necessario disporre di una macchina dotata di un sistema operativo Unix o Unix-like (MacOS, Linux, ...)
In alternativa (e in ogni caso, raccomandato), è possibile utilizzare una macchina virtuale da eseguire sul proprio PC. Per farlo, è necessario:
- scaricare e installare sul proprio PC un software di virtualizzazione, per esempio Oracle VM Virtualbox;
- scaricare questa macchina virtuale pronta all'uso (contiene un'installazione di Debian 10);
- importare la macchina virtuale nel software di virtualizzazione. Per esempio, in Virtualbox, cliccare su 'File' -> 'Import Appliance...' e scegliere il file scaricato al punto 2 (file con estensione .ova).
Materiale
Le slide del secondo modulo verrano rese disponibili dal docente sul canale Microsoft Teams del corso.
Le lezioni saranno registrate e rese anch'esse disponibili su Teams dopo le lezioni stesse.
Testo di riferimento
Per il primo modulo:- David A. Patterson, John L. Hennessy - Struttura e progetto dei calcolatori - Zanichelli (quarta edizione italiana)
- W. Richard Stevens, Stephen A. Rago - Advanced Programming in the UNIX environment - Addison-Wesley (terza edizione inglese)
Modalità d'esame
L'esame e' composto da una prova orale, così strutturata:
- Una parte riguardante la programmazione in ambiente Unix, da discutere con la commissione d’esame;
- Una parte riguardante le architetture degli elaboratori, da discutere con la commissione d’esame.