Zaimplementuj semafor binarny. Załóż, że dostępne są następujące operacja na kolejkach procesów:
add_to_queue
remove_first
empty
Rozważ następujące warianty systemów:
system jednoprocesorowy
system wieloprocesorowy
struct semaphore{ ... }; void semaphore_init(struct semaphore *s); void semaphore_lock(struct semaphore *s); void semaphore_unlock(struct semaphore *s);