Semafori e Monitor in C

From Sistemi Operativi
Revision as of 09:17, 17 October 2017 by Renzo (talk | contribs) (Created page with "Ho messo a vostra disposizione alcuni sorgenti che implementano in C le astrazioni di semaforo e monitor come le abbiamo viste (o vedremo presto) a lezione. Ho messo il mater...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Ho messo a vostra disposizione alcuni sorgenti che implementano in C le astrazioni di semaforo e monitor come le abbiamo viste (o vedremo presto) a lezione.

Ho messo il materiale in questo file.

La directory comprende:

  • un Makefile
  • tlist.[ch] un modulo di implementazione di liste circolari di thread_id (usate per gestire i processi bloccati). Le liste possono essere usate come code o stack.
  • suspend.[ch] è il modulo che implementa la sospensione e riattivazione dei pthread (usando il segnale SIGUSR1).
  • semaphore.[ch] implementazione dei semafori fair
  • monitor.[ch] implementazione dei monitor (con semantica signal urgent per le variabili di condizione).
  • prod_cons.c esempio: produttore consumatore con i semafori
  • bounded_buf.c esempio: bounded_buffer con i semafori
  • bounded_buf_mon.c esempio: bounded buffer con i monitor
  • philo.c: cena dei filosofi (la soluzione è volutamente errata e può generare deadlock)