El documento describe un problema de productor-consumidor con un buffer compartido de tamaño finito. Los productores escriben en el buffer y los consumidores leen del buffer. Se requiere sincronización atómica para manipular el buffer, los índices de lectura/escritura y el contador de elementos. Los semáforos son una solución pero presentan problemas como la falta de conexión con el recurso, el uso indistinto como mutex y para coordinación, y la dificultad de usarlos correctamente.