По сути, он используется для создания экземпляра приложения singleton.
Я хочу знать, как это работает внутри и как ОС управляет этим?
Эта статья MSDN содержит некоторую информацию о базовых деталях мьютексов. В общем случае мьютекс, созданный с помощью функции Windows CreateMutex, является объектом, принадлежащим ядру, что означает, что приложение уровня пользователя должно перейти из режима пользователя в режим ядра, чтобы получить право собственности на мьютекс.
Это дает несколько советов о внутренних органах
http://msdn.microsoft.com/en-us/library/ms684266%28VS.85%29.aspx
Если вас интересуют алгоритмы, википедия - хорошая отправная точка. Если вы заинтересованы в реализации, исходный код google linux semaphore.c
Создает общесистемный объект. То, как ОС управляет этим, является скрытой деталью реализации, вы можете использовать мьютекс только через предоставляемые ОС функции (например, ReleaseMutex()).
ReleaseMutex()