Home Page

 

Corso di Laboratorio di Sistemi Operativi A.A. 2003/2004

 

Obiettivo
Il corso ha l'obiettivo di fornire allo studente di Sistemi Operativi strumenti pratici per giungere ad una migliore comprensione del materiale proposto in tale corso, in particolare per quanto riguarda l'utilizzo da programmatore del sistema UNIX, e la programmazione concorrente.

 

Metodo
Le lezioni del corso sono costituite in prevalenza da esercitazioni guidate dal docente sui sistemi di calcolo dei Laboratori (Sistema Operativo UNIX e sue varianti, e sue principali applicazioni).

 

Programma del corso
1.

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.

2. Basi di Linguaggio C.
 
3. Programmazione di sistema:
  • controllo di processi,
  • file system,
  • comunicazione tra processi,
  • threads e multithreading.

 

Bibliografia
1. G. Glass, K. Ables, "UNIX for Programmers and Users", Prentice Hall, 2a edizione, 1999.
2. P. Cornes, "The Linux A-Z", Prentice Hall, 1997.
3. B.W. Kernighan, D.M. Ritchie, "Linguaggio C", Jackson, 2a edizione, 1989.
4. K. Haviland, D. Gray, B. Salama, "UNIX System Programming", Addison Wesley, 2a edizione, 1999.

 

Lucidi delle lezioni (formato PDF)

 

Modalità di superamento del Corso di Laboratorio

Si ricorda che per superare il corso di laboratorio è necessario svolgere i tre progetti assegnati durante le lezioni. I progetti possono essere discussi sia durante queste ultime che negli appositi appelli che verranno fissati alla fine del corso. La votazione riportata per ogni progetto potrà essere pari a A (tre punti), B (2 punti) o C (1 punto). Alla fine la media dei tre voti sarà sommata al voto riportato nella prova scritta dell'esame di Sistemi Operativi (corso di teoria). Si consiglia di svolgere i progetti in gruppi di due o tre persone (i gruppi non devono necessariamente essere gli stessi per ogni progetto). I testi dei progetti sono contenuti alla fine dei lucidi delle lezioni 9, 18 e 24.

 

Date degli appelli

I primi due appelli per la presentazione dei progetti si terranno in Laboratorio nelle date ed orari seguenti:

  • Giovedì 18 Marzo 2004 - ore 9.30
  • Lunedì 5 Aprile 2004 - ore 15.00 (variazione d'orario)
Appello straordinario (in Laboratorio 2):
  • Mercoledì 26 Maggio 2004 - ore 9.30
Appelli estivi (in Laboratorio):
  • Giovedì 15 Luglio 2004 - ore 9.30
  • Giovedì 2 Settembre 2004 - ore 9.30 (in Laboratorio 2)
Appello straordinario di novembre (Laboratorio 2):
  • Venerdì 26 Novembre 2004 - ore 9.00
Si raccomanda di inviare il codice dei progetti tramite e-mail almeno due giorni prima della data dell'appello in cui si vuole effettuare la presentazione.