The possible sCPUi events are: timer interrupts (TEvi), watchdog timer (WDEvi), two interrupts used for preventive signaling of the deadline (D1Evi and D2Evi), attached interrupts (IntEvi), mutexes
used for handling shared resources (MutexEvi), synchronization and inter-task communication events between sCPUi (SynEvi), self-sustaining execution information for the current sCPUi (lr_run_sCPUi).
Paul Stallings, PhD., Vice President of Development at Kubotek, and Chief Architect of the KCM geometric modeler, compares mutexes
to the classic gas station bathroom key: Imagine a service station that serves hundreds of travelers per day, and in that service station, there is only one restroom available.
An alternative option to semaphore is the mutexes
guard accesses to common resources or protect particular sequences so that they cannot be interrupted.
* Complex problems can be solved without requiring traditional synchronization tools, such as mutexes
and condition variables.
Eraser is, however, restricted to the use of mutexes
as synchronization operations, and it is too conservative: it also returns false positives.
O'Caml includes support for concurrency through threads and mutexes
(although applets do not support the use of threads) and class-based object orientation through an extension of the typing discipline.
The basic local synchronization primitives are semaphores, mutexes
, and multiple reader/single-writer locks.
* crTRi[0:3][31:0] memorizes the events validated or inhibited by the wait nHSE instruction, one bit for each of the seven events (from right to left, the events generated by the timer, by the watchdog, by deadline 1 and deadline 2, by interrupts, mutexes
and synchronizing events, are validated (1) or inhibited (0)).
1) With highly optimized instrumentation and analysis, LDRA aggregates the coverage data across the various processors in the multicore system without the typical overhead of mutexes
. This approach avoids the deadlocks caused by other verification tools and technologies.
Tables include information about current events, historical events, files, mutexes
, timers, read/write locks and threads.