diff --git a/Concurrent Systems/notes/3.md b/Concurrent Systems/notes/3.md index 70ae8d5..50990ad 100644 --- a/Concurrent Systems/notes/3.md +++ b/Concurrent Systems/notes/3.md @@ -110,4 +110,10 @@ unlock() := ### Safe registers Atomic R/W and specialized HW primitives provide some form of atomicity. But is it possible to enforce MUTEX without atomicity? -A **MRMW Safe register** is a register that provides READ and \ No newline at end of file +A **MRSW Safe register** is a register that provides READ and WRITE such that: +1. every READ that does not overlap with a WRITE returns the value stored in the register +2. a READ that overlaps with a WRITE can return **any possible value** (of the register domain). + +A **MRMW Safe register** behaves like a MRSW safe register, when WRITE operations do not overlap. Otherwise, in case of overlapping WRITEs, the register can contain any value (of the register domain). + +This is the weakest type of register that is useful in concurrency. \ No newline at end of file