Docenti
Programmazione e laboratorio
quelle di laboratorio sono tenute in laboratorio in modo da permettere agli studenti di sperimentare direttamente e di mettere in pratica le nozioni introdotte dal docente.
Conoscenza e capacità di comprensione: lo studente acquisisce conoscenze specifiche sull’architettura, il funzionamento e sui principi di progettazione di un moderno sistema operativo. Egli inoltre impara a valutare ed a scegliere l’adozione di un sistema operativo a seconda dell’ambito di utilizzo e delle caratteristiche dell’hardware.
Conoscenza e capacità di comprensione applicate: grazie all’attività di laboratorio, lo studente acquisisce specifiche capacità di applicare a casi reali le conoscenze maturate sui sistemi operativi.
Capacità trasversali/soft skills
Autonomia di giudizio: lo studente acquisisce una capacità di valutazione critica sulle tecnologie, gli algoritmi e le soluzioni che possono influire positivamente o negativamente sulle prestazioni e sul corretto funzionamento di un sistema operativo in diversi contesti applicativi.
Abilità comunicative: lo studente impara a descrivere in modo tecnicamente corretto ed usando la terminologia appropriata un sistema operativo.
Capacità di apprendimento: lo studente impara ad essere autonomo nell’espandere le proprie conoscenze sui sistemi operativi oltre le nozioni e gli esempi appresi ed analizzati durante il corso, scoprendo e sfruttando anche le connessioni con altri corsi riguardanti l’architettura dei calcolatori, le reti ed i sistemi distribuiti.
Laboratorio: il sistema Operativo UNIX: struttura, interfaccia utente, varianti (Solaris, Linux). La shell UNIX: – ruolo e varianti, – procedura di login, – organizzazione del file system, – manuale online, – la shell bash: espansione del pathname, ridirezione del I/O, pipe, job in background, il comando history, editing della linea di comando, completamento di comandi, – gli editor vi e (X)Emacs, – il comando make. Comandi principali della shell: – gestione di file, – gestione di processi, – monitoraggio della memoria, – comandi filtro: ricerca, ordinamento, editing. Shell script: – variabili, – passaggio dei parametri, – strutture di controllo, – login script. Basi di Linguaggio C. Programmazione di sistema: – controllo di processi, – file system, – comunicazione tra processi, – threads e multithreading.
Trasparenze usate in aula dal docente
A. Silberschatz, P.B. Galvin, G. Gagne, Sistemi operativi (ottava ed.). Pearson, 2009.
A. Tanenbaum, I moderni sistemi operativi (quarta ed.). Pearson (Prentice Hall), 2016.
Laboratorio:
R. Blum, C. Bresnahan. Linux Command Line and Shell Scripting Bible, 2nd Edition, Wiley, 2011.
I G. Glass, K. Ables. UNIX for Programmers and Users, Prentice Hall, 2a edizione, 1999.
I B.W. Kernighan, D.M. Ritchie. Linguaggio C, seconda edizione, 1989.
I K. Haviland, D. Gray, B. Salama. UNIX System Programming, Addison Wesley, seconda edizione, 1989.
Università degli Studi di Udine
Dipartimento di Scienze Matematiche, Informatiche e Fisiche (DMIF)
via delle Scienze 206, 33100 Udine, Italy
Tel: +39 0432 558400
Fax: +39 0432 558499
PEC: dmif@postacert.uniud.it
p.iva 01071600306 | c.f. 80014550307
30 km from Slovenia border
80 km from Austria border
120 km from Croatia border
160 km South West of Klagenfurt (Austria)
160 km West of Lubiana (Slovenia)
120 km North East of Venezia (Italy)