Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π°Π΄ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠΌΠ΅ΡΡΠ°Ρ Π½Π°ΡΠ°Π»ΠΎ ΠΈ ΠΊΠΎΠ½Π΅Ρ
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΠΎ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ. ΠΠΊΠΎΠ½ΡΠ°Π½ΠΈΠ΅ΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΡΠΈΠΊΡΠ°ΡΠΈΡ, commit) Π»ΠΈΠ±ΠΎ ΠΎΡΠΌΠ΅Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (ΠΎΡΠΊΠ°Ρ, rollback). ΠΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊ ΠΠ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΡΡΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΡΡΠ°ΠΊΡΡΡΡΡΡ ΠΊΠ°ΠΊ Π΅Π΄ΠΈΠ½ΡΠΉ Π·Π°ΠΏΡΠΎΡ.
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠ΄ΠΎΠ²Π»Π΅ΡΠ²ΠΎΡΡΡΡ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΠΌ ACID
ΠΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡ. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π»ΠΈΠ±ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π»ΠΈΠ±ΠΎ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ Π²ΠΎΠ²ΡΠ΅.
Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ. ΠΡΠΈ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ Π½Π°ΡΡΡΠ΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π΅ΠΌΡΠ΅ Π½Π° Π΄Π°Π½Π½ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ constraints Π² ΠΠ). Π‘ΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ, ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΡΠΎΡΠ½ΠΈΡ Π² Π΄ΡΡΠ³ΠΎΠ΅ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΠ΅.
ΠΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΡ. ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²Π»ΠΈΡΡΡ Π΄ΡΡΠ³ Π½Π° Π΄ΡΡΠ³Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠ΅Π½ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π΄ΡΡΠ³Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ. Π Π΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΡΠ°ΠΊΠΈΠΌ, ΠΊΠ°ΠΊ Π΅ΡΠ»ΠΈ Π±Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ»ΠΈΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ.
Π£ΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ. ΠΠΎΡΠ»Π΅ ΡΠΈΠΊΡΠ°ΡΠΈΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΡΡΠ΅ΡΡΠ½Ρ.
ΠΡΡΠ½Π°Π» ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ
ΠΡΡΠ½Π°Π» Ρ ΡΠ°Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡ ΠΈ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ»ΡΡΠ°Π΅ ΡΠ±ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΡ
ΠΡΡΠ½Π°Π» ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π»ΠΈ Π΄ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ. Write-ahead log strategy ΠΎΠ±ΡΠ·ΡΠ²Π°Π΅Ρ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π² ΠΆΡΡΠ½Π°Π» Π·Π°ΠΏΠΈΡΡ ΠΎ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡΡ Π΄ΠΎ Π½Π°ΡΠ°Π»Π°, Π° ΠΎ ΠΊΠΎΠ½Π΅ΡΠ½ΡΡ ΠΏΠΎΡΠ»Π΅ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. Π ΡΠ»ΡΡΠ°Π΅ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎΠΉ ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ ΠΠ ΡΠΈΡΠ°Π΅Ρ Π»ΠΎΠ³ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ. ΠΡΡΡΠ΅ΡΠΈΠ² ΠΏΡΠ΅ΡΠ²Π°Π½Π½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΠ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π΅ ΠΈ Π²Π½ΠΎΡΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΎ Π½Π΅ΠΉ Π² ΠΆΡΡΠ½Π°Π». ΠΠ°Ρ ΠΎΠ΄ΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠ±ΠΎΡ, ΠΠ ΡΠΈΡΠ°Π΅Ρ Π»ΠΎΠ³ Π² ΠΏΡΡΠΌΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΄Π΅Π»Π°Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ Π·Π°ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Ρ ΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΡΡΡ ΠΏΡΠ΅ΡΠ²Π°Π½Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΡΠΎΡΡΠΎΠ΅ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π΄Π»Ρ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ° ΡΡΠ΅ΡΡ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ 500$ ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ΅ΡΠ°Π΅Ρ ΡΠ½ΡΡΡ ΠΈΡ ΡΠ΅ΡΠ΅Π· Π±Π°Π½ΠΊΠΎΠΌΠ°Ρ. ΠΡΠΏΠΎΠ»Π½ΡΡΡΡΡ Π΄Π²Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΠ΅ΡΠ²Π°Ρ ΡΠΈΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠ° ΠΈ Π΅ΡΠ»ΠΈ Π½Π° Π±Π°Π»Π°Π½ΡΠ΅ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΠ΅Π΄ΡΡΠ² Π²ΡΠ΄Π°Π΅Ρ Π΄Π΅Π½ΡΠ³ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ. ΠΡΠΎΡΠ°Ρ Π²ΡΡΠΈΡΠ°Π΅Ρ ΠΈΠ· Π±Π°Π»Π°Π½ΡΠ° Π½ΡΠΆΠ½ΡΡ ΡΡΠΌΠΌΡ. ΠΠΎΠΏΡΡΡΠΈΠΌ, ΠΏΡΠΎΠΈΠ·ΠΎΡΠ΅Π» ΡΠ±ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΈ ΠΏΠ΅ΡΠ²Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ, Π° Π²ΡΠΎΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΌΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠ΄Π°ΡΡ Π΄Π΅Π½ΡΠ³ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π±Π΅Π· Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΡ Π² ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ Π±Π°Π»Π°Π½ΡΠΎΠΌ.
Π£ΡΠΎΠ²Π½ΠΈ ΠΈΠ·ΠΎΠ»ΡΡΠΈΠΈ
Π§ΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ (Read Committed)
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π³ΡΡΠ·Π½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ (Dirty Read) Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΏΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠ° 0$. Π’1 Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ Π±Π°Π»Π°Π½ΡΡ 50$. Π’2 ΡΡΠΈΡΡΠ²Π°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠ° (50$). Π’1 ΠΎΡΠΌΠ΅Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ. T2 ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Ρ Π½Π΅Π²Π΅ΡΠ½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΎ Π±Π°Π»Π°Π½ΡΠ΅.
Π Π΅ΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄Π°Π½Π½ΡΡ (Read Committed) Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡΠ΅Π΅ ΡΠΈΡΠ°ΡΡ Π΄Π°Π½Π½ΡΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ. ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ A ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ B ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ Π·Π° ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π° ΠΎΠΆΠΈΠ΄Π°ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ A.
ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ (Repeatable Read)
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΠΎΡΠ΅ΡΡΠ½Π½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Lost Updates). Π’1 ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ²Π΅ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π’2.
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ°ΡΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠ° 0$ ΠΈ Π΄Π²Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠΏΠΎΠ»Π½ΡΡΡ Π±Π°Π»Π°Π½Ρ. T1 ΠΈ T2 ΡΠΈΡΠ°ΡΡ Π±Π°Π»Π°Π½Ρ ΡΠ°Π²Π½ΡΠΉ 0$. ΠΠ°ΡΠ΅ΠΌ T2 ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ 200$ ΠΊ 0$ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. T1 ΠΏΡΠΈΠ±Π°Π²Π»ΡΠ΅Ρ 100$ ΠΊ 0$ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ 100$ Π²ΠΌΠ΅ΡΡΠΎ 300$.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ΠΏΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ (Unrepeatable read). ΠΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΈΡ ΠΈ ΡΠ΅Ρ ΠΆΠ΅ Π΄Π°Π½Π½ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ. Π’1 ΡΠΈΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π±Π°Π»Π°Π½ΡΠ° ΡΠ°Π²Π½ΠΎΠ΅ 0$. ΠΠ°ΡΠ΅ΠΌ Π’2 Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅Ρ ΠΊ Π±Π°Π»Π°Π½ΡΡ 50$ ΠΈ Π·Π°Π²Π΅ΡΡΠ°Π΅ΡΡΡ. Π’1 ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ ΡΠΈΡΠ°Π΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΈ ΠΎΠ±Π½Π°ΡΡΠΆΠΈΠ²Π°Π΅Ρ Π½Π΅ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Ρ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠΌ.
ΠΠΎΠ²ΡΠΎΡΡΠ΅ΠΌΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ (Repeatable Read) Π³Π°ΡΠ°Π½ΡΠΈΡΡΠ΅Ρ ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ Π²Π΅ΡΠ½Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ. ΠΠ°Π½Π½ΡΠ΅ ΠΏΡΠΎΡΠΈΡΠ°Π½Π½ΡΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ ΠΌΠ΅Π½ΡΡΡ Π² Π΄ΡΡΠ³ΠΈΡ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ A ΠΏΡΠΎΡΠ»Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ , ΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ B ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ Π·Π° ΡΡΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π²ΡΠ½ΡΠΆΠ΄Π΅Π½Π° ΠΎΠΆΠΈΠ΄Π°ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ A.
Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ (Serializable)
ΠΡΠΎΠ±Π»Π΅ΠΌΠ° ΡΠ°Π½ΡΠΎΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Π½ΠΈΡ (Phantom Reads). ΠΠ²Π° Π·Π°ΠΏΡΠΎΡΠ° Π²ΡΠ±ΠΈΡΠ°ΡΡΠΈΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠΎ Π½Π΅ΠΊΠΎΠ΅ΠΌΡ ΡΡΠ»ΠΎΠ²ΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠ°Π·Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ.
ΠΡΠΈΠΌΠ΅Ρ. T1 Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ Π²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π±Π°Π»Π°Π½Ρ ΠΊΠΎΡΠΎΡΡΡ Π±ΠΎΠ»ΡΡΠ΅ 0$ Π½ΠΎ ΠΌΠ΅Π½ΡΡΠ΅ 100$. T2 Π²ΡΡΠΈΡΠ°Π΅Ρ 1$ Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ Π±Π°Π»Π°Π½ΡΠΎΠΌ 101$. T1 ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ.
Π£ΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ΅Π½ΠΈΠ΅ (Serializable). Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΊΠ°ΠΊ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΠ΅. ΠΠ°ΠΏΡΠ΅ΡΠ°Π΅ΡΡΡ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ Π·Π°ΠΏΠΈΡΠΈ, ΠΏΠΎΠ΄ΠΏΠ°Π΄Π°ΡΡΠΈΠ΅ ΠΏΠΎΠ΄ ΡΡΠ»ΠΎΠ²ΠΈΡ Π·Π°ΠΏΡΠΎΡΠ°. ΠΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ A Π·Π°ΠΏΡΠΎΡΠΈΠ»Π° Π΄Π°Π½Π½ΡΠ΅ Π²ΡΠ΅ΠΉ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎ ΡΠ°Π±Π»ΠΈΡΠ° ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π·Π°ΠΌΠΎΡΠ°ΠΆΠΈΠ²Π°Π΅ΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π΄ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ A.
ΠΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊ (Scheduler)
Π£ΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΡΡΡ Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΡΠΈ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΠΊΠ°ΡΡΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡ
ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π·Π°Π΄Π°Π½Π½ΡΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΈΠ·ΠΎΠ»ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ. ΠΡΠ»ΠΈ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ Π½Π΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΈΡ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΡΡΠΈ, ΡΠΎ ΡΠ°ΠΊΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΠ²Π½Ρ (Permutable). ΠΠΎΠΌΠΌΡΡΠ°ΡΠΈΠ²Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π½Π°Π΄ ΡΠ°Π·Π½ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΠ΅Π½ΠΈΡ-Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π·Π°ΠΏΠΈΡΠΈ-Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΈΠ²Π½Ρ. ΠΠ°Π΄Π°ΡΠ° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΠΊΠ° ΡΠ΅ΡΠ΅Π΄ΠΎΠ²Π°ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΠ» ΡΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ΅Π½ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ.
ΠΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΡΡ Π·Π°Π΄Π°Π½ΠΈΠΉ (Concurrency Control)
ΠΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΠΈ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ², ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π½Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΎΠ²
ΠΡΠΈ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΡΡΠ°ΡΡ Π² ΡΠ²ΠΎΠ΅ ΡΠ°ΡΠΏΠΎΡΡΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΠΈ Π΄Π°Π½Π½ΡΡ . ΠΠ΅ΡΠ²ΡΠΉ Π·Π°Π²Π΅ΡΡΠΈΠ²ΡΠΈΠΉ ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΠ΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΎΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΠ»ΠΈΡΠ½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. ΠΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π½ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ°.
ΠΡΠΈ ΠΏΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠΌ ΠΏΠΎΠ΄Ρ ΠΎΠ΄Π΅ ΠΏΠ΅ΡΠ²ΡΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π·Π°Ρ Π²Π°ΡΠΈΠ²ΡΠΈΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΡΡΡΡΠ²ΡΠ΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ. ΠΡΠ»ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡ ΡΠ΅Π΄ΠΊΠΈ ΡΠ°Π·ΡΠΌΠ½ΠΎ Π²ΡΠ±ΡΠ°ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΡΡ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½Π° ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΈΠΉ ΡΡΠΎΠ²Π΅Π½Ρ ΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ·ΠΌΠ°.
ΠΠ»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° (Locking)
ΠΡΠ»ΠΈ ΠΎΠ΄Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π»Π° Π΄Π°Π½Π½ΡΠ΅, ΡΠΎ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ Π΄Π°Π½Π½ΡΠΌ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΆΠ΄Π°ΡΡ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ»ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°ΡΡΡΡ Π½Π° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , ΡΠ°Π±Π»ΠΈΡΡ, ΡΡΠ΄ ΠΈΠ»ΠΈ Π°ΡΡΡΠΈΠ±ΡΡ. Π‘ΠΎΠ²ΠΌΠ΅ΡΡΠ½ΡΠΉ Π·Π°Ρ Π²Π°Ρ (Shared Lock) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ Π½Π° ΠΎΠ΄Π½ΠΈ Π΄Π°Π½Π½ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌΠΈ, ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠ΅ΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ (Π²ΠΊΠ»ΡΡΠ°Ρ Π½Π°Π»ΠΎΠΆΠΈΠ²ΡΡΡ) ΡΡΠ΅Π½ΠΈΠ΅, Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΡΠΉ Π·Π°Ρ Π²Π°Ρ. ΠΠΎΠ½ΠΎΠΏΠΎΠ»ΡΠ½ΡΠΉ Π·Π°Ρ Π²Π°Ρ (Exclusive Lock) ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π½Π°Π»ΠΎΠΆΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄Π½ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ, ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π»ΡΠ±ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π½Π°Π»ΠΎΠΆΠΈΠ²ΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π·Π°ΠΏΡΠ΅ΡΠ°Π΅Ρ Π»ΡΠ±ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌ.
ΠΠ·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΎΠΉ ΡΡΠΈΡΠ°Π΅ΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, Π΄Π»ΡΡΠ΅ΠΌΡΡ Π±Π΅ΡΠΊΠΎΠ½Π΅ΡΠ½ΠΎ Π΄ΠΎΠ»Π³ΠΎ
ΠΡΠΈΠΌΠ΅Ρ. ΠΠ΅ΡΠ²Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΆΠ΄Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π·Π°Ρ Π²Π°ΡΠ΅Π½Π½ΡΡ Π²ΡΠΎΡΠΎΠΉ, Π² ΡΠΎ Π²ΡΠ΅ΠΌΡ ΠΊΠ°ΠΊ Π²ΡΠΎΡΠ°Ρ ΠΆΠ΄Π΅Ρ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π·Π°Ρ Π²Π°ΡΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ.
ΠΠΏΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΡΠΈ, Π½ΠΎ Π·Π°ΡΠ΅ΠΌ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΎΡΠΊΠ°ΡΡΠ²Π°Ρ ΠΎΠ΄Π½Ρ ΠΈΠ· ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ, ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΡ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅
Π‘ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ½ΠΎΡΡΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΠΈΡΠΊ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ. ΠΠ΄ΠΈΠ½ ΠΈΠ· ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ β ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ, ΡΠΎ Π΅ΡΡΡ ΡΡΠΈΡΠ°ΡΡ ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π° Π΅ΡΠ»ΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΡΠ»ΠΈΡΠΊΠΎΠΌ Π΄ΠΎΠ»Π³ΠΎ. ΠΠΎΠ³Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π°, ΡΠΎ ΠΎΠ΄Π½Π° ΠΈΠ· ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ, ΡΡΠΎ Π΄Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΡΡΠ³ΠΈΠΌ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΠΌ ΡΡΠ°ΡΡΠ²ΡΡΡΠΈΠΌ Π²ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ Π·Π°Π²Π΅ΡΡΠΈΡΡΡΡ. ΠΡΠ±ΠΎΡ ΠΆΠ΅ΡΡΠ²Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° ΡΡΠΎΠΈΠΌΠΎΡΡΠΈ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΈΡ ΡΡΠ°ΡΡΠΈΠ½ΡΡΠ²Π΅ (Wait-Die ΠΈ Wound-wait ΡΡ Π΅ΠΌΡ).
ΠΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ T ΠΏΡΠΈΡΠ²Π°ΠΈΠ²Π°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° TS ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠ°Ρ Π²ΡΠ΅ΠΌΡ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ.
Wait-Die.
ΠΡΠ»ΠΈ TS(Ti) < TS(Tj), ΡΠΎ Ti ΠΆΠ΄Π΅Ρ, ΠΈΠ½Π°ΡΠ΅ Ti ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ Ρ ΡΠΎΠΉ ΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ.
ΠΡΠ»ΠΈ ΠΌΠΎΠ»ΠΎΠ΄Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°Ρ Π²Π°ΡΠΈΠ»Π° ΡΠ΅ΡΡΡΡ, Π° Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΡΡΡ, ΡΠΎ ΡΡΠ°ΡΡΠ΅ΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ. ΠΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°Ρ Π²Π°ΡΠΈΠ»Π° ΡΠ΅ΡΡΡΡ, ΡΠΎ ΠΌΠΎΠ»ΠΎΠ΄Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ°Ρ ΡΡΠΎΡ ΡΠ΅ΡΡΡΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ°ΡΠ΅Π½Π°.
Wound-wait.
ΠΡΠ»ΠΈ TS(Ti) < TS(Tj), ΡΠΎ Tj ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΈ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π·Π°Π½ΠΎΠ²ΠΎ Ρ ΡΠΎΠΉ ΠΆΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅ΡΠΊΠΎΠΉ, ΠΈΠ½Π°ΡΠ΅ Ti ΠΆΠ΄Π΅Ρ.
ΠΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ»ΠΎΠ΄Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°Ρ Π²Π°ΡΠΈΠ»Π° ΡΠ΅ΡΡΡΡ, Π° Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΠΎΡ ΠΆΠ΅ ΡΠ΅ΡΡΡΡ, ΡΠΎ ΠΌΠΎΠ»ΠΎΠ΄Π°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ°ΡΠ΅Π½Π°. ΠΡΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π·Π°Ρ Π²Π°ΡΠΈΠ»Π° ΡΠ΅ΡΡΡΡ, ΡΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°ΡΡΠ΅ΠΉ ΡΡΠΎΡ ΡΠ΅ΡΡΡΡ ΠΏΠΎΠ·Π²ΠΎΠ»Π΅Π½ΠΎ ΠΎΠΆΠΈΠ΄Π°ΡΡ. ΠΡΠ±ΠΎΡ ΠΆΠ΅ΡΡΠ²Ρ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΡΡΠ°ΡΡΠΈΠ½ΡΡΠ²Π΅ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, Π½ΠΎ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠΈ Π²Π·Π°ΠΈΠΎΠΌΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π°ΠΊΠ»ΡΡΠ°Π΅ΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡΡΡ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°Π·, Ρ.ΠΊ. Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΠ»Π³ΠΎ ΡΠ΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΠ΅ΡΡΡΡ.
ΠΠ΅ΡΡΠΈΠΌΠΈΡΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π°ΡΠ°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΅ΡΠ»ΠΈ Π΅ΡΡΡ ΡΠΈΡΠΊ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ
ΠΠ»Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΡΠΎΠΈΡΡΡ Π³ΡΠ°Ρ (Π³ΡΠ°Ρ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, wait-for-graph), Π²Π΅ΡΡΠΈΠ½Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π° ΡΠ΅Π±ΡΠ° Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Ρ ΠΎΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ ΠΎΠΆΠΈΠ΄Π°ΡΡΠΈΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ ΠΊ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π°Ρ Π²Π°ΡΠΈΠ²ΡΠΈΠΌ ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅. Π‘ΡΠΈΡΠ°Π΅ΡΡΡ ΡΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠΈΠ·ΠΎΡΠ»Π°, Π΅ΡΠ»ΠΈ Π³ΡΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ Π·Π°ΡΠΈΠΊΠ»Π΅Π½Π½ΠΎΡΡΡ. ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠ° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ, ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π² ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΠ, Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ°Ρ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ°.
ΠΠ²ΡΡ ΡΠ°Π·Π½Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° β ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΏΡΡΠ΅ΠΌ Π·Π°Ρ Π²Π°ΡΠ° Π²ΡΠ΅Ρ ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΡ Π² ΠΊΠΎΠ½ΡΠ΅
ΠΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΡΡΡΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²ΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ²ΠΎΠΉ ΡΠ°Π·Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΉ. ΠΠΌΠ΅Π΅Ρ Π΄Π²Π΅ ΡΠ°Π·Ρ β Growing Phase ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΠ΅ Π·Π°Ρ Π²Π°ΡΠΎΠ² ΠΈ Shrinking Phase ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π·Π°Ρ Π²Π°ΡΠΎΠ². ΠΡΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π·Π°Ρ Π²Π°ΡΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· ΡΠ΅ΡΡΡΡΠΎΠ² ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠ½Π°ΡΠ°Π»Π°. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Π° ΡΠΈΡΡΠ°ΡΠΈΡ ΠΊΠΎΠ³Π΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π½Π΅ ΡΠΌΠΎΠΆΠ΅Ρ Π·Π°Ρ Π²Π°ΡΠΈΡΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΡΠ΅ ΡΠ΅ΡΡΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π΅ΡΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΉ Π±ΡΠ΄ΡΡ ΠΊΠΎΠ½ΠΊΡΡΠΈΡΠΎΠ²Π°ΡΡ Π·Π° ΠΎΠ΄Π½ΠΈ ΡΠ΅ΡΡΡΡΡ.
ΠΠ²ΡΡ ΡΠ°Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° Π½Π° Π²ΡΠ΅Ρ ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°Ρ ΠΠ
ΠΠ°ΠΆΠ΄Π°Ρ ΠΠ Π²Π½ΠΎΡΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ Π² Π»ΠΎΠ³ ΠΈ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡΡ ΠΠ (Voting Phase). ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²ΡΠ΅ ΠΎΡΠ²Π΅ΡΠΈΠ»ΠΈ ΠΠ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΎΡΡΡΠ»Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π» ΠΎΠ±ΡΠ·ΡΠ²Π°ΡΡΠΈΠΉ Π²ΡΠ΅Ρ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΊΠΎΠΌΠΌΠΈΡ. ΠΠΎΡΠ»Π΅ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΡΠ΅ΡΠ²Π΅ΡΠ° ΠΎΡΠ²Π΅ΡΠ°ΡΡ ΠΠ, Π΅ΡΠ»ΠΈ Ρ ΠΎΡΡ ΠΎΠ΄ΠΈΠ½ Π½Π΅ ΠΎΡΠ²Π΅ΡΠΈΠ» ΠΠ, ΡΠΎ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠΎΡ ΠΎΡΡΡΠ»Π°Π΅Ρ ΡΠΈΠ³Π½Π°Π» ΠΎΡΠΌΠ΅Π½Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π²ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌ (Completion Phase).
ΠΠ΅ΡΠΎΠ΄ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠΊ
ΠΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠ°Ρ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠΏΡΡΠΊΠ΅ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π°Π½Π½ΡΠΌ, Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠΌ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ
ΠΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° TS ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ Π½Π°ΡΠ°Π»Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ. ΠΡΠ»ΠΈ Ti ΡΡΠ°ΡΡΠ΅ Tj, ΡΠΎ TS(Ti) < TS(Tj).
ΠΠΎΠ³Π΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ, Π΅ΠΉ Π½Π°Π·Π½Π°ΡΠ°Π΅ΡΡΡ Π½ΠΎΠ²Π°Ρ Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ Π΄Π°Π½Π½ΡΡ Q Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π΄Π²ΡΠΌΡ ΠΌΠ΅ΡΠΊΠ°ΠΌΠΈ. W-TS(Q) β Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° ΡΠ°ΠΌΠΎΠΉ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΡΠΏΠ΅ΡΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΡ Π½Π°Π΄ Q. R-TS(Q) β Π²ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΠΌΠ΅ΡΠΊΠ° ΡΠ°ΠΌΠΎΠΉ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Π²ΡΠΏΠΎΠ»Π½ΠΈΠ²ΡΠ΅ΠΉ Π·Π°ΠΏΠΈΡΡ ΡΡΠ΅Π½ΠΈΡ Π½Π°Π΄ Q.
ΠΠΎΠ³Π΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΡΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Q Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°.
ΠΡΠ»ΠΈ TS(T) < W-TS(Q), ΡΠΎ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ Π±ΡΠ»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ, ΡΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ.
ΠΡΠ»ΠΈ TS(T) >= W-TS(Q), ΡΠΎ ΡΡΠ΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈ R-TS(Q) ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ MAX(R-TS(Q), TS(T)).
ΠΠΎΠ³Π΄Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Q Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ°.
ΠΡΠ»ΠΈ TS(T) < R-TS(Q), ΡΠΎ Π΅ΡΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠΆΠ΅ Π±ΡΠ»ΠΈ ΠΏΡΠΎΡΠΈΡΠ°Π½Ρ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ ΠΈ Π΅ΡΠ»ΠΈ ΠΏΡΠΎΠΈΠ·Π²Π΅ΡΡΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡ. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ.
ΠΡΠ»ΠΈ TS(T) < W-TS(Q), ΡΠΎ Π΅ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ. Π ΠΎΡΡΠ°Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΈ W-TS(Q) ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΡΠ°Π²Π½ΡΠΌ TS(T).
ΠΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π΄ΠΎΡΠΎΠ³ΠΎΡΡΠΎΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π³ΡΠ°ΡΠ° ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ. ΠΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ , ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ Π² Π³ΡΠ°ΡΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ Π½Π΅Ρ ΡΠΈΠΊΠ»ΠΎΠ². ΠΠ΅Ρ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ Π½Π΅ ΠΎΠΆΠΈΠ΄Π°ΡΡ, Π° ΡΡΠ°Π·Ρ ΠΎΡΠΊΠ°ΡΡΠ²Π°ΡΡΡΡ. ΠΠΎΠ·ΠΌΠΎΠΆΠ½Ρ ΠΊΠ°ΡΠΊΠ°Π΄Π½ΡΠ΅ ΠΎΡΠΊΠ°ΡΡ. ΠΡΠ»ΠΈ Ti ΠΎΡΠΊΠ°ΡΠΈΠ»Π°ΡΡ, Π° Tj ΠΏΡΠΎΡΠΈΡΠ°Π»Π° Π΄Π°Π½Π½ΡΠ΅ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»Π° Ti, ΡΠΎ Tj ΡΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΡΠΊΠ°ΡΠΈΡΡΡΡ. ΠΡΠ»ΠΈ ΠΏΡΠΈ ΡΡΠΎΠΌ Tj ΡΠΆΠ΅ Π±ΡΠ»Π° Π·Π°ΠΊΠΎΠΌΠΌΠΈΡΠ΅Π½Π°, ΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ° ΡΡΡΠΎΠΉΡΠΈΠ²ΠΎΡΡΠΈ.
ΠΠ΄Π½ΠΎ ΠΈΠ· ΡΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΊΠ°ΡΠΊΠ°Π΄Π½ΡΡ ΠΎΡΠΊΠ°ΡΠΎΠ². Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ Π·Π°ΠΏΠΈΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅, ΠΏΡΠΈΡΠ΅ΠΌ ΠΎΡΡΠ°Π»ΡΠ½ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΠ±ΡΠ·Π°Π½Ρ ΠΎΠΆΠΈΠ΄Π°ΡΡ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ ΠΎΠΆΠΈΠ΄Π°ΡΡ ΠΊΠΎΠΌΠΌΠΈΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ.
Thomas write rule β Π²Π°ΡΠΈΠ°ΡΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΌΠ΅ΡΠΎΠΊ ΠΏΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄Π°Π½Π½ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΠ»ΠΎΠ΄ΠΎΠΉ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠ΅ΠΉ Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΡΠ°ΡΠΎΠΉ
Π’ΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T Π·Π°ΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ
Q. ΠΡΠ»ΠΈ TS(T) < W-TS(Q), ΡΠΎ Π΅ΡΡΡ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ ΠΏΡΡΠ°Π΅ΡΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°ΡΡ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡ T Π½Π΅ ΠΎΡΠΊΠ°ΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ Π² ΠΌΠ΅ΡΠΎΠ΄Π΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ
ΠΌΠ΅ΡΠΎΠΊ.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com