From: Srinu on
Dear All,

Please suggest a good book that teaches in great details about the
theories behind the followings.

1. shared memory concurrent systems.
2. message passing concurrent systems.
3. mutual exclusion.
4. synchronization.
5. safety property.
6. liveness property.
7. fairness property.
8. systems with code interleaving (virtual concurrency).
9. systems with no code interleaving (true concurrency).
10. atomic operations.
11. critical sections.
12. how to code a concurrent system (about programming language
constructs available for it).
13. how to mathematically proof the properties.
14. how to mechanically verify the properties.
15. blocking synchronization.
16. non-blocking synchronization.
17. lock-freedom.
18. wait-freedom.
19. deadlock-freedom.
20. starvation-freedom.
21. livelock-freedom.
22. obstruction-freedom.

Not only the concepts but also that teaches with very simple
mathematical treatment; axiomatic or linear temporal logic.

Many of the books I came across are either emphasize one or two topic
or just provides a conceptual treatment, without mentioning how to
code a concurrent system, check if it is mathematically or manually
correct.

Please suggest any book or paper where these topics are
comprehensively covered in great details. Better if all these are
under a single cover that will be easy to understand under the roof of
a unifying theory.

Survey papers of these are also welcome.


With regards,
Srinivas Nayak