informatica:sol:programma
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Prossima revisione | Revisione precedente | ||
| informatica:sol:programma [10/09/2009 alle 07:49 (17 anni fa)] – creata Stefano Chessa | informatica:sol:programma [10/10/2011 alle 17:25 (15 anni fa)] (versione attuale) – Piero Maestrini | ||
|---|---|---|---|
| Linea 22: | Linea 22: | ||
| * Archivi e sistema di archiviazione | * Archivi e sistema di archiviazione | ||
| * Sistemi reali: Unix/Linux, Windows | * Sistemi reali: Unix/Linux, Windows | ||
| - | * Problematiche dei sistemi distribuiti | ||
| * Programmazione in C di sistemi UNIX/Posix | * Programmazione in C di sistemi UNIX/Posix | ||
| - | ===== Programma | + | ==== Modulo 1: Sistemi Operativi ==== |
| Linea 80: | Linea 79: | ||
| * Il file system di Windows | * Il file system di Windows | ||
| - | ===== Modulo 2: Laboratorio | + | ==== Modulo 2: Laboratorio ==== |
| - | • Strumenti per la programmazione C in ambiente GNU (e dintorni) (2h lez + 2h ese) | + | Strumenti per la programmazione C in ambiente GNU (e dintorni) (2h lez + 2h ese) |
| - | o compilazione e linking | + | |
| - | o suddivisione di un programma in moduli: gestione(make) e archiviazione (ar) | + | |
| - | o debugging | + | |
| - | o cenni ad altri tool | + | |
| - | • Unix e la shell (6h lez + 6h ese) | + | |
| - | o Unix: concetti di base, comandi/ | + | |
| - | o La shell di Unix | + | |
| - | introduzione alla shell | + | |
| - | cenni agli script | + | |
| - | personalizzazione con alias ed opzioni e variabili | + | |
| - | espansione (alias, storia, tilde, percorso, variabili, sostituzione di comando, espressioni aritmetiche) | + | |
| - | quoting | + | |
| - | Controllo dell' | + | |
| - | Exit status | + | |
| - | Combinare comandi | + | |
| - | pipe | + | |
| - | sequenza non condizionale | + | |
| - | sequenze condizionali &&, || | + | |
| - | comandi composti (uso di {…} e (…) ) | + | |
| - | Operatori su stringhe (pattern matching) | + | |
| - | Costrutti di controllo | + | |
| - | condizionale (if) e test | + | |
| - | iterazione limitata (for) | + | |
| - | scelta multipla (case) | + | |
| - | iterazione illimitata (while e do/while) | + | |
| - | menu' | + | |
| - | • C e la programmazione di sistema (1h lez) | + | |
| - | o cos' | + | |
| - | o gestione sistematica degli errori | + | |
| - | o consigli pratici di programmazione | + | |
| - | o convenzioni e commenti | + | |
| - | • I file (2h lez + 2 h ese) | + | |
| - | o concetti base dei FS Unix | + | |
| - | o operazioni di base (open, read, write, close, lseek) | + | |
| - | o link: concetti e system call per la gestione | + | |
| - | o manipolare e accedere alle informazioni sui file (stat, fcntl, ioctl) (brevi cenni) | + | |
| - | o gestione delle directory (opendir, | + | |
| - | o duplicazione di descrittori (dup e dup2) | + | |
| - | • I processi (2h lez + 2h ese) | + | |
| - | o il modello fork/exec | + | |
| - | o gestione dei figli (wait), exit status | + | |
| - | o atexit(), _atexit() | + | |
| - | • I thread (3h lez + 4h ese) | + | |
| - | o i modello a thread | + | |
| - | o creazione e distruzione | + | |
| - | o mutex e variabili di condizione | + | |
| - | o soluzione ti tipici problemi di concorrenza | + | |
| - | • Maccanismi di IPC : Pipe (2h lez + 2h ese) | + | |
| - | o Pipe anonime | + | |
| - | o Pipe con nome (FIFO) | + | |
| - | • Maccanismi di IPC : Socket (2h lez + 2h ese) | + | |
| - | o Modello client-server | + | |
| - | o Socket per comunicazione locale (AF_UNIX) | + | |
| - | o Socket per comunicazione in rete (AF_INET) | + | |
| - | • Segnali (2h lez + 2h ese) | + | |
| - | o Concetti generali: eventi asincroni, gestori di eventi | + | |
| - | o Ignorare, gestire, mascherare ed attendere i segnali | + | |
| - | o Segnali, processi e thread | + | |
| + | Unix e la shell (6h lez + 6h ese) | ||
| + | * Unix: concetti di base, comandi/ | ||
| + | * La shell di Unix: | ||
| + | * introduzione alla shell | ||
| + | * cenni agli script | ||
| + | * personalizzazione con alias ed opzioni e variabili | ||
| + | * espansione (alias, storia, tilde, percorso, variabili, sostituzione di comando, espressioni aritmetiche) | ||
| + | * quoting | ||
| + | * Controllo dell' | ||
| + | * Exit status | ||
| + | * Combinare comandi | ||
| + | * pipelining | ||
| + | * sequenza non condizionale | ||
| + | * sequenze condizionali &&, || | ||
| + | * comandi composti (uso di {…} e (…) ) | ||
| + | * Operatori su stringhe (pattern matching) | ||
| + | * Costrutti di controllo : | ||
| + | * Read, exec, eval | ||
| + | C e la programmazione di sistema (1h lez) | ||
| + | * cos' | ||
| + | * gestione sistematica degli errori | ||
| + | * consigli pratici di programmazione | ||
| + | * convenzioni e commenti | ||
| - | Ore lezione: 30 Ore esercitazione: | + | I file (2h lez + 2 h ese) |
| + | * concetti base dei FS Unix | ||
| + | * operazioni di base (open, read, write, close, lseek) | ||
| + | * link: concetti e system call per la gestione | ||
| + | * manipolare e accedere alle informazioni sui file (stat, fcntl, ioctl) (brevi cenni) | ||
| + | * gestione delle directory (opendir, | ||
| + | * duplicazione di descrittori (dup e dup2) | ||
| - | Bibliografia | + | I processi (2h lez + 2h ese) |
| + | * il modello fork/exec | ||
| + | * gestione dei figli (wait), exit status | ||
| + | * atexit(), _atexit() | ||
| - | Libro di testo | + | I thread (3h lez + 4h ese) |
| + | * i modello a thread | ||
| + | * creazione e distruzione | ||
| + | * mutex e variabili | ||
| + | * soluzione ti tipici problemi di concorrenza | ||
| - | • Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari: Sistemi Operativi (Seconda Edizione), Mc Graw-Hill, 2008. | + | Maccanismi di IPC : Pipe (2h lez + 2h ese) |
| + | * Pipe anonime | ||
| + | * Pipe con nome (FIFO) | ||
| + | |||
| + | Maccanismi di IPC : Socket (2h lez + 2h ese) | ||
| + | * Modello client-server | ||
| + | * Socket per comunicazione locale (AF_UNIX) | ||
| + | * Socket per comunicazione in rete (AF_INET) | ||
| + | |||
| + | Segnali (2h lez + 2h ese) | ||
| + | * Concetti generali: eventi asincroni, gestori di eventi | ||
| + | * Ignorare, gestire, mascherare ed attendere i segnali | ||
| + | * Segnali, processi e thread | ||
| + | |||
| + | |||
| + | Ore lezione: 52 Ore esercitazione: | ||
| + | |||
| + | |||
| + | ===== Bibliografia ===== | ||
| + | |||
| + | Libri di testo | ||
| + | |||
| + | * Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari: Sistemi Operativi (Seconda Edizione), Mc Graw-Hill, 2008. | ||
| + | * Marc J. Rochkind. Advanced UNIX Programming 2nd Edition, Addison-Wesley Professional Computing Series, 2004. | ||
| Altri Testi Consigliati: | Altri Testi Consigliati: | ||
| - | • Andrew S. Tanenbaum. I Moderni Sistemi Operativi. | + | * Andrew S. Tanenbaum. I Moderni Sistemi Operativi |
| - | • Andrew S. Tanenbaum. Modern Operating Systems (Third Edition). Pearson-Prentice Hall, 2008 | + | |
| - | • A. Silbershatz, | + | |
| - | • U | + | |
informatica/sol/programma.1252568988.txt.gz · Ultima modifica: 10/09/2009 alle 07:49 (17 anni fa) da Stefano Chessa
