October 2017
Intermediate to advanced
586 pages
14h 8m
English
Locking is a mechanism that helps shares resources between different threads or processes. A shared resource is data or a device that can be accessed by at least two users, simultaneously or not. Locking mechanisms prevent abusive access, for example, a process writing data when another one is reading in the same place, or two processes accessing the same device (the same GPIO, for example). The kernel provides several locking mechanisms. The most important are:
We will only learn about mutexes and spinlocks, since they are widely used in device drivers.