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 (16 anni fa)] – creata Stefano Chessa | informatica:sol:programma [10/10/2011 alle 17:25 (14 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 (16 anni fa) da Stefano Chessa