Semaphores diguankan untuk melindungi struktur data dan wilayah kode yang kritis.

struct semaphore {
    int count;
    int waking;
    int lock ;                /* to make waking testing atomic */
    struct wait_queue *wait;
};

Sumber : tldp.org