Ti trovi in: Home > Corsi > Corso di Laboratorio di Sistemi Operativi
Obiettivi
Il corso ha l'obiettivo di fornire allo studente di Sistemi Operativi strumenti pratici per giungere ad una migliore comprensione degli argomenti esposti in tale corso, in particolare per quanto riguarda l'utilizzo da programmatore e amministratore di sistema del sistema operativo Linux, e la programmazione concorrente
TUTTE LE INFORMAZIONI E IL MATERIALE DEL CORSO SONO SCARICABILI DAL SITO otello.sc.unica.it/didattica/lso
Programma
1. Introduzione ai SO (Richiami di architetture di elaborazione, interfaccia HW-SW)
1a. Processori, HW-SW interface
1b. Monoprogrammazione
1c. Funzionalità base del SO
2. Introduzione all'uso del sistema operativo Linux (alfabetizzazione)
2a. Installazione, introduzione alla command line, gestione base di file e directory (teoria + esercitazione)
2b. Gestione avanzata di file e directory, editor di testo (teoria + esercitazione)
2c. Configurazione del sistema, controllo del sistema da shell, Gestione dei drive (mount). Gestione della configurazione di rete. Demoni (crond). (teoria + esercitazione)
2d. Comandi avanzati, espressioni regolari. (teoria + esercitazione)
3. Bash Programming
3a. (teoria + esercitazione)
4. Introduzione alla programmazione di sistema in ambiente Linux
5. Processi e comunicazione base fra i processi (Richiami di teoria ed esempi pratici in ambito Linux)
6. Threads e programmazione concorrente (Richiami di teoria ed esempi pratici in ambito Linux)
7. Inter Process Communication (Richiami di teoria ed esempi pratici in ambito Linux)
8. I socket
9. L'interfaccia del file system (Richiami di teoria ed esempi pratici in ambito Linux)
10. .....
Le propedeuticità sono:
Fondamenti di informatica
Programmazione
Strutture dati
Testi consigliati
Slides delle lezioni, scaricabili dal sito del laboratorio di embedded software: otello.sc.unica.it/didattica/lso
Sistemi operativi - H. Deitel, P. Deitel, D. Choffnes - III edizione - Ed. Pearson
Manuali RedHat 9: http://www.redhat.com/docs/manuals/linux/
Bash e shell scripting:
Guida avanzata di Bash-Scripting: http://www.pluto.linux.it/ildp/guide/abs/index.html
Programmazione di sistema:
1) GAPIL (in italiano, ponderosa): http://gapil.firenze.linux.it/stampa.html
2) Advanced Unix Programming with Linux http://advancedlinuxprogramming.com