2. Consider two transactions, executing the following schedule:
(Instead of writing the transactions in two columns, I'm labelling each instruction with a "timestamp" 1, 2, etc., and with it's transaction ID, T1 or T2
1. T1: read A
A1_mem = 10
2. T1: A := A+1
A1_mem = 11
3. T1: write A
A1_mem = 11, A_disk = 11
4. T2: read A
A1_mem = 11, A2_mem = 11, A_disk = 11
5. T2: A := A+1
A1_mem = 11, A2_mem = 12, A_disk = 11
6. T2: write A
A1_mem = 11, A2_mem = 12, A_disk = 12
7. T2: read B
A1_mem = 11, A2_mem = 12, B2_mem = 10, A_disk = 11
8. T2: B := B-1
A1_mem = 11, A2_mem = 12, B2_mem = 9, A_disk = 11
9. T2: write B
A1_mem = 11, A2_mem = 12, B2_mem = 9, A_disk = 11, B_disk = 9
10. T1: read B
A1_mem = 11, B1_mem = 9, A2_mem = 12, B2_mem = 9, A_disk = 11, B_disk = 9
11. T1: B := B-1
A1_mem = 11, B1_mem = 8, A2_mem = 12, B2_mem = 9, A_disk = 11, B_disk = 9
12. T1: write B
A1_mem = 11, B1_mem = 8, A2_mem = 12, B2_mem = 9, A_disk = 11, B_disk = 8