Laboratorio Software: Novità

Quest'area è dedicata agli aggiornamenti relativi al corso di Laboratorio Software.

Comunicazione fra processi

Nella lezione del 30/10 e nell'esercitazione del 6/11 abbiamo visto i meccanismi di comunicazione fra processi.

In particolare:

  • Segnali
  • Semafori (System V)
  • Pipe
  • Fifo/Named pipe
  • Message queues
  • Socket
  • Shared Memory:
    • POSIX
    • System V
    • BSD mmap

Qui e nel libro di esercitazioni trovate i programmi visti nelle esercitazioni.

Nell'esercitazione del 6/11, abbiamo anche parlato del ''procfs'', uno pseudo-file system che fornisce informazioni utili sui processi e sul sistema in generale.

Processi, Thread e procfs

Nell'esercitazione del 26/10, abbiamo visto in pratica come creare, distruggere e interagire con processi e thread. In particolare, abbiamo visto:

  • Creazione di nuovi processi (fork)
  • Sostituzione del programma in esecuzione con uno diverso (execve e sue varianti)
  • Attesa per la terminazione del processo figlio (wait)
  • Uso dei segnali, in particolare SIGCHLD e SIGUSR1/SIGUSR2, e l'installazione dei gestori (handler) attraverso la funzione sigaction
  • Creazione e gestione dei thread POSIX (pthread_create, pthread_join, pthread_setdetachstate, etc.)
  • Definizione e uso di mutex e condition variable nei thread POSIX
  • Definizione e uso di risorse private nei thread POSIX

Sincronizzazione e Mutua Esclusione

Nella lezione del 10/10, vedremo come il sistema operativo consenta la sincronizzazione fra i processi, e l'accesso in mutua esclusione alle risorse.

Shell scripting

Nella lezione del 28/10, abbiamo studiato la shell Bash ed il relativo linguaggio. In particolare, abbiamo visto la gestione delle variabili e dei parametri, le strutture di controllo (cicli, condizionali, select) e le funzioni.

Fate riferimento al manuale di Bash online o nel vostro sistema (man bash) per i dettagli, oltre alla Advanced Bash Scripting Guide che trovate qui.

Inoltre, qui trovate gli esempi visti a lezione. Usate tpp per vedere le slide!

· 2007/10/16 19:03 · Giovanni Agosta

Scheduling

Nella lezione del 12/10 abbiamo visto come i processi vengono gestiti dall'OS, in funzione del tipo di processo. I processi possono infatti essere divisi in:

Sono state quindi sviluppate varie strategie di scheduling. In particolare, abbiamo visto:

Notate che SRT viene normalmente impiegato usando l'ultimo burst time come priorità al posto della stima del tempo di esecuzione usata nello SPF.

· 2007/10/12 16:56 · Giovanni Agosta
teaching/labsw/blog.txt · Last modified: 2007/09/13 16:49 by agosta
Recent changes RSS feed Creative Commons License Donate Driven by DokuWiki