The various synchronization techniques at kernel level are-
Semaphore
Completions
Spinlock
in semaphore we use system calls- up and down
before entering into critical section the integer semaphore value is decremented by using down and it is incremented using call up after critical section.
Completion is another kernel level synchronization technique that has advantage over semaphore that it is light weight operation. It does not require any weight queue…….the calls used in completion are- wait_for_copmletion and complete and also complete_all.
Spinlock is used in process that cannot sleep such as interrupt handler. In spinlock execution in critical section is atomic,non_interruptable.The calls used in spinlock are spin_lock and spin_unlock.