Os semáforos são utilizados em sistemas operacionais e permitem controlar o acesso a recursos compartilhados. Uma das suas características essenciais é a atomicidade, que garante que
haja a preservação do valor do semáforo mesmo em casos de reinicialização do sistema.
o valor máximo que um semáforo possa receber nunca seja ultrapassado.
uma vez terminado o uso de um semáforo, ele seja restaurado em suas características originais para uso futuro.
uma vez iniciada uma operação de um semáforo, nenhum outro processo pode ter acesso a ele até que essa operação tenha acabado ou tenha sido bloqueada.
as operações relacionadas aos semáforos possam ser executadas com segurança, mesmo que tenham que ser interrompidas antes dos respectivos términos.