Extended semaphores systems such as in UNIX System V are a powerful extension of Dijkstra's semaphores, They allow efficient solutions to a number of classic synchronization problems. UNIX semaphore operations appear to be insufficiently well defined, in particular when a semaphore is repeated in an operator. This results in several solutions relying on assumed properties, A new semaphore operator, isem, based on extended semaphore operators is introduced. The operator isem is clearly defined, can be implemented efficiently, and yields simple solutions to many classic synchronization problems. Copyright (C) 2000 John Wiley & Sons, Ltd.