Operating systems: Concurrent and distributed software design - Jean Bacon (Addison-Wesley, 2003)