@Mike, ZanLynx:
With cooperating processes, one can come with very elaborate shared memory synchronization, including a shared memory equivalent of CRITICAL_SECTION.
But a KMUTANT solves the generic problem of synchronization for different processes, even across the security boundary, which is not possible with shared memory. It also solves the priority inversion problem, which CRITICAL_SECTION and equivalents don't do.