ΠΡΡΡΠ°ΠΆΡΡΡΡΠΈ ΠΎΠ΄ΡΠΆΠΈΠ²ΠΎΡΡ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ ΠΊΠ»Π°ΡΠ΄ ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ°, ΠΎΠ΄Π»ΡΡΠΈΠΎ ΡΠ°ΠΌ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠΈΡΠ°ΠΌ ΠΊΠ°ΠΊΠΎ Π±ΠΈΡ
ΡΠ΅ ΡΠ²Π΅ΡΠΈΠΎ Π΄Π° ΡΠ°Π·ΡΠΌΠ΅ΠΌ ΠΎΡΠ½ΠΎΠ²Π½Π΅ ΡΡΠ²Π°ΡΠΈ. Π
Π£ ΠΎΠ²ΠΎΠΌ ΠΏΠΎΡΡΡ ΠΈΡΡΡΠ°ΠΆΡΡΠ΅ΠΌ ΡΡΠ°ΡΠ½Π΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ° ΠΊΠΎΡΠ΅ ΠΏΡΡΠΆΠ°ΡΡ ΠΠΠ-ΡΠΈ Π·Π° ΠΠΈΠ½ΡΠΊ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅. Π§ΠΈΠ½ΠΈ ΡΠ΅ Π΄Π° Π±ΠΈ ΠΎΠ²Π΄Π΅ ΡΠ²Π΅ ΡΡΠ΅Π±Π°Π»ΠΎ Π΄Π° Π±ΡΠ΄Π΅ ΡΠ΅Π΄Π½ΠΎΡΡΠ°Π²Π½ΠΎ: ΠΏΡΠΎΠ³ΡΠ°ΠΌ ΠΏΠΎΠ·ΠΈΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ write()
, Π° Π½Π°ΠΊΠΎΠ½ ΡΡΠΎ ΡΠ΅ ΠΎΠ²Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π²ΡΡΠΈ, ΠΏΠΎΠ΄Π°ΡΠΈ ΡΠ΅ Π±ΠΈΡΠΈ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΡΠ°ΡΡΠ²Π°Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊΡ. ΠΠ»ΠΈ write()
ΠΊΠΎΠΏΠΈΡΠ° ΡΠ°ΠΌΠΎ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Ρ ΠΊΠ΅Ρ ΠΊΠ΅ΡΠ½Π΅Π» ΠΊΠΎΡΠΈ ΡΠ΅ Π½Π°Π»Π°Π·ΠΈ Ρ Π ΠΠ-Ρ. ΠΠ° Π±ΠΈΡΡΠ΅ Π½Π°ΡΠ΅ΡΠ°Π»ΠΈ ΡΠΈΡΡΠ΅ΠΌ Π΄Π° Π·Π°ΠΏΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π½Π° Π΄ΠΈΡΠΊ, ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΡΠ΅ Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π½Π΅ΠΊΠ΅ Π΄ΠΎΠ΄Π°ΡΠ½Π΅ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ΅.
Π‘Π²Π΅ Ρ ΡΠ²Π΅ΠΌΡ, ΠΎΠ²Π°Ρ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π» ΡΠ΅ Π·Π±ΠΈΡΠΊΠ° Π±Π΅Π»Π΅ΡΠΊΠΈ ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΎΠ΄Π½ΠΎΡΠ΅ Π½Π° ΠΎΠ½ΠΎ ΡΡΠΎ ΡΠ°ΠΌ Π½Π°ΡΡΠΈΠΎ ΠΎ ΡΠ΅ΠΌΠΈ ΠΊΠΎΡΠ° ΠΌΠ΅ Π·Π°Π½ΠΈΠΌΠ°. ΠΠΊΠΎ Π²ΡΠ»ΠΎ ΠΊΡΠ°ΡΠΊΠΎ Π³ΠΎΠ²ΠΎΡΠΈΠΌΠΎ ΠΎ Π½Π°ΡΠ²Π°ΠΆΠ½ΠΈΡΠ΅ΠΌ, ΠΈΡΠΏΠ°Π΄Π° Π΄Π° ΡΠ΅ Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΠ΅ ΠΎΠ΄ΡΠΆΠΈΠ²ΠΎΠ³ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΏΠΎΡΡΠ΅Π±Π½ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ fdatasync()
ΠΈΠ»ΠΈ ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΡΠ° Π·Π°ΡΡΠ°Π²ΠΈΡΠΎΠΌ O_DSYNC
. ΠΠΊΠΎ ΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈ Π΄Π° ΡΠ°Π·Π½Π°ΡΠ΅ Π²ΠΈΡΠ΅ ΠΎ ΡΠΎΠΌΠ΅ ΡΡΠ° ΡΠ΅ Π΄Π΅ΡΠ°Π²Π° ΡΠ° ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° Π½Π° ΡΠΈΡ
ΠΎΠ²ΠΎΠΌ ΠΏΡΡΡ ΠΎΠ΄ ΠΊΠΎΠ΄Π° Π΄ΠΎ Π΄ΠΈΡΠΊΠ°, ΠΏΠΎΠ³Π»Π΅Π΄Π°ΡΡΠ΅
ΠΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠ° ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π²ΡΠΈΡΠ΅().
Π‘ΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ² write()
Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ Ρ ΡΡΠ°Π½Π΄Π°ΡΠ΄Ρ write()
ΠΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΌΠΎΡΠ°ΡΡ Π΄Π° Π²ΡΠ°ΡΠ΅ ΡΠ°ΡΠ½ΠΎ Π±Π°ΡΡΠΎΠ²Π΅ ΠΊΠΎΡΠΈ ΡΡ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈ, ΡΠΈΠ½Π΅ΡΠΈ ΡΠΎ ΡΠ°ΠΊ ΠΈ Π°ΠΊΠΎ ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° ΠΏΡΠΈΡΡΡΠΏΠ° ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
ΠΏΡΠΎΡΠ΅ΡΠ° ΠΈΠ»ΠΈ Π½ΠΈΡΠΈ (
ΠΠ° Π»ΠΈ ΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° write()
Π΄Π° Π»ΠΈ ΡΠ΅ Π°ΡΠΎΠΌΡΠΊΠΈ? Π‘Π° ΡΠ΅Ρ
Π½ΠΈΡΠΊΠ΅ ΡΠ°ΡΠΊΠ΅ Π³Π»Π΅Π΄ΠΈΡΡΠ°, Π΄Π°. ΠΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΌΠΎΡΠ°ΡΡ Π²ΡΠ°ΡΠΈΡΠΈ ΠΈΠ»ΠΈ ΡΠ²Π΅ ΠΈΠ»ΠΈ Π½ΠΈΡΡΠ° ΠΎΠ΄ ΠΎΠ½ΠΎΠ³Π° ΡΡΠΎ ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ write()
. ΠΠ»ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° write()
, ΠΏΡΠ΅ΠΌΠ° ΡΡΠ°Π½Π΄Π°ΡΠ΄Ρ, Π½Π΅ ΠΌΠΎΡΠ° Π½ΡΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π·Π°Π²ΡΡΠΈ ΡΠ°ΠΊΠΎ ΡΡΠΎ ΡΠ΅ Π·Π°ΠΏΠΈΡΠ°ΡΠΈ ΡΠ²Π΅ ΡΡΠΎ ΡΠ΅ Π·Π°ΡΡΠ°ΠΆΠ΅Π½ΠΎ. ΠΠΎΠ·Π²ΠΎΡΠ΅Π½ΠΎ ΡΠΎΡ ΡΠ΅ Π΄Π° ΡΠΏΠΈΡΠ΅ ΡΠ°ΠΌΠΎ Π΄Π΅ΠΎ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠ³Π»ΠΈ Π±ΠΈΡΠΌΠΎ Π΄Π° ΠΈΠΌΠ°ΠΌΠΎ Π΄Π²Π΅ Π½ΠΈΡΠΈ ΠΎΠ΄ ΠΊΠΎΡΠΈΡ
ΡΠ²Π°ΠΊΠ° Π΄ΠΎΠ΄Π°ΡΠ΅ 1024 Π±Π°ΡΡΠ° Π΄Π°ΡΠΎΡΠ΅ΡΠΈ ΠΊΠΎΡΡ ΠΎΠΏΠΈΡΡΡΠ΅ ΠΈΡΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅. Π‘Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΠ° ΡΡΠ°Π½Π΄Π°ΡΠ΄Π°, ΠΏΡΠΈΡ
Π²Π°ΡΡΠΈΠ² ΡΠ΅Π·ΡΠ»ΡΠ°Ρ ΡΠ΅ Π±ΠΈΡΠΈ ΠΊΠ°Π΄Π° ΡΠ²Π°ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΏΠΈΡΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠ΄Π°ΡΠΈ ΡΠ°ΠΌΠΎ ΡΠ΅Π΄Π°Π½ Π±Π°ΡΡ Π΄Π°ΡΠΎΡΠ΅ΡΠΈ. ΠΠ²Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ΅ ΡΠ΅ ΠΎΡΡΠ°ΡΠΈ Π°ΡΠΎΠΌΡΠΊΠ΅, Π°Π»ΠΈ Π½Π°ΠΊΠΎΠ½ ΡΡΠΎ ΡΠ΅ Π·Π°Π²ΡΡΠ΅, ΠΏΠΎΠ΄Π°ΡΠΈ ΠΊΠΎΡΠ΅ ΡΡ ΡΠΏΠΈΡΠ°Π»ΠΈ Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ ΡΠ΅ Π±ΠΈΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ°Π½ΠΈ.
ΡΡΠ½ΠΊΡΠΈΡΠ΅ ΡΡΠΈΠ½Ρ() ΠΈ ΡΠ΄Π°ΡΠ°ΡΠΈΠ½Ρ().
ΠΠ°ΡΠ»Π°ΠΊΡΠΈ Π½Π°ΡΠΈΠ½ Π·Π° ΠΈΠ·Π±Π°ΡΠΈΠ²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π½Π° Π΄ΠΈΡΠΊ ΡΠ΅ Π΄Π° ΠΏΠΎΠ·ΠΎΠ²Π΅ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡΡ fdatasync()
. Π£ fdatasync()
ΠΊΠ°ΠΆΠ΅ ΡΠ΅ Π΄Π° ΡΠ΅ ΡΠΎΠΊΠΎΠΌ ΡΠ°Π΄Π° ΠΎΠ²Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ ΡΡΠ²Π° ΡΠΎΠ»ΠΈΠΊΠ° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΊΠΎΡΠ° ΡΠ΅ βΠ½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½Π° Π·Π° ΠΈΡΠΏΡΠ°Π²Π½ΠΎ ΠΈΠ·Π²ΡΡΠ΅ΡΠ΅ ΡΠ»Π΅Π΄Π΅ΡΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΡΠΈΡΠ°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°β. Π ΡΠΎ ΡΠ΅ ΡΠΏΡΠ°Π²ΠΎ ΠΎΠ½ΠΎ ΠΎ ΡΠ΅ΠΌΡ Π²Π΅ΡΠΈΠ½Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° Π±ΡΠΈΠ½Π΅.
ΠΠ΅Π΄Π°Π½ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΠΊΠΎΡΠΈ ΡΠ΅ ΠΎΠ²Π΄Π΅ ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΠ°Π²ΠΈΡΠΈ ΡΠ΅ ΡΠ°Ρ ΡΡΠΎ ΠΎΠ²ΠΈ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈ Π½Π΅ Π³Π°ΡΠ°Π½ΡΡΡΡ Π΄Π° ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π±ΠΈΡΠΈ ΠΎΡΠΊΡΠΈΠ²Π΅Π½Π° Π½Π°ΠΊΠΎΠ½ ΠΌΠΎΠ³ΡΡΠ΅Π³ ΠΊΠ²Π°ΡΠ°. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, ΠΊΠ°Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ, ΠΌΠΎΡΠ°ΡΠ΅ ΠΏΠΎΠ·Π²Π°ΡΠΈ fsync()
Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ ΠΊΠΎΡΠΈ Π³Π° ΡΠ°Π΄ΡΠΆΠΈ. Π£ ΡΡΠΏΡΠΎΡΠ½ΠΎΠΌ, Π½Π°ΠΊΠΎΠ½ Π³ΡΠ΅ΡΠΊΠ΅, ΠΌΠΎΠΆΠ΅ ΡΠ΅ ΠΈΡΠΏΠΎΡΡΠ°Π²ΠΈΡΠΈ Π΄Π° ΠΎΠ²Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π΅ ΠΏΠΎΡΡΠΎΡΠΈ. Π Π°Π·Π»ΠΎΠ³ Π·Π° ΡΠΎ ΡΠ΅ ΡΡΠΎ Ρ Π£ΠΠΠΠ‘-Ρ, Π·Π±ΠΎΠ³ ΡΠΏΠΎΡΡΠ΅Π±Π΅ ΡΠ²ΡΡΡΠΈΡ
Π²Π΅Π·Π°, Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΌΠΎΠΆΠ΅ ΠΏΠΎΡΡΠΎΡΠ°ΡΠΈ Ρ Π²ΠΈΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ°. Π‘ΡΠΎΠ³Π°, ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΏΠΎΠ·ΠΈΠ²Π°ΡΠ° fsync()
Π½Π΅ ΠΏΠΎΡΡΠΎΡΠΈ Π½Π°ΡΠΈΠ½ Π΄Π° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π·Π½Π° ΠΊΠΎΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ° ΡΠ°ΠΊΠΎΡΠ΅ ΡΡΠ΅Π±Π° ΠΈΠ·Π±Π°ΡΠΈΡΠΈ Π½Π° Π΄ΠΈΡΠΊ (fsync()
Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌΠ΅ ΠΊΠΎΡΠΈ ΡΠ°Π΄ΡΠΆΠ΅ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅, Π°Π»ΠΈ ΡΠΎ ΠΌΠΎΠΆΠ΄Π° Π½ΠΈΡΠ΅ ΡΠ»ΡΡΠ°Ρ ΡΠ° Π΄ΡΡΠ³ΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°.
ΠΠ²Π°Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·Π°ΠΌ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΎ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ Π½Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΠΌ ΡΠΈΡΡΠ΅ΠΌΠΈΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°. ΠΊΠΎΡΠΈΡΡΠΈΠΎ ΡΠ°ΠΌ fdatasync()
ΠΌΠ°Π»ΠΎ Π±ΡΠΆΠ΅ fsync()
. ΠΠΎΡΠΈΡΠ½ΠΎΡΡ blktrace
ΡΠΊΠ°Π·ΡΡΠ΅ Π½Π° ΡΠΎ fdatasync()
ΠΎΠ±ΠΈΡΠ½ΠΎ Π·Π°ΠΏΠΈΡΡΡΠ΅ ΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π½Π° Π΄ΠΈΡΠΊ (Ρ Π΅ΠΊΡ4 fsync()
ΠΏΠΈΡΠ΅ 20 ΠΠΈΠ, ΠΈ fdatasync()
- 16 ΠΠΈΠ). Π’Π°ΠΊΠΎΡΠ΅, ΡΠ°Π·Π½Π°ΠΎ ΡΠ°ΠΌ Π΄Π° ΡΠ΅ ΠΠ‘Π€Π‘ Π½Π΅ΡΡΠΎ Π±ΡΠΆΠΈ ΠΎΠ΄ Π΅ΠΊΡ4. Π ΠΎΠ²Π΄Π΅ ΡΠ· ΠΏΠΎΠΌΠΎΡ blktrace
ΡΡΠΏΠ΅ΠΎ Π΄Π° ΡΠΎ ΡΠ°Π·Π½Π° fdatasync()
ΠΈΡΠΏΡΡΡΠ° ΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π½Π° Π΄ΠΈΡΠΊ (4 ΠΠΈΠ Ρ ΠΠ‘Π€Π‘).
ΠΠ²ΠΎΡΠΌΠΈΡΠ»Π΅Π½Π΅ ΡΠΈΡΡΠ°ΡΠΈΡΠ΅ ΠΊΠΎΡΠ΅ Π½Π°ΡΡΠ°ΡΡ ΠΊΠ°Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ ΡΡΠΈΠ½Ρ()
ΠΠΎΠ³Ρ Π΄Π° ΡΠ΅ ΡΠ΅ΡΠΈΠΌ ΡΡΠΈ Π΄Π²ΠΎΡΠΌΠΈΡΠ»Π΅Π½Π΅ ΡΠΈΡΡΠ°ΡΠΈΡΠ΅ Ρ Π²Π΅Π·ΠΈ fsync()
ΡΠ° ΠΊΠΎΡΠΈΠΌΠ° ΡΠ°ΠΌ ΡΠ΅ ΡΡΡΡΠ΅ΠΎ Ρ ΠΏΡΠ°ΠΊΡΠΈ.
ΠΡΠ²ΠΈ ΡΠ°ΠΊΠ°Π² ΡΠ»ΡΡΠ°Ρ Π΄ΠΎΠ³ΠΎΠ΄ΠΈΠΎ ΡΠ΅ 2008. Π’Π°Π΄Π° ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ Π€ΠΈΡΠ΅ΡΠΎΠΊ 3 Π·Π°ΠΌΡΠ·Π½ΡΠΎ Π°ΠΊΠΎ ΡΠ΅ Π²Π΅Π»ΠΈΠΊΠΈ Π±ΡΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΠΏΠΈΡΠ°Π½ Π½Π° Π΄ΠΈΡΠΊ. ΠΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ Π±ΠΈΠΎ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΡΠ΅ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΠ° ΠΊΠΎΡΠΈΡΡΠΈΠ»Π° Π‘ΠΠΠΈΡΠ΅ Π±Π°Π·Ρ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π·Π° ΡΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΠΎ ΡΠ²ΠΎΠΌ ΡΡΠ°ΡΡ. ΠΠ°ΠΊΠΎΠ½ ΡΠ²Π°ΠΊΠ΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ ΠΊΠΎΡΠ° ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ΄ΠΈΠ»Π° Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡΡ, ΡΡΠ½ΠΊΡΠΈΡΠ° ΡΠ΅ Π±ΠΈΠ»Π° ΠΏΠΎΠ·Π²Π°Π½Π° fsync()
, ΡΡΠΎ ΡΠ΅ Π΄Π°Π»ΠΎ Π΄ΠΎΠ±ΡΠ΅ Π³Π°ΡΠ°Π½ΡΠΈΡΠ΅ Π·Π° ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. Π£ Π΅ΠΊΡ3 ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ°Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈ, ΡΡΠ½ΠΊΡΠΈΡΠ° fsync()
ΠΈΠ·Π±Π°ΡΠΈΠΎ ΡΠ²Π΅ βΠΏΡΡΠ°Π²Π΅β ΡΡΡΠ°Π½ΠΈΡΠ΅ Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π° Π΄ΠΈΡΠΊ, Π° Π½Π΅ ΡΠ°ΠΌΠΎ ΠΎΠ½Π΅ ΠΊΠΎΡΠ΅ ΡΡ Π±ΠΈΠ»Π΅ ΠΏΠΎΠ²Π΅Π·Π°Π½Π΅ ΡΠ° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΎΠΌ Π΄Π°ΡΠΎΡΠ΅ΠΊΠΎΠΌ. Π’ΠΎ ΡΠ΅ Π·Π½Π°ΡΠΈΠ»ΠΎ Π΄Π° Π±ΠΈ ΠΊΠ»ΠΈΠΊ Π½Π° Π΄ΡΠ³ΠΌΠ΅ Ρ Π€ΠΈΡΠ΅ΡΠΎΠΊ-Ρ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° ΠΏΠΎΠΊΡΠ΅Π½Π΅ Π·Π°ΠΏΠΈΡ ΠΌΠ΅Π³Π°Π±Π°ΡΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π½Π° ΠΌΠ°Π³Π½Π΅ΡΠ½ΠΈ Π΄ΠΈΡΠΊ, ΡΡΠΎ Π±ΠΈ ΠΌΠΎΠ³Π»ΠΎ Π΄Π° ΠΏΠΎΡΡΠ°ΡΠ΅ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΠ½Π΄ΠΈ. Π Π΅ΡΠ΅ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΠ»ΠΈΠΊΠΎ ΡΠ°ΠΌ ΡΠ°Π·ΡΠΌΠ΅ΠΎ ΠΈΠ·
ΠΡΡΠ³ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ ΡΠ΅ Π΄ΠΎΠ³ΠΎΠ΄ΠΈΠΎ 2009. ΠΠ°ΡΠΈΠΌ, Π½Π°ΠΊΠΎΠ½ ΠΏΠ°Π΄Π° ΡΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΡΠΈΡΠ½ΠΈΡΠΈ Π½ΠΎΠ²ΠΎΠ³ Π΅ΠΊΡ4 ΡΠΈΡΡΠ΅ΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΡΡ ΡΠ΅ ΡΡΠΎΡΠΈΠ»ΠΈ ΡΠ° ΡΠΈΡΠ΅Π½ΠΈΡΠΎΠΌ Π΄Π° ΠΌΠ½ΠΎΠ³Π΅ Π½ΠΎΠ²ΠΎΠ½Π°ΡΡΠ°Π»Π΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΠΈΠΌΠ°ΡΡ Π½ΡΠ»ΡΡ Π΄ΡΠΆΠΈΠ½Ρ, Π°Π»ΠΈ ΡΠ΅ ΡΠΎ Π½ΠΈΡΠ΅ Π΄Π΅ΡΠΈΠ»ΠΎ ΡΠ° ΡΡΠ°ΡΠΈΡΠΈΠΌ Π΅ΠΊΡ3 ΡΠΈΡΡΠ΅ΠΌΠΎΠΌ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°. Π£ ΠΏΡΠ΅ΡΡ
ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠ°ΡΡΡΡ ΡΠ°ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΠΎ ΠΎ ΡΠΎΠΌΠ΅ ΠΊΠ°ΠΊΠΎ ΡΠ΅ Π΅ΠΊΡ3 ΠΈΠ·Π±Π°ΡΠΈΠΎ ΠΏΡΠ΅Π²ΠΈΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π½Π° Π΄ΠΈΡΠΊ, ΡΡΠΎ ΡΠ΅ Π΄ΠΎΡΡΠ° ΡΡΠΏΠΎΡΠΈΠ»ΠΎ ΡΡΠ²Π°ΡΠΈ. fsync()
. ΠΠ° Π±ΠΈ ΡΠ΅ ΡΠΈΡΡΠ°ΡΠΈΡΠ° ΠΏΠΎΠ±ΠΎΡΡΠ°Π»Π°, Ρ Π΅ΠΊΡ4 ΡΠ°ΠΌΠΎ ΠΎΠ½Π΅ ΠΏΡΡΠ°Π²Π΅ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΊΠΎΡΠ΅ ΡΡ ΡΠ΅Π»Π΅Π²Π°Π½ΡΠ½Π΅ Π·Π° ΠΎΠ΄ΡΠ΅ΡΠ΅Π½Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ ΡΠ΅ ΠΈΡΠΏΡΡΡΠ°ΡΡ Π½Π° Π΄ΠΈΡΠΊ. Π ΠΏΠΎΠ΄Π°ΡΠΈ ΠΈΠ· Π΄ΡΡΠ³ΠΈΡ
Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΎΡΡΠ°ΡΡ Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄ΡΠΆΠ΅ Π½Π΅Π³ΠΎ ΠΊΠΎΠ΄ Π΅ΠΊΡ3. ΠΠ²ΠΎ ΡΠ΅ ΡΡΠ°ΡΠ΅Π½ΠΎ Π΄Π° Π±ΠΈ ΡΠ΅ ΠΏΠΎΠ±ΠΎΡΡΠ°Π»Π΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ (ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π½ΠΎ, ΠΏΠΎΠ΄Π°ΡΠΈ ΠΎΡΡΠ°ΡΡ Ρ ΠΎΠ²ΠΎΠΌ ΡΡΠ°ΡΡ 30 ΡΠ΅ΠΊΡΠ½Π΄ΠΈ, ΠΎΠ²ΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ΅ΡΠ΅ ΠΏΠΎΠΌΠΎΡΡ fsync()
Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ°ΠΌΠ° ΠΊΠΎΡΠ΅ ΡΡΠ΅Π±Π° Π΄Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄Π΅ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈ Π·Π°ΡΡΠΈΡΠ΅ ΠΈΡ
ΡΡΠΎ ΡΠ΅ Π²ΠΈΡΠ΅ ΠΌΠΎΠ³ΡΡΠ΅ ΠΎΠ΄ ΠΏΠΎΡΠ»Π΅Π΄ΠΈΡΠ° ΠΊΠ²Π°ΡΠΎΠ²Π°. Π€ΡΠ½ΠΊΡΠΈΡΠ° fsync()
ΡΠ°Π΄ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΈΡΠ΅ ΠΊΠ°Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π΅ΠΊΡ4 Π½Π΅Π³ΠΎ ΠΊΠ°Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ Π΅ΠΊΡ3. ΠΠ΅Π΄ΠΎΡΡΠ°ΡΠ°ΠΊ ΠΎΠ²ΠΎΠ³ ΠΏΡΠΈΡΡΡΠΏΠ° ΡΠ΅ ΡΡΠΎ ΡΠ΅Π³ΠΎΠ²Π° ΡΠΏΠΎΡΡΠ΅Π±Π°, ΠΊΠ°ΠΎ ΠΈ Π΄ΠΎ ΡΠ°Π΄Π°, ΡΡΠΏΠΎΡΠ°Π²Π° ΠΈΠ·Π²ΡΡΠ°Π²Π°ΡΠ΅ Π½Π΅ΠΊΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°, ΠΊΠ°ΠΎ ΡΡΠΎ ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°. ΠΠΎΠ³Π»Π΅Π΄Π°ΡΡΠ΅ Π΄Π΅ΡΠ°ΡΠ΅ ΠΎ ΠΎΠ²ΠΎΠΌΠ΅
Π’ΡΠ΅ΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π²Π΅Π·ΠΈ fsync()
, Π½Π°ΡΡΠ°ΠΎ 2018. Π³ΠΎΠ΄ΠΈΠ½Π΅. ΠΠ°ΡΠΈΠΌ ΡΠ΅ Ρ ΠΎΠΊΠ²ΠΈΡΡ ΠΠΎΡΡΠ³ΡΠ΅Π‘ΠΠ ΠΏΡΠΎΡΠ΅ΠΊΡΠ° ΡΡΠ²ΡΡΠ΅Π½ΠΎ Π΄Π° Π°ΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΡΠ° fsync()
Π½Π°ΠΈΡΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΡ, "ΠΏΡΡΠ°Π²Π΅" ΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΎΠ·Π½Π°ΡΠ°Π²Π° ΠΊΠ°ΠΎ "ΡΠΈΡΡΠ΅". ΠΠ°ΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ, ΡΠ»Π΅Π΄Π΅ΡΠΈ ΠΏΠΎΠ·ΠΈΠ²ΠΈ fsync()
ΠΠ½ΠΈ Π½Π΅ ΡΠ°Π΄Π΅ Π½ΠΈΡΡΠ° ΡΠ° ΡΠ°ΠΊΠ²ΠΈΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌΠ°. ΠΠ±ΠΎΠ³ ΡΠΎΠ³Π° ΡΠ΅ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½Π΅ ΡΡΡΠ°Π½ΠΈΡΠ΅ ΡΡΠ²Π°ΡΡ Ρ ΠΌΠ΅ΠΌΠΎΡΠΈΡΠΈ ΠΈ Π½ΠΈΠΊΠ°Π΄Π° ΡΠ΅ Π½Π΅ ΡΠΏΠΈΡΡΡΡ Π½Π° Π΄ΠΈΡΠΊ. ΠΠ²ΠΎ ΡΠ΅ ΠΏΡΠ°Π²Π° ΠΊΠ°ΡΠ°ΡΡΡΠΎΡΠ°, ΠΏΠΎΡΡΠΎ ΡΠ΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΠΌΠΈΡΠ»ΠΈΡΠΈ Π΄Π° ΡΡ Π½Π΅ΠΊΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ ΡΠΏΠΈΡΠ°Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊ, Π°Π»ΠΈ Ρ ΡΡΠ²Π°ΡΠΈ ΡΠΎ Π½Π΅ΡΠ΅ Π±ΠΈΡΠΈ. Π’Π°ΠΊΠ²ΠΈ Π½Π΅ΡΡΠΏΠ΅ΡΠΈ fsync()
ΡΡ ΡΠ΅ΡΠΊΠ΅, ΠΏΡΠΈΠΌΠ΅Π½Π° Ρ ΡΠ°ΠΊΠ²ΠΈΠΌ ΡΠΈΡΡΠ°ΡΠΈΡΠ°ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅ ΡΡΠΈΠ½ΠΈΡΠΈ ΡΠΊΠΎΡΠΎ Π½ΠΈΡΡΠ° Ρ Π±ΠΎΡΠ±ΠΈ ΠΏΡΠΎΡΠΈΠ² ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΠ²ΠΈΡ
Π΄Π°Π½Π°, ΠΊΠ°Π΄Π° ΡΠ΅ ΡΠΎ Π΄ΠΎΠ³ΠΎΠ΄ΠΈ, ΠΠΎΡΡΠ³ΡΠ΅Π‘ΠΠ ΠΈ Π΄ΡΡΠ³Π΅ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ ΠΏΠ°Π΄Π°ΡΡ. O_SYNC
ΠΈΠ»ΠΈ ΡΠ° Π·Π°ΡΡΠ°Π²ΠΎΠΌ O_DSYNC
. Π‘Π° ΠΎΠ²ΠΈΠΌ ΠΏΡΠΈΡΡΡΠΏΠΎΠΌ, ΡΠΈΡΡΠ΅ΠΌ ΡΠ΅ ΠΏΡΠΈΡΠ°Π²ΠΈΡΠΈ Π³ΡΠ΅ΡΠΊΠ΅ ΠΊΠΎΡΠ΅ ΡΠ΅ ΠΌΠΎΠ³Ρ ΠΏΠΎΡΠ°Π²ΠΈΡΠΈ ΡΠΎΠΊΠΎΠΌ ΠΎΠ΄ΡΠ΅ΡΠ΅Π½ΠΈΡ
ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΏΠΈΡΠ°ΡΠ°, Π°Π»ΠΈ ΠΎΠ²Π°Ρ ΠΏΡΠΈΡΡΡΠΏ Π·Π°Ρ
ΡΠ΅Π²Π° Π΄Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ° ΡΠ°ΠΌΠ° ΡΠΏΡΠ°Π²ΡΠ° Π±Π°ΡΠ΅ΡΠΈΠΌΠ°. ΠΡΠΎΡΠΈΡΠ°ΡΡΠ΅ Π²ΠΈΡΠ΅ ΠΎ ΠΎΠ²ΠΎΠΌΠ΅
ΠΡΠ²Π°ΡΠ°ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠΌΠΎΡΡ ΠΎΠ·Π½Π°ΠΊΠ° Π_Π‘ΠΠΠ¦ ΠΈ Π_ΠΠ‘ΠΠΠ¦
ΠΡΠ°ΡΠΈΠΌΠΎ ΡΠ΅ Π΄ΠΈΡΠΊΡΡΠΈΡΠΈ ΠΎ ΠΠΈΠ½ΡΠΊ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΈΠΌΠ° ΠΊΠΎΡΠΈ ΠΎΠ±Π΅Π·Π±Π΅ΡΡΡΡ ΡΡΠ°Π±ΠΈΠ»Π½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. ΠΠ°ΠΈΠΌΠ΅, Π³ΠΎΠ²ΠΎΡΠΈΠΌΠΎ ΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡ Π·Π°ΡΡΠ°Π²Π΅ O_SYNC
ΠΈΠ»ΠΈ Π·Π°ΡΡΠ°Π²Π° O_DSYNC
ΠΏΡΠΈΠ»ΠΈΠΊΠΎΠΌ ΠΎΡΠ²Π°ΡΠ°ΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΏΠΎΠΌΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎΠ³ ΠΏΠΎΠ·ΠΈΠ²Π° write()
ΡΠΈΡΡΠ΅ΠΌΡ ΡΠ΅ Π΄Π°ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ Ρ ΡΠΊΠ»Π°Π΄Ρ ΡΠ° ΡΠΈΠΌ fsync()
ΠΈ fdatasync()
. Π£ write()
ΠΈ fdatasync()
). ΠΠ»Π°Π²Π½ΠΈ Π½Π΅Π΄ΠΎΡΡΠ°ΡΠ°ΠΊ ΠΎΠ²ΠΎΠ³ ΠΏΡΠΈΡΡΡΠΏΠ° ΡΠ΅ ΡΡΠΎ ΡΠ΅ ΡΠ²ΠΈ Π·Π°ΠΏΠΈΡΠΈ ΠΊΠΎΡΠΈ ΠΊΠΎΡΠΈΡΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΈ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ Π±ΠΈΡΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΎΠ²Π°Π½ΠΈ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΠΈ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡ ΡΡΡΡΠΊΡΡΡΠΈΡΠ°ΡΠ° ΠΊΠΎΠ΄Π° Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅.
ΠΠΎΡΠΈΡΡΠ΅ΡΠ΅ ΠΠΈΡΠ΅ΡΡ Π/Π ΡΠ° Π_ΠΠΠ ΠΠ¦Π’ Π·Π°ΡΡΠ°Π²ΠΈΡΠΎΠΌ
Π‘ΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ² open()
ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π° Π·Π°ΡΡΠ°Π²Ρ O_DIRECT
, ΠΊΠΎΡΠΈ ΡΠ΅ Π΄ΠΈΠ·Π°ΡΠ½ΠΈΡΠ°Π½ Π΄Π° Π·Π°ΠΎΠ±ΠΈΡΠ΅ ΠΊΠ΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠ³ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΎΠ±Π°Π²ΡΠ°ΡΠ΅ Π/Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎΠΌ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΡΠΎΠΌ ΡΠ° Π΄ΠΈΡΠΊΠΎΠΌ. Π’ΠΎ Ρ ΠΌΠ½ΠΎΠ³ΠΈΠΌ ΡΠ»ΡΡΠ°ΡΠ΅Π²ΠΈΠΌΠ° Π·Π½Π°ΡΠΈ Π΄Π° ΡΠ΅ Π½Π°ΡΠ΅Π΄Π±Π΅ Π·Π° ΠΏΠΈΡΠ°ΡΠ΅ ΠΊΠΎΡΠ΅ ΠΈΠ·Π΄Π°ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌ Π±ΠΈΡΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΏΡΠ΅Π²Π΅Π΄Π΅Π½Π΅ Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΊΠΎΡΠ΅ ΠΈΠΌΠ°ΡΡ Π·Π° ΡΠΈΡ ΡΠ°Π΄ ββΡΠ° Π΄ΠΈΡΠΊΠΎΠΌ. ΠΠ»ΠΈ, Π³Π΅Π½Π΅ΡΠ°Π»Π½ΠΎ, ΠΎΠ²Π°Ρ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·Π°ΠΌ Π½ΠΈΡΠ΅ Π·Π°ΠΌΠ΅Π½Π° Π·Π° ΡΡΠ½ΠΊΡΠΈΡΠ΅ fsync()
ΠΈΠ»ΠΈ fdatasync()
. Π§ΠΈΡΠ΅Π½ΠΈΡΠ° ΡΠ΅ Π΄Π° ΡΠ°ΠΌ Π΄ΠΈΡΠΊ ΠΌΠΎΠΆΠ΅ O_DIRECT
, O_DSYNC
, ΡΡΠΎ ΡΠ΅ Π·Π½Π°ΡΠΈΡΠΈ Π΄Π° ΡΠ΅ ΡΠ²Π°ΠΊΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΏΠΈΡΠ°ΡΠ° Π±ΠΈΡΠΈ ΠΏΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ·ΠΈΠ²ΠΎΠΌ fdatasync()
.
ΠΡΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ΅ Π΄Π° ΡΠ΅ ΠΠ‘Π€Π‘ ΡΠΈΡΡΠ΅ΠΌ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π½Π΅Π΄Π°Π²Π½ΠΎ Π΄ΠΎΠ΄Π°ΠΎ "Π±ΡΠ·Ρ ΠΏΡΡΠ°ΡΡ" Π·Π° O_DIRECT|O_DSYNC
- ΡΠ½ΠΈΠΌΠ°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. ΠΠΊΠΎ ΡΠ΅ Π±Π»ΠΎΠΊ ΠΏΠΎΠ½ΠΎΠ²ΠΎ ΠΏΠΈΡΠ΅ ΠΏΠΎΠΌΠΎΡΡ O_DIRECT|O_DSYNC
, ΠΎΠ½Π΄Π° ΡΠ΅ ΠΠ‘Π€Π‘, ΡΠΌΠ΅ΡΡΠΎ ΠΈΡΠΏΠΈΡΠ°ΡΠ° ΠΊΠ΅ΡΠ°, ΠΈΠ·Π²ΡΡΠΈΡΠΈ Π€Π£Π ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π·Π° ΠΏΠΈΡΠ°ΡΠ΅ Π°ΠΊΠΎ ΡΠ΅ ΡΡΠ΅ΡΠ°Ρ ΠΏΠΎΠ΄ΡΠΆΠ°Π²Π°. ΠΠ²ΠΎ ΡΠ°ΠΌ ΠΏΡΠΎΠ²Π΅ΡΠΈΠΎ ΠΊΠΎΡΠΈΡΡΠ΅ΡΠΈ ΡΡΠ»ΡΠΆΠ½ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌ blktrace
Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ ΠΠΈΠ½ΡΠΊ 5.4/Π£Π±ΡΠ½ΡΡ 20.04. ΠΠ²Π°Ρ ΠΏΡΠΈΡΡΡΠΏ Π±ΠΈ ΡΡΠ΅Π±Π°Π»ΠΎ Π΄Π° Π±ΡΠ΄Π΅ Π΅ΡΠΈΠΊΠ°ΡΠ½ΠΈΡΠΈ, ΡΠ΅Ρ ΠΊΠ°Π΄Π° ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈ, ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° ΠΊΠΎΠ»ΠΈΡΠΈΠ½Π° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠΏΠΈΡΡΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈ ΡΠ΅ ΡΠ΅Π΄Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ°, Π° Π½Π΅ Π΄Π²Π΅ (ΠΏΠΈΡΠ°ΡΠ΅ ΠΈ ΠΈΡΠΏΠΈΡΠ°ΡΠ΅ ΠΊΠ΅ΡΠ°). ΠΠ°ΡΠ°ΠΎ ΡΠ°ΠΌ Π²Π΅Π·Ρ Π΄ΠΎ
ΡΠΈΠ½Ρ_ΡΠΈΠ»Π΅_ΡΠ°Π½Π³Π΅() ΡΡΠ½ΠΊΡΠΈΡΠ°
ΠΠΈΠ½ΡΠΊ ΠΈΠΌΠ° ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ² sync_file_range()
Π·Π° ΡΠΈΠΌ ΡΠ΅ ΠΊΠ°ΠΆΠ΅ Π΄Π° ΡΠ΅ βΠ²Π΅ΠΎΠΌΠ° ΠΎΠΏΠ°ΡΠ°Π½β. ΠΠΈΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΠΈΠ²ΠΎ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π³Π°. ΠΠ°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ΅ ΠΈ ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ sync_file_range()
Π²Π΅ΠΎΠΌΠ° Π΄ΠΎΠ±ΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Ρ fdatasync()
. Π£ sync_file_range()
ΠΠ°Π΄Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΠ€Π‘, ΠΎΠ½ Π½Π΅ ΠΈΡΠΏΡΡΡΠ° ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π½Π° Π΄ΠΈΡΠΊ. ΠΡΠΊΡΡΡΠ²ΠΎ ΠΌΠΈ Π³ΠΎΠ²ΠΎΡΠΈ Π΄Π° ΠΊΠΎΠ΄ ΠΊΠΎΡΠΈ ΡΠ΅ ΡΠ΅ΡΠΊΠΎ ΠΊΠΎΡΠΈΡΡΠΈ Π²Π΅ΡΠΎΠ²Π°ΡΠ½ΠΎ ΡΠ°Π΄ΡΠΆΠΈ Π³ΡΠ΅ΡΠΊΠ΅. ΠΠ±ΠΎΠ³ ΡΠΎΠ³Π° Π±ΠΈΡ
ΡΠ°Π²Π΅ΡΠΎΠ²Π°ΠΎ Π΄Π° Π½Π΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠ΅ ΠΎΠ²Π°Ρ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ² ΠΎΡΠΈΠΌ Π°ΠΊΠΎ Π½ΠΈΡΠ΅ Π°ΠΏΡΠΎΠ»ΡΡΠ½ΠΎ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½ΠΎ.
Π‘ΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΏΠΎΠ·ΠΈΠ²ΠΈ ΠΊΠΎΡΠΈ ΠΏΠΎΠΌΠ°ΠΆΡ Π΄Π° ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎΡΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°
ΠΠΎΡΠ°ΠΎ ΡΠ°ΠΌ Π΄ΠΎ Π·Π°ΠΊΡΡΡΠΊΠ° Π΄Π° ΠΏΠΎΡΡΠΎΡΠ΅ ΡΡΠΈ ΠΏΡΠΈΡΡΡΠΏΠ° ΠΊΠΎΡΠ° ΡΠ΅ ΠΌΠΎΠ³Ρ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π·Π° ΠΈΠ·Π²ΠΎΡΠ΅ΡΠ΅ Π/Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠ° ΠΊΠΎΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠ°Π²Π°ΡΡ ΠΏΠΎΡΡΠΎΡΠ°Π½ΠΎΡΡ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°. Π‘Π²ΠΈ ΠΎΠ½ΠΈ Π·Π°Ρ
ΡΠ΅Π²Π°ΡΡ ΠΏΠΎΠ·ΠΈΠ² ΡΡΠ½ΠΊΡΠΈΡΠ΅ fsync()
Π·Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ Ρ ΠΊΠΎΠΌΠ΅ ΡΠ΅ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° ΠΊΡΠ΅ΠΈΡΠ°Π½Π°. ΠΠ²ΠΎ ΡΡ ΠΏΡΠΈΡΡΡΠΏΠΈ:
- ΠΠΎΠ·ΠΈΠ² ΡΡΠ½ΠΊΡΠΈΡΠ΅
fdatasync()
ΠΈΠ»ΠΈfsync()
ΠΏΠΎΡΠ»Π΅ ΡΡΠ½ΠΊΡΠΈΡΠ΅write()
(Π±ΠΎΡΠ΅ ΡΠ΅ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈfdatasync()
). - Π Π°Π΄ ΡΠ° Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠΎΠΌ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ΠΈΠΌ ΡΠ° Π·Π°ΡΡΠ°Π²ΠΈΡΠΎΠΌ
O_DSYNC
ΠΈΠ»ΠΈO_SYNC
(Π±ΠΎΡΠ΅ - ΡΠ° Π·Π°ΡΡΠ°Π²ΠΎΠΌO_DSYNC
). - ΠΠΎΡΠΈΡΡΠ΅ΡΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρ
pwritev2()
ΡΠ° Π·Π°ΡΡΠ°Π²ΠΎΠΌRWF_DSYNC
ΠΈΠ»ΠΈRWF_SYNC
(ΠΏΠΎ ΠΌΠΎΠ³ΡΡΠ½ΠΎΡΡΠΈ ΡΠ° Π·Π°ΡΡΠ°Π²ΠΎΠΌRWF_DSYNC
).
ΠΠ°ΠΏΠΎΠΌΠ΅Π½Π΅ ΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ°ΠΌΠ°
ΠΠΈΡΠ°ΠΌ ΠΏΠ°ΠΆΡΠΈΠ²ΠΎ ΠΌΠ΅ΡΠΈΠΎ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌΠ° ΠΊΠΎΡΠ΅ ΡΠ°ΠΌ ΠΈΡΠΏΠΈΡΠΈΠ²Π°ΠΎ. Π Π°Π·Π»ΠΈΠΊΠ΅ ΠΊΠΎΡΠ΅ ΡΠ°ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΈΠΎ Ρ Π±ΡΠ·ΠΈΠ½ΠΈ ΡΠΈΡ ΠΎΠ²ΠΎΠ³ ΡΠ°Π΄Π° ΡΡ Π²Π΅ΠΎΠΌΠ° ΠΌΠ°Π»Π΅. Π’ΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΠΌΠΎΠΆΠ΄Π° Π³ΡΠ΅ΡΠΈΠΌ ΠΈ Π΄Π° ΠΏΠΎΠ΄ ΡΠ°Π·Π»ΠΈΡΠΈΡΠΈΠΌ ΡΡΠ»ΠΎΠ²ΠΈΠΌΠ° ΠΈΡΡΠ° ΡΡΠ²Π°Ρ ΠΌΠΎΠΆΠ΅ Π΄Π°ΡΠΈ ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ΅. ΠΡΠ²ΠΎ ΡΡ Π³ΠΎΠ²ΠΎΡΠΈΡΠΈ ΠΎ ΡΠΎΠΌΠ΅ ΡΡΠ° Π²ΠΈΡΠ΅ ΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅, Π° Π·Π°ΡΠΈΠΌ ΡΡΠ° ΠΌΠ°ΡΠ΅ ΡΡΠΈΡΠ΅ Π½Π° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅.
- ΠΠ°ΠΌΠ΅Π½Π° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅ ΡΠ΅ Π±ΡΠΆΠ° ΠΎΠ΄ Π΄ΠΎΠ΄Π°Π²Π°ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ (ΠΊΠΎΡΠΈΡΡ ΠΎΠ΄ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ 2-100%). ΠΠΎΠ΄Π°Π²Π°ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ Π·Π°Ρ
ΡΠ΅Π²Π° Π΄ΠΎΠ΄Π°ΡΠ½Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅ Ρ ΠΌΠ΅ΡΠ°ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ΅, ΡΠ°ΠΊ ΠΈ Π½Π°ΠΊΠΎΠ½ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΎΠ³ ΠΏΠΎΠ·ΠΈΠ²Π°
fallocate()
, Π°Π»ΠΈ Π²Π΅Π»ΠΈΡΠΈΠ½Π° ΠΎΠ²ΠΎΠ³ Π΅ΡΠ΅ΠΊΡΠ° ΠΌΠΎΠΆΠ΅ Π²Π°ΡΠΈΡΠ°ΡΠΈ. ΠΠ° Π½Π°ΡΠ±ΠΎΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΡΡΠ΅ΠΌ Π΄Π° ΠΏΠΎΠ·ΠΎΠ²Π΅ΡΠ΅fallocate()
Π΄Π° ΡΠ½Π°ΠΏΡΠ΅Π΄ Π΄ΠΎΠ΄Π΅Π»ΠΈ ΠΏΠΎΡΡΠ΅Π±Π°Π½ ΠΏΡΠΎΡΡΠΎΡ. ΠΠ°ΡΠΈΠΌ ΡΠ΅ ΠΎΠ²Π°Ρ ΠΏΡΠΎΡΡΠΎΡ ΠΌΠΎΡΠ° Π΅ΠΊΡΠΏΠ»ΠΈΡΠΈΡΠ½ΠΎ ΠΏΠΎΠΏΡΠ½ΠΈΡΠΈ Π½ΡΠ»Π°ΠΌΠ° ΠΈ ΠΏΠΎΠ·Π²Π°ΡΠΈfsync()
. ΠΠ²ΠΎ ΡΠ΅ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈΡΠΈ Π΄Π° ΠΎΠ΄Π³ΠΎΠ²Π°ΡΠ°ΡΡΡΠΈ Π±Π»ΠΎΠΊΠΎΠ²ΠΈ Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΠ° Π±ΡΠ΄Ρ ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈ ΠΊΠ°ΠΎ βΠ΄ΠΎΠ΄Π΅ΡΠ΅Π½ΠΈβ ΡΠΌΠ΅ΡΡΠΎ βΠ½Π΅Π΄ΠΎΠ΄Π΅ΡΠ΅Π½ΠΈβ. ΠΠ²ΠΎ Π΄Π°ΡΠ΅ ΠΌΠ°Π»ΠΎ (ΠΎΠΊΠΎ 2%) ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ΅ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ. ΠΠΎΡΠ΅Π΄ ΡΠΎΠ³Π°, Π½Π΅ΠΊΠΈ Π΄ΠΈΡΠΊΠΎΠ²ΠΈ ΠΌΠΎΠ³Ρ ΠΈΠΌΠ°ΡΠΈ ΡΠΏΠΎΡΠΈΡΠΈ ΠΏΡΠ²ΠΈ ΠΏΡΠΈΡΡΡΠΏ Π±Π»ΠΎΠΊΡ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈΡ . Π’ΠΎ Π·Π½Π°ΡΠΈ Π΄Π° ΠΏΠΎΠΏΡΡΠ°Π²Π°ΡΠ΅ ΠΏΡΠΎΡΡΠΎΡΠ° Π½ΡΠ»Π°ΠΌΠ° ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠ²Π΅ΡΡΠΈ Π΄ΠΎ Π·Π½Π°ΡΠ°ΡΠ½ΠΎΠ³ (ΠΎΠΊΠΎ 100%) ΠΏΠΎΠ±ΠΎΡΡΠ°ΡΠ° ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠΈ. ΠΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎ, ΡΠΎ ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄ΠΎΠ³ΠΎΠ΄ΠΈΡΠΈ ΡΠ° Π΄ΠΈΡΠΊΠΎΠ²ΠΈΠΌΠ°ΠΠΠ‘ ΠΠΠ‘ (ΠΎΠ²ΠΎ ΡΡ Π½Π΅Π·Π²Π°Π½ΠΈΡΠ½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΈ, Π½ΠΈΡΠ°ΠΌ ΠΌΠΎΠ³Π°ΠΎ Π΄Π° ΠΏΠΎΡΠ²ΡΠ΄ΠΈΠΌ). ΠΡΡΠΎ Π²Π°ΠΆΠΈ ΠΈ Π·Π° ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ΠΠ¦Π ΡΡΠ°ΡΠ½ΠΈ Π΄ΠΈΡΠΊ (Π° ΠΎΠ²ΠΎ ΡΠ΅ Π²Π΅Ρ Π·Π²Π°Π½ΠΈΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π° ΡΠ΅ΡΡΠΎΠ²ΠΈΠΌΠ°). Π Π΄ΡΡΠ³ΠΈ ΡΡΡΡΡΡΠ°ΡΠΈ ΡΡ ΡΡΠ°Π΄ΠΈΠ»ΠΈ ΠΈΡΡΠΎposmatranje , Π²Π΅Π·Π°Π½ΠΎ Π·Π° ΡΠ°Π·Π»ΠΈΡΠΈΡΠ΅ Π΄ΠΈΡΠΊΠΎΠ²Π΅. - Π¨ΡΠΎ ΡΠ΅ ΠΌΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡ
ΠΏΠΎΠ·ΠΈΠ²Π°, ΡΠΎ ΡΡ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ΅ Π²Π΅ΡΠ΅ (Π΄ΠΎΠ±ΠΈΡΠ°ΠΊ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΠΎΠΊΠΎ 5%). ΠΠ·Π³Π»Π΅Π΄Π° ΠΊΠ°ΠΎ ΠΈΠ·Π°Π·ΠΎΠ²
open()
ΡΠ° Π·Π°ΡΡΠ°Π²ΠΎΠΌO_DSYNC
ΠΈΠ»ΠΈ ΠΏΠΎΠ·ΠΎΠ²ΠΈΡΠ΅pwritev2()
ΡΠ° Π·Π°ΡΡΠ°Π²ΠΎΠΌRWF_SYNC
Π±ΡΠΆΠ΅ ΠΎΠ΄ ΠΏΠΎΠ·ΠΈΠ²Π°fdatasync()
. ΠΡΠ΅ΡΠΏΠΎΡΡΠ°Π²ΡΠ°ΠΌ Π΄Π° ΡΠ΅ ΠΏΠΎΠ΅Π½ΡΠ° ΠΎΠ²Π΄Π΅ Ρ ΡΠΎΠΌΠ΅ ΡΡΠΎ ΠΎΠ²Π°Ρ ΠΏΡΠΈΡΡΡΠΏ ΠΈΠ³ΡΠ° ΡΠ»ΠΎΠ³Ρ Ρ ΡΠΈΡΠ΅Π½ΠΈΡΠΈ Π΄Π° ΡΠ΅ ΠΌΠΎΡΠ° ΠΈΠ·Π²ΡΡΠΈΡΠΈ ΠΌΠ°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡ ΠΏΠΎΠ·ΠΈΠ²Π° Π΄Π° Π±ΠΈ ΡΠ΅ ΡΠ΅ΡΠΈΠΎ ΠΈΡΡΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ (ΡΠ΅Π΄Π°Π½ ΠΏΠΎΠ·ΠΈΠ² ΡΠΌΠ΅ΡΡΠΎ Π΄Π²Π°). ΠΠ»ΠΈ ΡΠ°Π·Π»ΠΈΠΊΠ° Ρ ΠΏΠ΅ΡΡΠΎΡΠΌΠ°Π½ΡΠ°ΠΌΠ° ΡΠ΅ Π²Π΅ΠΎΠΌΠ° ΠΌΠ°Π»Π°, ΡΠ°ΠΊΠΎ Π΄Π° ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΡΠΏΡΠ½ΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠ°ΡΠΈ ΠΈ ΠΊΠΎΡΠΈΡΡΠΈΡΠΈ Π½Π΅ΡΡΠΎ Ρ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠΈ ΡΡΠΎ Π½Π΅ΡΠ΅ ΠΊΠΎΠΌΠΏΠ»ΠΈΠΊΠΎΠ²Π°ΡΠΈ ΡΠ΅Π½Ρ Π»ΠΎΠ³ΠΈΠΊΡ.
ΠΠΊΠΎ ΡΡΠ΅ Π·Π°ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠΎΠ²Π°Π½ΠΈ Π·Π° ΡΠ΅ΠΌΡ ΠΎΠ΄ΡΠΆΠΈΠ²ΠΎΠ³ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ° ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ°, Π΅Π²ΠΎ Π½Π΅ΠΊΠΎΠ»ΠΈΠΊΠΎ ΠΊΠΎΡΠΈΡΠ½ΠΈΡ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π»Π°:
Π/Π ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΏΡΠΈΡΡΡΠΏΠ° β ΠΏΡΠ΅Π³Π»Π΅Π΄ ΠΎΡΠ½ΠΎΠ²Π° ΡΠ»Π°Π·Π½ΠΎ/ΠΈΠ·Π»Π°Π·Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·Π°ΠΌΠ°.ΠΠ±Π΅Π·Π±Π΅ΡΠΈΠ²Π°ΡΠ΅ Π΄Π° ΠΏΠΎΠ΄Π°ΡΠΈ ΡΡΠΈΠ³Π½Ρ Π΄ΠΎ Π΄ΠΈΡΠΊΠ° β ΠΏΡΠΈΡΠ° ΠΎ ΡΠΎΠΌΠ΅ ΡΡΠ° ΡΠ΅ Π΄Π΅ΡΠ°Π²Π° ΡΠ° ΠΏΠΎΠ΄Π°ΡΠΈΠΌΠ° Π½Π° ΠΏΡΡΡ ΠΎΠ΄ Π°ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΡΠ΅ Π΄ΠΎ Π΄ΠΈΡΠΊΠ°.ΠΠ°Π΄Π° ΡΡΠ΅Π±Π° ΡΡΠΈΠ½Ρ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠΌ ΠΊΠΎΡΠΈ ΡΠ°Π΄ΡΠΆΠΈ - ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ Π½Π° ΠΏΠΈΡΠ°ΡΠ΅ ΠΊΠΎΠ³Π° ΠΊΠΎΡΠΈΡΡΠΈΡΠΈfsync()
Π·Π° ΠΈΠΌΠ΅Π½ΠΈΠΊΠ΅. Π£ΠΊΡΠ°ΡΠΊΠΎ, ΠΈΡΠΏΠΎΡΡΠ°Π²ΠΈΠ»ΠΎ ΡΠ΅ Π΄Π° ΡΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΡΡΠ°Π΄ΠΈΡΠ΅ ΠΊΠ°Π΄Π° ΠΊΡΠ΅ΠΈΡΠ°ΡΠ΅ Π½ΠΎΠ²Ρ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ, Π° ΡΠ°Π·Π»ΠΎΠ³ Π·Π° ΠΎΠ²Ρ ΠΏΡΠ΅ΠΏΠΎΡΡΠΊΡ ΡΠ΅ ΡΠ°Ρ ΡΡΠΎ Ρ ΠΠΈΠ½ΡΠΊΡ ΠΌΠΎΠΆΠ΅ Π±ΠΈΡΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅ΡΠ΅Π½ΡΠΈ Π½Π° ΠΈΡΡΡ Π΄Π°ΡΠΎΡΠ΅ΠΊΡ.Π‘ΠΠ Π‘Π΅ΡΠ²Π΅Ρ Π½Π° ΠΠΈΠ½ΡΠΊ-Ρ: Π€Π£Π ΠΠ½ΡΠ΅ΡΠ½Π°Π»Ρ β Π΅Π²ΠΎ ΠΎΠΏΠΈΡΠ° ΠΊΠ°ΠΊΠΎ ΡΠ΅ ΡΡΠ°ΡΠ½ΠΎ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ΡΠ΅ ΠΏΠΎΠ΄Π°ΡΠ°ΠΊΠ° ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠΈΡΠ°Π½ΠΎ Ρ Π‘ΠΠ Π‘Π΅ΡΠ²Π΅Ρ Π½Π° ΠΠΈΠ½ΡΠΊ ΠΏΠ»Π°ΡΡΠΎΡΠΌΠΈ. ΠΠ²Π΄Π΅ ΠΏΠΎΡΡΠΎΡΠ΅ Π½Π΅ΠΊΠ° Π·Π°Π½ΠΈΠΌΡΠΈΠ²Π° ΠΏΠΎΡΠ΅ΡΠ΅ΡΠ° ΠΈΠ·ΠΌΠ΅ΡΡ ΠΠΈΠ½Π΄ΠΎΠ²Ρ ΠΈ ΠΠΈΠ½ΡΠΊ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈΡ ΠΏΠΎΠ·ΠΈΠ²Π°. ΠΠΎΡΠΎΠ²ΠΎ ΡΠ°ΠΌ ΡΠΈΠ³ΡΡΠ°Π½ Π΄Π° ΡΠ°ΠΌ Π·Π°Ρ Π²Π°ΡΡΡΡΡΠΈ ΠΎΠ²ΠΎΠΌ ΠΌΠ°ΡΠ΅ΡΠΈΡΠ°Π»Ρ Π½Π°ΡΡΠΈΠΎ ΠΎ Π€Π£Π ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΈ ΠΠ‘Π€Π‘-Π°.
ΠΠ° Π»ΠΈ ΡΡΠ΅ ΠΈΠ·Π³ΡΠ±ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π°ΡΠΊΠ΅ Π·Π° ΠΊΠΎΡΠ΅ ΡΡΠ΅ ΠΌΠΈΡΠ»ΠΈΠ»ΠΈ Π΄Π° ΡΡ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎ ΡΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅Π½ΠΈ Π½Π° Π΄ΠΈΡΠΊΡ?
ΠΠ·Π²ΠΎΡ: Π²Π²Π².Ρ
Π°Π±Ρ.ΡΠΎΠΌ