ืื ื, ืืืงืจ ืืช ืืืฆืืืืช ืฉื ืืืกืื ื ืชืื ืื ืืืขืจืืืช ืขื ื, ืืืืืชื ืืืืืง ืืช ืขืฆืื, ืืื ืืืืื ืฉืื ื ืืืื ืืช ืืืืจืื ืืืกืืกืืื. ืื ื
ืืืืืจ ืื, ืื ื ืืืงืจ ืืช ืื ืื ืื ื ืืืชืืื ืืืกืืคืงืื ืขื ืืื ืืืฉืงื API ืฉื ืงืืฆื ืืื ืืงืก. ื ืจืื ืฉืืื ืฆืจืื ืืืืืช ืคืฉืื ืืื: ืืชืืื ืืช ืงืืจืืช ืืคืงืืื write()
, ืืืืืจ ืืฉืืืช ืคืขืืืช ืืคืงืืื ืืื, ืื ืชืื ืื ืืืืืกื ื ืืฆืืจื ืืืืืืืช ืืืืกืง. ืืื write()
ืืขืชืืง ืจืง ื ืชืื ื ืืืฉืื ืืืืืื ืืืืื ืฉื ืืฆื ื-RAM. ืขื ืื ืช ืืืืฅ ืืช ืืืขืจืืช ืืืชืื ื ืชืื ืื ืืืืกืง, ืืฉ ืืืฉืชืืฉ ืืืื ืื ืื ืื ืื ื ืืกืคืื.
ืืืืคื ืืืื, ืืืืืจ ืืื ืืื ืืืกืฃ ืฉื ืืขืจืืช ืืืชืืืืกืืช ืืื ืฉืืืืชื ืื ืืฉื ืฉืืขื ืืื ืืืชื. ืื ื ืืืจ ืืงืฆืจื ืขื ืืืฉืื ืืืืชืจ, ืืชืืจืจ ืฉืืื ืืืจืื ืืืกืื ื ืชืื ืื ืืจ-ืงืืืื, ืืชื ืฆืจืื ืืืฉืชืืฉ ืืคืงืืื fdatasync()
ืื ืืคืชืื ืงืืฆืื ืขื ืืื O_DSYNC
. ืื ืืชื ืืขืื ืืื ืืืืื ืขืื ืขื ืื ืฉืงืืจื ืื ืชืื ืื ืืืจื ืืงืื ืืืืกืง, ืชืกืชืื ืขื
ืชืืื ืืช ืฉื ืฉืืืืฉ ืืคืื ืงืฆืื write().
ืฉืืืช ืืขืจืืช write()
ืืืืืจ ืืชืงื write()
ืคืขืืืืช ืงืจืืืช ื ืชืื ืื ืืืืืืช ืืืืืืจ ืืืืืง ืืช ืืืชืื ืฉื ืืชืื ืงืืื ืืื, ืืขืฉืืช ืืืช ืื ืื ืืืืฉื ืื ืชืื ืื ืืชืืฆืขืช ืืชืืืืืื ืื ืฉืจืฉืืจืื ืืืจืื (
ืืื ืื ืืืืจ ืฉืืืืฆืข write()
ืืื ืืืืื? ืื ืงืืืช ืืื ืืื ืืช, ืื. ืคืขืืืืช ืงืจืืืช ื ืชืื ืื ืืืืืืช ืืืืืืจ ืืช ืื ืื ืฉื ืืชื ืื ืืฃ ืืื ืืื ื write()
. ืืื ืืืืฆืข write()
, ืืืชืื ืืชืงื, ืื ืืืืืช ืืืกืชืืื, ืืืืจ ืฉืจืฉืื ืืช ืื ืื ืฉืืชืืงืฉื ืืจืฉืื. ืืืชืจ ืืืชืื ืจืง ืืืง ืืื ืชืื ืื. ืืืืืื, ืืืชืื ืฉืืฉ ืื ื ืฉื ื ืืจืืื ืฉืืืกืืคืื ืื ืืื 1024 ืืชืื ืืงืืืฅ ืืืชืืืจ ืขื ืืื ืืืชื ืืชืืจ ืงืืืฅ. ืื ืงืืืช ืืืื ืฉื ืืชืงื, ืืชืืฆืื ืชืืื ืืงืืืืช ืืืฉืจ ืื ืืืช ืืคืขืืืืช ืืืชืืื ืืืืื ืืฆืจืฃ ืืืช ืืื ืืืื ืืงืืืฅ. ืคืขืืืืช ืืื ืืืฉืืจื ืืืืืืืช, ืื ืืืืจ ืฉืื ืืกืชืืืื, ืื ืชืื ืื ืฉืื ืืืชืืื ืืงืืืฅ ืืชืืืืื.
ืคืื ืงืฆืืืช fsync() ื-fdatasync().
ืืืจื ืืงืื ืืืืชืจ ืืฉืืืฃ ื ืชืื ืื ืืืืกืง ืืื ืืงืจืื ืืคืื ืงืฆืื fdatasync()
. ืืชืื fdatasync()
ืืื ืืืืจ ืฉืืืืื ืืคืขืืื ืฉื ืคืื ืงืฆืื ืื, ืืืืช ืืื ืฉื ืืื ื ืชืื ืื ื ืฉืืจืช ืืืืกืง, ืฉืืื "ืืืจืื ืืืืฆืืข ื ืืื ืฉื ืคืขืืืืช ืงืจืืืช ืื ืชืื ืื ืืืืืช." ืืื ืืืืืง ืื ืฉืืฉืื ืืจืื ืืืคืืืงืฆืืืช.
ืืขืื ืืืช ืฉืืืืื ืืืชืขืืจืจ ืืื ืืื ืฉืื ืื ืื ืื ืืื ืืื ื ืืืืืืื ืฉื ืืชื ืืืฆืื ืืช ืืงืืืฅ ืืืืจ ืชืงืื ืืคืฉืจืืช. ืืคืจื, ืืืฉืจ ื ืืฆืจ ืงืืืฅ ืืืฉ, ืืฉ ืืืชืงืฉืจ fsync()
ืขืืืจ ืืกืคืจืืื ืฉืืืืื ืืืชื. ืืืจืช, ืืืืจ ืงืจืืกื, ืขืืื ืืืชืืจืจ ืฉืืงืืืฅ ืืื ืื ืงืืื. ืืกืืื ืืื ืืื ืฉืชืืช UNIX, ืขืงื ืืฉืืืืฉ ืืงืืฉืืจืื ืงืฉืืืื, ืงืืืฅ ืืืื ืืืชืงืืื ืืืกืคืจ ืกืคืจืืืช. ืืื, ืืฉืืชืงืฉืจืื fsync()
ืืื ืืจื ืืงืืืฅ ืืืขืช ืืืื ื ืชืื ื ืกืคืจืืื ืฆืจืืืื ืื ืืืืืช ืืจืืืง ืืืืกืง (fsync()
ืืกืคืจืืืช ืืืืืืืช ืืช ืืงืืฆืื ืืืชืืืืื, ืื ืืืชืื ืฉืื ืื ืืืงืจื ืืืขืจืืืช ืงืืฆืื ืืืจืืช.
ื ืืชื ืืืืฉื ืื ืื ืื ืื ืืฆืืจื ืฉืื ื ืืืขืจืืืช ืงืืฆืื ืฉืื ืืช. ืืฉืชืืฉืชื fdatasync()
ืงืฆืช ืืืชืจ ืืืจ fsync()
. ืชืึนืขึถืึถืช blktrace
ืืขืื ืขื ืื fdatasync()
ืืืจื ืืื ืืืชื ืคืืืช ื ืชืื ืื ืืืืกืง (ื-ext4 fsync()
ืืืชื 20 KiB, ื fdatasync()
- 16 KiB). ืืื ืื, ืืืืืชื ืฉ-XFS ืืขื ืืืืจ ืืืชืจ ื-ext4. ืืืื ืืขืืจืช ืืขืืจื blktrace
ืืฆืืื ืืืืืช ืืืช fdatasync()
ืฉืืืฃ ืคืืืช ื ืชืื ืื ืืืืกืง (4 KiB ื-XFS).
ืืฆืืื ืืขืืจืคืืื ืืขืช ืฉืืืืฉ ื-fsync()
ืื ื ืืืื ืืืฉืื ืขื ืฉืืืฉื ืืฆืืื ืื ืืจืืจืื fsync()
ืฉืื ื ืชืงืืชื ืืคืืขื.
ืืชืงืจืืช ืืจืืฉืื ื ืืื ืืชืจืืฉื ื-2008. ืืืืชื ืืื, ืืืฉืง Firefox 3 "ืงืคื" ืื ืืกืคืจ ืจื ืฉื ืงืืฆืื ื ืืชื ืืืืกืง. ืืืขืื ืืืืชื ืฉืืืืขืช ืืืืฉืง ืืฉืชืืฉื ืืืกื ื ืชืื ืื ืฉื SQLite ืืื ืืืืกื ืืืืข ืขื ืืฆืื. ืืืืจ ืื ืฉืื ืื ืฉืืชืจืืฉ ืืืืฉืง, ืืคืื ืงืฆืื ื ืงืจืื fsync()
, ืื ืฉื ืชื ืขืจืืืืืช ืืืืืช ืืืืกืื ื ืชืื ืื ืืฆืื. ืืืขืจืืช ืืงืืฆืื ext3 ืฉืืืืชื ืืฉืืืืฉ ืื, ืืคืื ืงืฆืื fsync()
ืฉืืฃ ืืืืกืง ืืช ืื ืืืคืื ื"ืืืืืืืื" ืืืขืจืืช, ืืื ืจืง ืืื ืฉืืื ืงืฉืืจืื ืืงืืืฅ ืืืชืืื. ืืฉืืขืืช ืืืืจ ืืื ืฉืืืืฆื ืขื ืืคืชืืจ ืืคืืืจืคืืงืก ืขืืืื ืืืจืื ืืืชืืืช ืืื-ืืืื ืฉื ื ืชืื ืื ืืืืกืง ืืื ืื, ืื ืฉืขืืื ืืืืืฉื ืฉื ืืืช ืจืืืช. ืืคืชืจืื ืืืขืื, ืืืืื ืืื ืชื
ืืืขืื ืืฉื ืืื ืืืจืขื ื-2009. ืืืืจ ืืื, ืืืืจ ืงืจืืกืช ืืขืจืืช, ืืฉืชืืฉืื ืืืขืจืืช ืืงืืฆืื ืืืืฉื ext4 ืืืื ืฉืืจืื ืงืืฆืื ืฉืื ืขืชื ื ืืฆืจื ืืื ืืืืจื ืืคืก, ืืื ืื ืื ืงืจื ืขื ืืขืจืืช ืืงืืฆืื ext3 ืืืฉื ื ืืืชืจ. ืืคืกืงื ืืงืืืืช, ืืืืจืชื ืขื ืืื ext3 ืืจืง ืืืชืจ ืืื ื ืชืื ืื ืขื ืืืืกืง, ืื ืฉืืื ืืืื ืืช ืืงืฆื. fsync()
. ืืื ืืฉืคืจ ืืช ืืืฆื, ext4 ืฉืืืคืช ืจืง ืืช ืืืชื ืืคืื "ืืืืืืืื" ืฉืจืืืื ืืืื ืืงืืืฅ ืืกืืื. ืืื ืชืื ืื ืฉื ืงืืฆืื ืืืจืื ื ืฉืืจืื ืืืืืจืื ืืจืื ืืืชืจ ืืื ืืืฉืจ ืขื ext3. ืื ื ืขืฉื ืืื ืืฉืคืจ ืืช ืืืืฆืืขืื (ืืืจืืจืช ืืืื, ืื ืชืื ืื ื ืฉืืจืื ืืืฆื ืื ืืืฉื 30 ืฉื ืืืช, ืืชื ืืืื ืืืืืืจ ืืืช ืืืืฆืขืืช fsync()
ืืืืฉืืืื ืฉืฆืจืืืื ืืกืคืง ืืืกืื ื ืชืื ืื ืืฆืื ืืืืื ืขืืืื ืืื ืืืคืฉืจ ืืืฉืืืืช ืฉื ืืฉืืื. ืคืึผื ืงืฆึดืึธื fsync()
ืขืืื ืืจืื ืืืชืจ ืืขืื ืขื ext4 ืืืฉืจ ืขื ext3. ืืืืกืจืื ืฉื ืืืฉื ืื ืืื ืฉืืฉืืืืฉ ืื, ืืื ืืขืืจ, ืืื ืืืง ืืืคืขืืืืช, ืืื ืืชืงื ืช ืชืืื ืืืช. ืจืื ืคืจืืื ืขื ืื
ืืืขืื ืืฉืืืฉืืช ืืืื fsync()
, ืืงืืจื ื-2018. ืืืืจ ืืื, ืืืกืืจืช ืคืจืืืงื PostgreSQL, ืืชืืจืจ ืื ืื ืืคืื ืงืฆืื fsync()
ื ืชืงื ืืฉืืืื, ืืื ืืกืื ืืคืื "ืืืืืืืื" ื"ื ืงืืื". ืืชืืฆืื ืืื, ืืฉืืืืช ืืืืืช fsync()
ืื ืืขืฉืืช ืืืื ืขื ืืคืื ืืืื. ืืฉื ืื, ืืคืื ืฉืืฉืชื ื ืืืืืกื ืื ืืืืืจืื ืืืขืืื ืื ื ืืชืืื ืืืืกืง. ืืื ืืกืื ืืืืชื, ืื ืืืคืืืงืฆืื ืชืืฉืื ืฉืืืง ืืื ืชืื ืื ื ืืชืืื ืืืืกืง, ืืื ืืืขืฉื ืื ืื ืืืื. ืืืฉืืื ืืช ืืืื fsync()
ืื ื ืืืจืื, ืืืืฉืื ืืืฆืืื ืืืื ืื ืืืื ืืขืฉืืช ืืืขื ืืืจ ืืื ืืืืืื ืืืขืื. ืืืืื ืืื, ืืฉืื ืงืืจื, PostgreSQL ืืืืฉืืืื ืืืจืื ืงืืจืกืื. O_SYNC
ืื ืขื ืืื O_DSYNC
. ืืืืฉื ืื, ืืืขืจืืช ืชืืืื ืขื ืฉืืืืืช ืฉืขืืืืืช ืืืชืจืืฉ ืืขืช ืืืฆืืข ืคืขืืืืช ืืชืืืช ื ืชืื ืื ืกืคืฆืืคืืืช, ืื ืืืฉื ืื ืืืืืืช ืืช ืืืคืืืงืฆืื ืื ืื ืืช ืืืืืจืื ืืขืฆืื. ืงืจื ืขืื ืขื ืื
ืคืชืืืช ืงืืฆืื ืืืืฆืขืืช ืืืืืื O_SYNC ื-O_DSYNC
ื ืืืืจ ืืืืื ืขื ืื ืื ืื ื ืืื ืืงืก ืืืกืคืงืื ืืืกืื ื ืชืื ืื ืืชืืฉื. ืืืืืจ, ืื ืื ื ืืืืจืื ืขื ืฉืืืืฉ ืืืื O_SYNC
ืื ืืื O_DSYNC
ืืขืช ืคืชืืืช ืงืืฆืื ืืืืฆืขืืช ืฉืืืช ืืขืจืืช write()
ืืืขืจืืช ื ืืชื ืช, ืืืชืืื, ืคืงืืืืช fsync()
ะธ fdatasync()
. ืืชืื write()
ะธ fdatasync()
). ืืืืกืจืื ืืขืืงืจื ืฉื ืืืฉื ืื ืืื ืฉืื ืคืขืืืืช ืืืชืืื ืืืืฆืขืืช ืืชืืจ ืืงืืืฅ ืืืชืืื ืืกืื ืืจื ื, ืื ืฉืืืื ืืืืืื ืืช ืืืืืืช ืืื ืืช ืืช ืงืื ืืืคืืืงืฆืื.
ืฉืืืืฉ ื-I/O ืืฉืืจ ืขื ืืืื O_DIRECT
ืฉืืืช ืืขืจืืช open()
ืชืืื ืืืื O_DIRECT
, ืืฉืจ ื ืืขื ืืขืงืืฃ ืืช ืืืืืื ืฉื ืืขืจืืช ืืืคืขืื, ืืืฆืข ืคืขืืืืช I/O, ืชืื ืืื ืืจืืงืฆืื ืืฉืืจื ืขื ืืืืกืง. ืืฉืืขืืช ืืืืจ, ืืืงืจืื ืจืืื, ืืื ืฉืคืงืืืืช ืืืชืืื ืฉืืื ืคืงื ืขื ืืื ืืชืืื ืืช ืืชืืจืืื ืืฉืืจืืช ืืคืงืืืืช ืฉืืืจืชื ืืขืืื ืขื ืืืืกืง. ืืื, ืืืืคื ืืืื, ืื ืื ืื ืื ืืื ื ืชืืืืฃ ืืคืื ืงืฆืืืช fsync()
ืื fdatasync()
. ืืขืืืื ืืื ืฉืืืืกืง ืขืฆืื ืืืื O_DIRECT
, O_DSYNC
, ืื ืฉืืืจืื ืืื ืฉืื ืคืขืืืช ืืชืืื ืชืืจืืจ ืงืจืืื fdatasync()
.
ืืชืืจืจ ืฉืืขืจืืช ืืงืืฆืื XFS ืืืกืืคื ืืืืจืื ื "ื ืชืื ืืืืจ" ืขืืืจ O_DIRECT|O_DSYNC
-ืจืฉืืืืช ื ืชืื ืื. ืื ืืืืืง ืืืืืฃ ืืืืฆืขืืช O_DIRECT|O_DSYNC
, ืื XFS, ืืืงืื ืืฉืืืฃ ืืช ืืืืืื, ืืืฆืข ืืช ืคืงืืืช ืืืชืืื FUA ืื ืืืชืงื ืชืืื ืื. ืืืืชืชื ืืืช ืืืืฆืขืืช ืืื ืืฉืืจืืช blktrace
ืืืขืจืืช Linux 5.4/Ubuntu 20.04. ืืืฉื ืื ืฆืจืืื ืืืืืช ืืขืืื ืืืชืจ, ืืืืืื ืฉืืื ืืืชืืช ืืช ืืืืช ืื ืชืื ืื ืืืื ืืืืืช ืืืืกืง ืืืฉืชืืฉืช ืืคืขืืื ืืืช, ืื ืฉืชืืื (ืืชืืื ืืฉืืืคื ืฉื ืืืืืื). ืืฆืืชื ืงืืฉืืจ ื
ืคืื ืงืฆืืืช sync_file_range()โ
ืืืื ืืงืก ืืฉ ืงืจืืืช ืืขืจืืช sync_file_range()
ืืืืจืื ืฉืืคืงืืื ืืื ืืื "ืืกืืื ืช ืืืื". ืื ืืืืืฅ ืืืฉืชืืฉ ืื. ืชืืื ืืช ืืกืื ืืช sync_file_range()
ืืชืืืจ ืืืื ื fdatasync()
. ืืชืื sync_file_range()
ืืขืช ืฉืืืืฉ ื-ZFS ืืื ื ืฉืืืฃ ื ืชืื ืื ืืืืกืง. ืื ืืกืืื ืืืืจ ืื ืฉืงืื ืืฉืืืืฉ ื ืืืจ ืขืฉืื ืืืืื ืืืืื. ืืื, ืืืืชื ืืืืืฅ ืื ืืืฉืชืืฉ ืืฉืืืช ืืขืจืืช ืื ืืื ืื ืื ืืืจืื.
ืงืจืืืืช ืืขืจืืช ืืื ืืกืืืข ืืืืืืช ืืชืืื ืฉื ืื ืชืื ืื
ืืืขืชื ืืืกืงื ื ืฉืืฉ ืฉืืืฉ ืืืฉืืช ืฉื ืืชื ืืืฉืชืืฉ ืืื ืืืืฆืืข ืคืขืืืืช I/O ืืชืืฉืืืช. ืืืื ืืืจืฉืื ืงืจืืืช ืคืื ืงืฆืื 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%). ืืคืจื, ืื ืืืื ืืงืจืืช ืขื ืืืกืงืื.AWS EBS (ืืื ื ืชืื ืื ืื ืจืฉืืืื, ืื ืืืืืชื ืืืฉืจ ืืืชื). ืืืชื ืืืจ ืืืื ืืืกืื.ืืืกืง ืืชืืื ืฉื GCP (ืืื ืืืจ ืืืืข ืจืฉืื, ืฉืืืฉืจ ืืืืืงืืช). ืืืืืื ืืืจืื ืขืฉื ืืช ืืืชื ืืืืจืชืฆืคืืืช ืงืฉืืจ ืืืืกืงืื ืฉืื ืื. - ืืื ืฉืคืืืช ืฉืืืืช ืืขืจืืช, ืื ืืืืฆืืขืื ืืืืืื ืืืชืจ (ืืจืืื ืืืื ืืืืืช ื-5%). ืื ื ืจืื ืืื ืฉืืื
open()
ืขื ืืืO_DSYNC
ืื ืฉืืืpwritev2()
ืขื ืืืRWF_SYNC
ืฉืืื ืืืืจื ืืืชืจfdatasync()
. ืื ื ืืืฉื ืฉืื ืงืืื ืืื ืืื ืฉืืืืฉื ืืื, ืืขืืืื ืฉืฆืจืื ืืืฆืข ืคืืืช ืงืจืืืืช ืืขืจืืช ืืื ืืคืชืืจ ืืช ืืืชื ืืฉืืื (ืงืจืืื ืืืช ืืืงืื ืฉืชืืื) ืืฉืืงืช ืชืคืงืื. ืืื ืืืืื ืืืืฆืืขืื ืืื ืงืื ืืืื, ืื ืฉืืชื ืืืื ืืงืืืช ืืืชืขืื ืืื ื ืืืืฉืชืืฉ ืืืฉืื ืืืคืืืงืฆืื ืฉืื ืืืืื ืืกืืืื ืฉื ืืืืืืื ืฉืื.
ืื ืืชื ืืขืื ืืื ืื ืืฉื ืืืกืื ื ืชืื ืื ืืจ-ืงืืืื, ืื ื ืืื ืืืืจืื ืฉืืืืฉืืื:
ืฉืืืืช ืืืฉื ื-I/O - ืกืงืืจื ืืืืืช ืฉื ืืืกืืืืช ืฉื ืื ืื ืื ื ืงืื/ืคืื.ืืืืืช ืฉืื ืชืื ืื ืืืืขืื ืืืืกืง - ืกืืคืืจ ืขื ืื ืฉืงืืจื ืื ืชืื ืื ืืืจื ืืืืคืืืงืฆืื ืืืืกืง.ืืชื ืขืืื ืืกื ืืจื ืืช ืืกืคืจืืื ืืืืืื - ืืชืฉืืื ืืฉืืื ืืชื ืืืืืฉ ืืงืฉืfsync()
ืขืืืจ ืกืคืจืืืช. ืืงืฆืจื, ืืกืชืืจ ืฉืฆืจืื ืืขืฉืืช ืืืช ืืขืช ืืฆืืจืช ืงืืืฅ ืืืฉ, ืืืกืืื ืืืืืฆื ืื ืืื ืฉืืืื ืืงืก ืืืืืืช ืืืืืช ืืคื ืืืช ืจืืืช ืืืืชื ืงืืืฅ.SQL Server ื-Linux: FUA Internals - ืื ื ืชืืืืจ ืฉื ืืืืคื ืฉืื ืืืกืื ื ืชืื ืื ืืชืืฉื ืืืืฉื ื-SQL Server ืืคืืืคืืจืืช ืืื ืืงืก. ืืฉ ืืื ืืื ืืฉืืืืืช ืืขื ืืื ืืช ืืื ืงืจืืืืช ืืขืจืืช ืฉื Windows ื-Linux. ืื ื ืืืขื ืืืื ืฉืืืืืช ืืืืืจ ืืื ืืืืชื ืขื ืืืคืืืืืืฆืืืช FUA ืฉื XFS.
ืืื ืืืืืช ืื ืคืขื ื ืชืื ืื ืฉืืฉืืช ืฉืืืืกื ื ืืฆืืจื ืืืืืืืช ืืืืกืง?
ืืงืืจ: www.habr.com