Indice
Modulo: Laboratorio di Programmazione Sistema 2020/21 corsi A e B
Motto: Talk is cheap. Show me the code Linus Torvalds (2000-08-25). Message to linux-kernel mailing list.
Informazioni pratiche
- Vedi il il programma del corso per i prerequisiti ed il programma di massima.
- Docenti:
- (Corso A) Alessio Conte
- Orario Lezioni: Martedì 14:00–16:00 Venerdì 9:00–11:00
- (Corso B) Massimo Torquati Gabriele Mencagli, stanza 287/DE, Dip. Informatica
- Orario Lezioni: Martedì 14:00–16:00 Giovedì 11:00–13:00
- Ricevimento elettronico: contattate il docente per posta elettronica.
- Ricevimento tradizionale :
- (Corso A): Conte (Martedì 16:00 - 18:00)
- (Corso B): Torquati (Lunedì 16:00 - 18:00) Mencagli (Venerdì 11:00 - 13:00)
Lezioni ed esercitazioni
Vedete la pagina delle
per i materiali relativi ad ogni lezione ed esercitazione.
Link al canale MS Teams di Laboratorio: Laboratorio di Sistemi Operativi (CorsoA e Corso B)
Avvisi urgenti
Per gli avvisi urgenti controllare la pagina degli avvisi. E' possibile richiedere di essere avvisati automaticamente (via email) ogni volta che un nuovo avviso viene aggiunto alla pagina. Seguire le istruzioni indicate nella pagina stessa.
Materiale didattico
Libro di testo
Marc J. Rochkind. Advanced UNIX Programming 2nd Edition, Addison-Wesley Professional Computing Series, 2004.
Vedi anche il sito web del libro con sorgenti, esercizi e altre informazioni.
Virtual Machine (VirtualBox)
E' disponibile un disco virtuale (formato .vmdk) contenente una installazione completa di XUbuntu con tutti gli strumenti di sviluppo richiesti per il corso, che può essere fatta partire utilizzando (ad esempio) il sistema di virtualizzazione VirtualBox. Qui è possibile scaricare alcune semplici note (in formato pdf) che descrivono come creare una macchina virtuale (VM) sotto VirtualBox partendo da un disco esistente. Il disco virtuale compresso (.zip) della VM è scaricabile seguendo il link (circa 3GB !).
WSL (Utenti Windows 10)
Per Windows 10 è disponibile WSL (Windows Subsystem for Linux) che consente di utilizzare una shell linux direttamente in Windows. E' decisamente più comodo di VirtualBox per piccoli programmi, ma per assicurare la compatibilità è bene testare il progetto finale su VirtualBox prima della consegna.
- Il disco C di Windows si torvera' in /mnt/c/
- Si puo modificare la cartella iniziale della shell tramite il file “.bashrc” nella cartella home, tramite il comando:
echo "cd /mnt/c/" >> ~/.bashrc
(o in qualsiasi cartella si preferisce, as es in C:/questa/cartella/qui/ sostituendo '/mnt/c/' con '/mnt/c/questa/cartella/qui/')
- E' disponibile “sudo apt install” per installare software, come tutti gli altri comandi normalmente disponibili su Linux (e' una vera distribuzione Linux, non un emulatore)
- Va installato il compilatore 'gcc' eseguendo i comandi 'sudo apt update' e poi 'sudo apt install gcc'
- L'ambiente grafico può essere installato separatamente, ma ai fini del corso non e' necessario.
Altro materiale
- (su Unix con introduzione alla programmazione di shell) G. Glass, K. Ables. UNIX for Programmers and Users, Prentice Hall, 1999.
In particolare per la introduzione ai comandi Unix si possono consultare i capitoli 2 e 3 e per la programmazione bash servono i capitoli 4 e 5. - (su C) Kelley, Pohl. C: Didattica e Programmazione (seconda edizione), Addison-Wesley, 2004.
- Kernighan & Pike Programmazione nella pratica Addison-Wesley, 1999. ISBN 8871920724.
Un ottimo libro per migliorare lo stile di programmazione: insieme di consigli su come organizzare i programmi in modo ragionevole con esempi C e Java. - Richard W. Stevens. Advanced Programming in the UNIX Environment Addison-Wesley, 1992, ISBN 0-201-56317-7.
Il libro piu' completo e chiaro sulla programmazione con SC in ambiente Unix. - GaPiL: Guida alla Programmazione in Linux
- Guida avanzata di scripting Bash, la guida piu' completa e aggiornata sulla bash (versione in Italiano).
- Un sito di 'sommari' (quick references) su tutto!
- Manuali in linea delle funzioni di libreria standard e delle SC: man nomefunzione man -k argomento
- Altre informazioni in linea (bash, make tec.) ESC-X info da emacs.
- Il sito di riferimento per le specifiche standard di tutte le funzioni SC e librerie Open Group SUS (Single Unix Specification). E' gratuito (basta registrarsi).
- Confronto fra bash e dash: trasparenze con le differenze principali
Esame
L'esame prevede lo svolgimento di un progetto con relativa discussione. Si ricorda che per sostenere l'esame (sia teoria che laboratorio) e' INDISPENSABILE iscriversi entro la data prevista per l'appello, anche se si deve sostenere solo la parte di laboratorio. Il testo del progetto e le informazioni per la consegna sono reperibili nella pagina ufficiale del progetto.
Comments
Per tutto il resto mandate una email ai docenti.