items for synchronisation: mutexes and counting semaphores, used for thread synchtonization, signalling from ISR to a thread and guarding shared resources,