El documento describe los semáforos, que son variables especiales utilizadas para sincronizar procesos concurrentes y garantizar el acceso ordenado a recursos compartidos. Fueron inventados por Edsger Dijkstra en 1965 para sistemas operativos multiprocesamiento. Existen dos tipos principales de semáforos: semáforos de contador y semáforos de espera. Los semáforos permiten sincronizar procesos de forma más eficiente que otras estructuras como variables compartidas.