Deadlock | Glossary

Definition:

Deadlock is a situation wherever a collection of processes are blocked because every process is holding a resource and waiting for another resource acquired by another process.

Consider an example when 2 trains are coming toward one another on same track and there’s only 1 track, none of the trains can move once they’re in front of each other. Similar situation occurs in operating systems when there are 2 or a lot of processes hold some resources and wait for resources held by other.

Further Reading:

Book: Patterns of Enterprise Application Architecture by Martin Fowler .  

 

Liveness | Glossary

Definition:

In concurrent computing, liveness refers to a set of properties of concurrent systems, that need a system to make progress despite the fact that its at the same time executing components may need to”take turns” in critical sections, parts of the program that can’t be at the same time run by multiple processes. liveness guarantees important properties in operating systems and distributed systems.

Further Reading:

Book: Patterns of Enterprise Application Architecture by Martin Fowler .