I am reading about locks and mutexes in C+11 . Currently I am familiar with two basic types of locks
1-std::lock_guard
2-std::unique_lock
I am familiar with the basic differences between the two. The first one is a simple RAII version of a mutex lock and the second one is an advanced version which supports conditional locks and deferred locking.I have read on some forums mentioning certain types of locks (I am not sure which ones they talk about) that perform a Kernel call upon locking. My question is do the locks mentioned above perform a kernel call. If so what is the point of performing a kernel call ? Does that mean if a resource is locked and kernel is aware of the state of the resource no other process will be able to access that resource. I wanted to know what happens in windows / Linux ? Are the behaviours same ?