====== Week 6 ======
~~NOTOC~~
===== Exam Reminder =====
  * Exam next week
    * review session next Mon, Oct 10
    * take-home: Mon
    * hand-in: Wed 
===== Lecture Notes =====
** Semaphores **
  * Two operations: 
    * wait(s)
      * Traditional: P(s)
      * Definition:  < await (s > 0) s = s - 1; >  
    * signal(s)
      * Traditional: V(s)
      * Definition:  < s = s + 1; >  
  * wait(s) and signal(s) work the same for binary and counting (general) semaphores
    * binary semaphore: value is always either ''1'' or ''0''
    * general semaphore: value is nonnegative
** Interleavings **
    * Formula(number of possible interleavings):
      * # interleavings = $\frac{(nk)!} {(k!)^n}$
      * where n = # processes and k = # instructions / process
** Class exercises **
  * The Bear and the Honeybees (handout) {{cs377-bear-honeybees.pdf|PDF}}
    * split binary semaphores
      * where for binary semaphores s1 and s2: 
  0 <= s1+s2 <= 1 
    * technique: pass the baton
/*******
  * The Water Molecule Problem (handout)
    * solve using counting semaphores
    * solve using a single mutex 
*******/
**Semaphores**
  * Ben-Ari Ch 6
    * slides: {{slides.pdf|PDF}}
      * begin slide 105