Assumption - Atomic Operations
We will synchronize Reads and Writes.
We must therefore assume they’re atomic
- else we’d have to synchronize the finer-grained operations that implement Read and Write
Read(x) - returns the current value of x in the DB
Write(x, val) overwrites all of x (the whole page)
This assumption of atomic operations is what allows us to abstract executions as sequences of reads and writes (without loss of information).
- Otherwise, what would wk[x] ri[x] mean?