[SO]
Sistemi Operativi
Anno Accademico 2015-2016
Laurea triennale in ingegneria informatica (DM 270), 3º anno, 6 cfu
Docenti
Periodo: dal 5 ottobre 2015 al 21 gennaio 2015.
Giorni della settimana, orario e aule : vedi calendario
delle lezioni pubblicato dal collegio didattico di ingegneria
informatica.
Obiettivi del corso
Gli obiettivi del corso sono di fornire
- competenze sulla struttura di un generico sistema operativo
moderno
- competenze sulla struttura di un sistema operativo Unix con
particolare riferimento al sistema Linux
- conoscenza
delle metodologie usate per risolvere le problematiche tipiche della
gestione delle risorse in un sistema operativo moderno
- abilità nel uso di una piattaforma Unix a livello utente e
amministratore
- abilità di base nello scripting Unix
- abilità di base nella programmazione di sistema
Mailing list degli avvisi relativi al corso
Tutti gli studenti si devono
iscrivere alla mailing list di avvisi tramite la quale potranno essere
avvertiti tempestivamente di eventi relativi al corso e alle attività
correlate (esami, ricevimento studenti, ecc).
http://list.dia.uniroma3.it/mailman/listinfo/so
L'archivio
degli avvisi inviati alla mailing list e' disponibile on-line.
Solo il docente può inviare messaggi, gli studenti non possono
postare messaggi alla mailing list.
Programma delle lezioni e materiale didattico
Il corso è in parte basato sul testo
Tuttavia alcuni argomenti sono trattati solo sulle slide linkate nel
programma del corso.
Per le parti pratiche non vi sono testi di riferimento e si presume che
lo studente segua le lezioni
ma la seguente documentazione può essere molto utile.
Programma delle Lezioni
Parte del materiale è adattato dal materiale distribuito da W.
Stallings. Il programma viene aggiornata man mano che il corso prosegue
con la pubblicazione delle slide
aggiornate e con eventuale cambiamento degli argomenti.
- Introduzione
al corso
- architettura
di un elaboratore, CPU, registri, esecuzione di una
istruzione, interrupt, gerarchie di memoria, localita', I/O, chiamate
di procedura
- Panoramica
sui sistemi operativi moderni: definizione di sistema
operativo, scopi, architettura a strati, kernel/user mode,
caratteristiche salienti
- processi:
dispatching, stati, descrizione e controllo, modelli tipici di sistemi
operativi e di uso della memoria nei processi
- introduzione a linux
- documentazione in linea (man, info, less), organizzazione del
filesystem, primi comandi (ls, pwd, cd, cat).
- la shell: bash, prompt, comandi interni ed esterni, help,
variabili di abiente, env, $PATH, export;
- comandi per la gestione di file e directory: touch, mv, rm,
cp, mkdir, rmdir
- editors e ambienti grafici: vi, emacs, X, window manager,
gnome, kde, kwrite, gedit
- linux: shell,
ambiente, filtri, piping
- linux: esercizi
svolti in aula
- Linux
e shell: i processi, gli stati sleeping ready/running e stopped,
terminali di controllo, standard input, output, error, I/O,
redirection, ps, top, pstree, ^C, ^Z, processi in
background, bg, fg, &, kill, kill -9, segnali
- linux: espressioni
regolari e grep
- tecniche
di gestione
della memoria centrale: allocatori di memoria, partitioning,
best/first/next fit, buddy
algorithm, paging, segmentation
- Memoria
virtuale. (parte del materiale è solo su slides),
Generalità:
process address space, page fault, trashing, policies: fetch cleaning
eviction placement, page buffering, load control, disk caching, memory
mapped files.
Hw support: paginazione, page
tables a più livelli, inverted page tables, modelli MAS e SAS, TLB,
considerazioni sulla
grandezza delle pagine, segmentazione, segmentazione paginata
Resident set management: OPT, LRU, FIFO, CLOCK,
CLOCK con bit di modifica, Aging.
Working set: definizione, comportamento in
transitorio, relazione con LRU, approssimazione mediante PFF.
- Scheduling
a
breve medio e lungo termine, algoritmi per cpu scheduling:
FCFS, RR, VRR, SPN, SRT, FB, comparazioni, linux 2.6
- linux e shell: sed
- linux e shell:
stdin, stdout, stderr, redirection (>,>>,<,<<, 2>,
2>>), esecuzione in background (&), and (&&), or
(||), time, alias, du, df, g(un)zip, b(un)zip, (un)lzma, tar
- Scripting e awk
(patterns, statements, costrutti per il controllo di flusso,
variabili, array, $0..$n, FS, RS, NR, NF, esempi d'uso).
- Esercitazione su
awk
- Disk
Scheduling, RAID
(materiale solo su slides)
- UNIX
File Management,
inode, Linux VFS, ext2
- linux filesystem: mount, stat, ln
- Debugger: gdb stepping, breakpoints, watching, backtrace.
Comandi gdb: r, quit, b, info br, help, l, n, s, dis, del, bt, frame,
c, ignore, cond, p, display.
Altro materiale per la preparazione all'esame
Esami e valutazione
Per chi intende fare l'esame è obbligatorio prenotarsi mediante il portale dello studente.
L'esame prevede una prova di laboratorio che verte sia su argomenti
di teoria sia su argomenti di pratica.
Testi della prova d'esame del 21 luglio 2016.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 22 febbraio 2016.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 24 settembre 2015.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 9 luglio 2015.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 25 febbraio 2015.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 5 settembre 2014.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 17 luglio 2014.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle. Le soluzioni
sono nel file "soluzioni.txt" accluso nel pacchetto.
Testi della prova d'esame del 3 febbraio 2014.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle. Le soluzioni
sono nel file "soluzioni.txt" accluso nel pacchetto.
Testi della prova d'esame del 5 settembre 2013.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 17 giugno 2013.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 4 febbraio 2013.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle. Le soluzioni
sono nel file "soluzioni.txt" accluso nel pacchetto.
Testi della prova d'esame del 19 luglio 2012.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle. Le soluzioni
sono nel file "soluzioni.txt" accluso nel pacchetto.
Testi della prova d'esame del 3 febbraio 2012.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle. Le soluzioni
sono nel file "soluzioni.txt" accluso nel pacchetto.
Testi della prova d'esame del 23 settembre 2011.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 8 luglio 2011.
- testo d'esame,
teoria e pratica in lab, esame basato sul sistema moodle.
Testi della prova d'esame del 16 febbraio 2011.
- testo d'esame,
teoria e pratica in lab basato sul sistema moodle, le soluzioni
sono nel pacchetto.
Testi della prova d'esame del 7 luglio 2010.
- testo d'esame,
teoria e pratica in lab basato sul sistema moodle, le soluzioni
sono nel pacchetto.
Testi della prova d'esame del 3 febbraio 2010.
- testo d'esame,
teoria e pratica in lab basato sul sistema moodle, le soluzioni
sono nel pacchetto.
Testi della prova d'esame del 15 luglio 2009.
- testo d'esame,
teoria e pratica in lab basato sul sistema moodle, soluzioni
nel file "soluzioni.txt" accluso.
Testi della prova d'esame del 25 febbraio 2009.
- testo d'esame,
teoria e pratica in lab basato sul sistema moodle, soluzioni
nel file "soluzioni.txt" accluso.
Testi della prova d'esame del 25 settembre 2008.
Testi della prova d'esame del 8 luglio 2008.
Testi della prova d'esame del 10 aprile 2008.
Testi della prova d'esame del 12 settembre 2007.
Testi della prova d'esame del 24 luglio 2007:
Testi della prova d'esame del 23 aprile 2007:
Testi della prova d'esame del 21 settembre 2006:
Testi della prova d'esame del 7 luglio 2006:
Testi della prova d'esame del 28 aprile 2006:
Testi della prova d'esame del 20 settembre 2005:
Testi della prova d'esame del 18 luglio 2005:
Testi della prova d'esame del 26 aprile 2005:
Altri riferimenti utili per approfondimenti
Collegio didattico di
Ingegneria Informatica
Questa pagina è mantenuta da Maurizio Pizzonia.