ื•ื•ื™ืจื˜ื•ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืื™ืŸ ืœื™ื ื•ืงืก: ื•ื•ืึธืก ื–ืขื ืขืŸ ื–ื™ื™ ื“ืืจืฃ ืื•ืŸ ื•ื•ื™ ื˜ืึธืŸ ื–ื™ื™ ืึทืจื‘ืขื˜ืŸ? ื˜ื™ื™ืœ 2

ื”ืขืœื ืึทืœืขืžืขืŸ, ืžื™ืจ ื˜ื™ื™ืœืŸ ืžื™ื˜ ืื™ืจ ื“ื™ ืจื’ืข ื˜ื™ื™ืœ ืคื•ืŸ ื“ืขืจ ื•ื™ืกื’ืึทื‘ืข "ื•ื•ื™ืจื˜ื•ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืื™ืŸ ืœื™ื ื•ืงืก: ื•ื•ืึธืก ื–ืขื ืขืŸ ื–ื™ื™ ื“ืืจืฃ ืื•ืŸ ื•ื•ื™ ื˜ืึธืŸ ื–ื™ื™ ืึทืจื‘ืขื˜ืŸ?" ืื™ืจ ืงืขื ื˜ ืœื™ื™ืขื ืขืŸ ื“ืขื ืขืจืฉื˜ืขืจ ื˜ื™ื™ืœ ื“ืึธ. ื–ืืœ ืื•ื ื“ื– ื“ืขืจืžืึธื ืขืŸ ืื™ืจ ืึทื– ื“ื™ ืกืขืจื™ืข ืคื•ืŸ โ€‹โ€‹ืื•ื™ืกื’ืื‘ืขืก ืื™ื– ื˜ื™ื™ืžื“ ืฆื• ืฆื•ื ื•ื™ืคืคืึทืœืŸ ืžื™ื˜ ื“ื™ ืงืึทื˜ืขืจ ืคื•ืŸ ืึท ื ื™ื™ึท ื˜ื™ื™ึทืš ืื•ื™ืฃ ื“ืขื ืงื•ืจืก "ืœื™ื ื•ืงืก ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ", ื•ื•ืึธืก ื”ื™ื™ื‘ื˜ ื–ื™ืš ื–ื™ื™ืขืจ ื‘ืึทืœื“.

ื•ื•ื™ ืฆื• ืžืึธื ื™ื˜ืึธืจ VFS ื ื™ืฆืŸ eBPF ืื•ืŸ Bcc ืžื›ืฉื™ืจื™ื

ื“ื™ ื™ื–ื™ืึทืกื˜ ื•ื•ืขื’ ืฆื• ืคึฟืึทืจืฉื˜ื™ื™ืŸ ื•ื•ื™ ื“ืขืจ ืงืขืจืŸ ืึทืคึผืขืจื™ื™ืฅ ืื•ื™ืฃ ื˜ืขืงืขืก sysfs ืื™ื– ืฆื• ื–ืขืŸ ืขืก ืื™ืŸ ืคื™ืจ, ืื•ืŸ ื“ื™ ื™ื–ื™ืึทืกื˜ ื•ื•ืขื’ ืฆื• ื”ื™ื˜ืŸ ARM64 ืื™ื– ืฆื• ื ื•ืฆืŸ eBPF. eBPF (ืงื•ืจืฅ ืคึฟืึทืจ Berkeley Packet Filter) ื‘ืืฉื˜ื™ื™ื˜ ืคื•ืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ืคืœื™ืกื ื“ื™ืง ืื™ืŸ ื”ืึทืจืฅ, ื•ื•ืึธืก ืคึผืจื™ื•ื•ืœื™ื“ื–ืฉื“ ื™ื•ื–ืขืจื– ืงืขื ืขืŸ ื‘ืขื˜ืŸ (query) ืคึฟื•ืŸ ื“ื™ ื‘ืึทืคึฟืขืœืŸ ืฉื•ืจื”. ื“ื™ ืงืขืจื ืขืœ ืงื•ื•ืืœืŸ ื–ืึธื’ืŸ ื“ืขื ืœื™ื™ืขื ืขืจ ื•ื•ืึธืก ื“ืขืจ ืงืขืจืŸ ืงืขื ืขืŸ ื˜ืึธืŸ; ืคืœื™ืกื ื“ื™ืง ื“ื™ eBPF ืžื›ืฉื™ืจื™ื ืื•ื™ืฃ ืึท ืœืึธื•ื“ื™ื“ ืกื™ืกื˜ืขื ื•ื•ื™ื™ื–ื˜ ื•ื•ืึธืก ื“ื™ ืงืขืจืŸ ืื™ื– ืคืืงื˜ื™ืฉ ื˜ืืŸ.

ื•ื•ื™ืจื˜ื•ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืื™ืŸ ืœื™ื ื•ืงืก: ื•ื•ืึธืก ื–ืขื ืขืŸ ื–ื™ื™ ื“ืืจืฃ ืื•ืŸ ื•ื•ื™ ื˜ืึธืŸ ื–ื™ื™ ืึทืจื‘ืขื˜ืŸ? ื˜ื™ื™ืœ 2

ืฆื•ืž ื’ืœื™ืง, ื’ืขื˜ื™ื ื’ ืกื˜ืึทืจื˜ืขื“ ื ื™ืฆืŸ eBPF ืื™ื– ื’ืึทื ืฅ ื’ืจื™ื ื’ ืžื™ื˜ ื“ื™ ื”ื™ืœืฃ ืคื•ืŸ ืžื›ืฉื™ืจื™ื ื‘ืงืง, ื•ื•ืึธืก ื–ืขื ืขืŸ ื‘ื ื™ืžืฆื ื•ื•ื™ ืคึผืึทืงืึทื“ื–ืฉืึทื– ืคื•ืŸ ื“ื™ ืึทืœื’ืขืžื™ื™ื ืข ืคืึทืจืฉืคึผืจื™ื™ื˜ื•ื ื’ ืœื™ื ื•ืงืก ืื•ืŸ ื“ืึทืงื™ื•ืžืขื ื˜ืึทื“ ืื™ืŸ ื“ืขื˜ืึทืœ ื‘ืขืจื ืึทืจื“ ื’ืจืขื’. ืžื›ืฉื™ืจื™ื bcc ื–ืขื ืขืŸ ืคึผื™ื˜ื”ืึธืŸ ืกืงืจื™ืคึผืก ืžื™ื˜ ืงืœื™ื™ืŸ ื™ื ืกืขืจืฉืึทื ื– ืคื•ืŸ C ืงืึธื“, ื•ื•ืึธืก ืžื™ื˜ืœ ืึทื– ื•ื•ืขืจ ืขืก ื™ื– ื‘ืึทืงืึทื ื˜ ืžื™ื˜ ื‘ื™ื™ื“ืข ืฉืคึผืจืึทื›ืŸ ืงืขื ืขืŸ ืœื™ื™ื›ื˜ ืžืึธื“ื™ืคื™ืฆื™ืจืŸ ื–ื™ื™. ืื™ืŸ bcc/tools ืขืก ื–ืขื ืขืŸ 80 ืคึผื™ื˜ื”ืึธืŸ ืกืงืจื™ืคึผืก, ื•ื•ืึธืก ืžื™ื˜ืœ ืึทื– ืจื•ื‘ึฟ ืžืกืชึผืžื ืึท ื“ืขื•ื•ืขืœืึธืคึผืขืจ ืึธื“ืขืจ ืกื™ืกื˜ืขื ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ื•ื•ืขื˜ ืงืขื ืขืŸ ืฆื• ืงืœื™ื™ึทื‘ืŸ ืขืคึผืขืก ืคึผืึทืกื™ืง ืคึฟืึทืจ ืกืึทืœื•ื•ื™ื ื’ ื“ืขื ืคึผืจืึธื‘ืœืขื.
ืฆื• ื‘ืึทืงื•ืžืขืŸ ืื™ืŸ ืžื™ื ื“ืกื˜ืขืจ ืึท ืื•ื™ื‘ื ืื•ื™ืคื™ืงืขืจ ื’ืขื“ืึทื ืง ืคื•ืŸ ื•ื•ืึธืก VFS ืึทืจื‘ืขื˜ ืื•ื™ืฃ ืึท ืคืœื™ืกื ื“ื™ืง ืกื™ืกื˜ืขื, ืคึผืจื•ื‘ื™ืจืŸ vfscount ืึธื“ืขืจ vfsstat. ื“ืึธืก ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ, ืœืึธืžื™ืจ ื–ืึธื’ืŸ, ืึทื– ื“ืึทื–ืึทื ื– ืคื•ืŸ ืงืึทืœืœืก vfs_open() ืื•ืŸ "ื–ื™ื™ืŸ ืคืจื™ื™ื ื˜" ืคึผืึทืกื™ืจืŸ ืžืžืฉ ื™ืขื“ืขืจ ืจื’ืข.

ื•ื•ื™ืจื˜ื•ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืื™ืŸ ืœื™ื ื•ืงืก: ื•ื•ืึธืก ื–ืขื ืขืŸ ื–ื™ื™ ื“ืืจืฃ ืื•ืŸ ื•ื•ื™ ื˜ืึธืŸ ื–ื™ื™ ืึทืจื‘ืขื˜ืŸ? ื˜ื™ื™ืœ 2

vfsstat.py ืื™ื– ืึท ืคึผื™ื˜ื”ืึธืŸ ืฉืจื™ืคื˜ ืžื™ื˜ C ืงืึธื“ ื™ื ืกืขืจืฅ ืึทื– ืคืฉื•ื˜ ืงืึทื•ื ืฅ VFS ืคึฟื•ื ืงืฆื™ืข ืจื•ืคื˜.

ืœืึธืžื™ืจ ื’ืขื‘ืŸ ืึท ืžืขืจ ื ื™ืฉื˜ื™ืง ื‘ื™ื™ึทืฉืคึผื™ืœ ืื•ืŸ ื–ืขืŸ ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ื•ื•ืขืŸ ืžื™ืจ ืึทืจื™ื™ึทื ืœื™ื™ื’ืŸ ืึท ื•ืกื‘ ื‘ืœื™ืฅ ืคืึธืจ ืื™ืŸ ืึท ืงืึธืžืคึผื™ื•ื˜ืขืจ ืื•ืŸ ื“ื™ ืกื™ืกื˜ืขื ื“ื™ื˜ืขืงืฅ ืขืก.

ื•ื•ื™ืจื˜ื•ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืื™ืŸ ืœื™ื ื•ืงืก: ื•ื•ืึธืก ื–ืขื ืขืŸ ื–ื™ื™ ื“ืืจืฃ ืื•ืŸ ื•ื•ื™ ื˜ืึธืŸ ื–ื™ื™ ืึทืจื‘ืขื˜ืŸ? ื˜ื™ื™ืœ 2

ื ื™ืฆืŸ eBPF ืื™ืจ ืงืขื ืขืŸ ื–ืขืŸ ื•ื•ืึธืก ืื™ื– ื’ืขืฉืขืขื ื™ืฉ ืื™ืŸ /sysื•ื•ืขืŸ ืึท ื•ืกื‘ ื‘ืœื™ืฅ ืคืึธืจ ืื™ื– ื™ื ืกืขืจื˜ืึทื“. ื ืคึผืฉื•ื˜ ืื•ืŸ ืงืึธืžืคึผืœื™ืฆื™ืจื˜ ื‘ื™ื™ึทืฉืคึผื™ืœ ืื™ื– ื’ืขื•ื•ื™ื–ืŸ ื“ืึธ.

ืื™ืŸ ื“ืขื ื‘ื™ื™ึทืฉืคึผื™ืœ ื’ืขื•ื•ื™ื–ืŸ ืื•ื™ื‘ืŸ, bcc ื’ืขืฆื™ื™ึทื’ trace.py ืคึผืจื™ื ืฅ ืึท ืึธื ื–ืึธื’ ื•ื•ืขืŸ ื“ื™ ื‘ืึทืคึฟืขืœ ืื™ื– ืœื•ื™ืคืŸ sysfs_create_files(). ืžื™ืจ ื–ืขืŸ ืึทื– sysfs_create_files() ืื™ื– ืœืึธื ื˜ืฉื˜ ื ื™ืฆืŸ kworker ื˜ื™ื™ึทืš ืื™ืŸ ืขื ื˜ืคืขืจ ืฆื• ื“ื™ ืคืึทืงื˜ ืึทื– ื“ื™ ื‘ืœื™ืฅ ืคืึธืจ ืื™ื– ื™ื ืกืขืจื˜ืึทื“, ืึธื‘ืขืจ ื•ื•ืึธืก ื˜ืขืงืข ืื™ื– ื‘ืืฉืืคืŸ? ื“ื™ ืจื’ืข ื‘ื™ื™ืฉืคึผื™ืœ ื•ื•ื™ื™ื–ื˜ ื“ื™ ืžืึทื›ื˜ ืคื•ืŸ eBPF. ื“ืึธ trace.py ืคึผืจื™ื ืฅ ืึท ืงืขืจืŸ ื‘ืึทืงื˜ืจืึทืกืข (-ืง ืึธืคึผืฆื™ืข) ืื•ืŸ ื“ื™ ื ืึธืžืขืŸ ืคื•ืŸ ื“ืขืจ ื˜ืขืงืข ื•ื•ืึธืก ืื™ื– ื‘ืืฉืืคืŸ sysfs_create_files(). ืื™ื™ืŸ ื•ื™ืกื–ืึธื’ื•ื ื’ ื™ื ืกืขืจืฉืึทืŸ ืื™ื– C ืงืึธื“ ื•ื•ืึธืก ื›ื•ืœืœ ืึท ืœื™ื™ื›ื˜ ืจืขืงืึทื’ื ื™ื™ื–ืึทื‘ืึทืœ ืคึฟืึธืจืžืึทื˜ ืฉื˜ืจื™ืงืœ ืฆื•ื’ืขืฉื˜ืขืœื˜ ื“ื•ืจืš ื“ื™ ืคึผื™ื˜ื”ืึธืŸ ืฉืจื™ืคื˜ ื•ื•ืึธืก ืœื•ื™ืคื˜ LLVM ืคึผื•ื ืงื˜-ืื™ืŸ-ืฆื™ื™ื˜ ืงืึทืžืคึผื™ื™ืœืขืจ. ืขืก ืงืึทืžืคึผื™ื™ืœื– ื“ืขื ืฉื•ืจื” ืื•ืŸ ืขืงืกืึทืงื™ื•ืฅ ืขืก ืื™ืŸ ืึท ื•ื•ื™ืจื˜ื•ืึทืœ ืžืึทืฉื™ืŸ ื™ืŸ ื“ืขืจ ืงืขืจืŸ. ื’ืึทื ืฅ ืคึฟื•ื ืงืฆื™ืข ื›ืกื™ืžืข sysfs_create_files () ืžื•ื–ืŸ ื–ื™ื™ืŸ ืจื™ืคึผืจืึทื“ื•ืกื˜ ืื™ืŸ ื“ื™ ืจื’ืข ื‘ืึทืคึฟืขืœ ืึทื–ื•ื™ ืึทื– ื“ื™ ืคึฟืึธืจืžืึทื˜ ืฉื˜ืจื™ืงืœ ืงืขื ืขืŸ ืึธืคึผืฉื™ืงืŸ ืฆื• ืื™ื™ื ืขืจ ืคื•ืŸ ื“ื™ ืคึผืึทืจืึทืžืขื˜ืขืจืก. ืขืจืจืึธืจืก ืื™ืŸ ื“ืขื ืฉื˜ื™ืง ืคื•ืŸ C ืงืึธื“ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ืŸ ืจืขืงืึทื’ื ื™ื™ื–ืึทื‘ืึทืœ ืขืจืจืึธืจืก ืคื•ืŸ ื“ื™ C ืงืึทืžืคึผื™ื™ืœืขืจ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืื•ื™ื‘ ื“ื™ -l ืคึผืึทืจืึทืžืขื˜ืขืจ ืื™ื– ืื™ื‘ืขืจื’ืขื”ื™ืคึผืขืจื˜, ืื™ืจ ื•ื•ืขื˜ ื–ืขืŸ "ื ื™ื˜ ืึทื ื“ืขืจืฉ ืฆื• ืฆื•ื ื•ื™ืคื ืขืžืขืŸ BPF ื˜ืขืงืกื˜." ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ื•ื•ืึธืก ื–ืขื ืขืŸ ื‘ืึทืงืึทื ื˜ ืžื™ื˜ C ืื•ืŸ Python ื•ื•ืขืœืŸ ื’ืขืคึฟื™ื ืขืŸ ื“ื™ ืžื›ืฉื™ืจื™ื bcc ื’ืจื™ื ื’ ืฆื• ื™ืงืกืคึผืึทื ื“ ืื•ืŸ ื˜ื•ื™ืฉืŸ.

ื•ื•ืขืŸ ื“ื™ ื•ืกื‘ ืคืึธืจ ืื™ื– ื™ื ืกืขืจื˜ืึทื“, ื“ื™ ืงืขืจืŸ ื‘ืึทืงื˜ืจืึทืกืข ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืึทื– PID 7711 ืื™ื– ืึท ืคืึธื“ืขื kworkerื•ื•ืึธืก ื‘ืืฉืืคืŸ ื“ื™ ื˜ืขืงืข ยซeventsยป ะฒ sysfs. ืึทืงืงืึธืจื“ื™ื ื’ืœื™, ื“ื™ ืจื•ืคืŸ ืคื•ืŸ sysfs_remove_files() ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืึทื– ืจื™ืžื•ื•ื•ื™ื ื’ ื“ื™ ืคืึธืจ ืจื™ื–ืึทืœื˜ื™ื“ ืื™ืŸ ื“ื™ ื˜ืขืงืข ืื™ื– ืื•ื™ืกื’ืขืžืขืงื˜ events, ื•ื•ืึธืก ืงืึธืจืึทืกืคึผืึทื ื“ื– ืฆื• ื“ืขืจ ืึทืœื’ืขืžื™ื™ืŸ ื‘ืึทื’ืจื™ืฃ ืคื•ืŸ ืจืขืคึฟืขืจืขื ืฅ ืงืึทื•ื ื˜ื™ื ื’. ืื™ืŸ ื“ืขืจ ื–ืขืœื‘ื™ืงืขืจ ืฆื™ื™ึทื˜, ื•ื•ื™ื•ื™ื ื’ sysfs_create_link () ืžื™ื˜ eBPF ื‘ืฉืขืช ื™ื ืกืขืจื˜ื™ื ื’ ื“ื™ ื•ืกื‘ ืคืึธืจ ื•ื•ืขื˜ ื•ื•ื™ื™ึทื–ืŸ ืึทื– ื‘ื™ื™ึท ืžื™ื ื“ืกื˜ืขืจ 48 ืกื™ืžื‘ืึธืœื™ืฉ ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ืขืŸ ื–ืขื ืขืŸ ื‘ืืฉืืคืŸ ื’ืขื•ื•ืืจืŸ.

ืึทื–ื•ื™ ื•ื•ืึธืก ืื™ื– ื“ื™ ืคื•ื ื˜ ืคื•ืŸ ื“ื™ ื’ืขืฉืขืขื ื™ืฉ ื˜ืขืงืข? ื‘ืึทื ื™ืฅ cscope ืคึฟืึทืจ ื–ื•ื›ืŸ __device_add_disk(), ื•ื•ื™ื™ื–ื˜ ื•ื•ืึธืก ืขืก ื– disk_add_events (), ืื•ืŸ ืึธื“ืขืจ "media_change"ืึธื“ืขืจ "eject_request" ืงืขื ืขืŸ ื–ื™ื™ืŸ ืจืขืงืึธืจื“ืขื“ ืื™ืŸ ืึท ื’ืขืฉืขืขื ื™ืฉ ื˜ืขืงืข. ื“ืึธ ื“ืขืจ ืงืขืจืŸ ื‘ืœืึธืง ืฉื™ื›ื˜ืข ื™ื ืคืึธืจืžื– ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ ืึทื– ืึท "ื“ื™ืกืง" ืื™ื– ืืจื•ื™ืก ืื•ืŸ ืขื“ื–ืฉืขืงื˜ืขื“. ื‘ืึทืžืขืจืงื•ื ื’ ื•ื•ื™ ื™ื ืคืึธืจืžืึทื˜ื™ื•ื• ื“ืขื ืคืึธืจืฉื•ื ื’ ืื•ืคึฟืŸ ืื™ื– ื“ื•ืจืš ื™ื ืกืขืจื˜ื™ื ื’ ืึท ื•ืกื‘ ืคืึธืจ, ืงืึทืžืคึผืขืจื“ ืžื™ื˜ ื˜ืจื™ื™ื ื’ ืฆื• ืจืขื›ืขื ืขืŸ ืื•ื™ืก ื•ื•ื™ ื˜ื™ื ื’ื– ืึทืจื‘ืขื˜ ืจื™ื™ืŸ ืคึฟื•ืŸ ื“ืขืจ ืžืงื•ืจ.

ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ื•ื•ืึธืจืฆืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ื’ืขื‘ืŸ ืขืžื‘ืขื“ื™ื“ ื“ืขื•ื•ื™ืกืขืก

ืคื•ืŸ ืงื•ืจืก, ืงื™ื™ืŸ ืื™ื™ื ืขืจ ื˜ื•ืจื ืก ืึทื•ื•ืขืง ื“ื™ ืกืขืจื•ื•ืขืจ ืึธื“ืขืจ ื–ื™ื™ืขืจ ืงืึธืžืคึผื™ื•ื˜ืขืจ ื“ื•ืจืš ืคึผื•ืœื™ื ื’ ื“ื™ ืฆืึทืคึผืŸ ืคื•ืŸ ื“ื™ ื›ืึธืœืขืœ. ืึธื‘ืขืจ ื•ื•ืึธืก? ื“ืึธืก ืื™ื– ื•ื•ื™ื™ึทืœ ืžืึธื•ื ื˜ืขื“ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืื•ื™ืฃ ื’ืฉืžื™ื•ืช ืกื˜ืึธืจื™ื“ื–ืฉ ื“ืขื•ื•ื™ืกืขืก ืงืขืŸ ื”ืึธื‘ืŸ ืœืึทื’ื“ ืฉืจื™ื™ื‘ื˜, ืื•ืŸ ื“ื™ ื“ืึทื˜ืŸ ืกื˜ืจืึทืงื˜ืฉืขืจื– ื•ื•ืึธืก ืจืขืงืึธืจื“ื™ืจืŸ ื–ื™ื™ืขืจ ืฉื˜ืึทื˜ ืงืขืŸ ื ื™ืฉื˜ ื–ื™ื™ืŸ ืกื™ื ื’ืงืจืึทื ื™ื™ื–ื“ ืžื™ื˜ ืฉืจื™ื™ื‘ื˜ ืฆื• ื“ื™ ืกื˜ืึธืจื™ื“ื–ืฉ. ื•ื•ืขืŸ ื“ืึธืก ื›ืึทืคึผืึทื ื–, ืกื™ืกื˜ืขื ืึธื•ื ืขืจื– ื”ืึธื‘ืŸ ืฆื• ื•ื•ืึทืจื˜ืŸ ื‘ื™ื– ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืฉื˜ื™ื•ื•ืœ ืฆื• ืงืึทื˜ืขืจ ื“ื™ ื ื•ืฆืŸ. fsck filesystem-recovery ืื•ืŸ, ืื™ืŸ ื“ื™ ืขืจื’ืกื˜ ืคืึทืœ, ืœื•ื–ื™ื ื’ ื“ืึทื˜ืŸ.

ืึธื‘ืขืจ, ืžื™ืจ ืึทืœืข ื•ื•ื™ืกืŸ ืึทื– ืคื™ืœืข IoT ื“ืขื•ื•ื™ืกืขืก, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ืจืึธื•ื˜ืขืจืก, ื˜ืขืจืžืึทืกื˜ืึทื˜ ืื•ืŸ ืงืึทืจืก, ืœื•ื™ืคืŸ ืื™ืฆื˜ ืœื™ื ื•ืงืก. ืคื™ืœืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ื“ืขื•ื•ื™ืกืขืก ื”ืึธื‘ืŸ ืงืœื™ื™ืŸ ืฆื• ืงื™ื™ืŸ ื‘ืึทื ื™ืฆืขืจ ืฆื•ื‘ื™ื ื“, ืื•ืŸ ืขืก ืื™ื– ืงื™ื™ืŸ ื•ื•ืขื’ ืฆื• ืงืขืจ ื–ื™ื™ ืึทื•ื•ืขืง "ืจื™ื™ืŸ." ื™ืžืึทื“ื–ืฉืึทืŸ ืกื˜ืึทืจื˜ื™ื ื’ ืึท ืžืึทืฉื™ืŸ ืžื™ื˜ ืึท ื˜ื•ื™ื˜ ื‘ืึทื˜ืึทืจื™ื™ืข ื•ื•ืขืŸ ื“ื™ ืžืึทื›ื˜ ืฆื• ื“ื™ ืงืึธื ื˜ืจืึธืœ ืึทืคึผืึทืจืึทื˜ ืื™ื– ืœื™ื ื•ืงืก ืงืขืกื™ื™ื“ืขืจ ืฉืคึผืจื™ื ื’ืขืŸ ืึทืจื•ื™ืฃ ืื•ืŸ ืึทืจืึธืคึผ. ื•ื•ื™ ืื™ื– ืขืก ืึทื– ื“ื™ ืกื™ืกื˜ืขื ืฉื™ืš ืึธืŸ ืึท ืœืึทื ื’ fsckื•ื•ืขืŸ ื•ื•ืขื˜ ื“ืขืจ ืžืึธื˜ืึธืจ ืœืขืกืึธืฃ ืึธื ื”ื™ื™ื‘ืŸ ืคืœื™ืกื ื“ื™ืง? ืื•ืŸ ื“ืขืจ ืขื ื˜ืคืขืจ ืื™ื– ืคึผืฉื•ื˜. ืขืžื‘ืขื“ื™ื“ ื“ืขื•ื•ื™ืกืขืก ืคืึทืจืœืึธื–ื  ื–ื™ืš ื“ื™ ื•ื•ืึธืจืฆืœ ื˜ืขืงืข ืกื™ืกื˜ืขื ื‘ืœื•ื™ื– ืคึฟืึทืจ ืœื™ื™ืขื ืขืŸ (ืึทื‘ืจื™ื•ื•ื™ื™ื™ื˜ื™ื“ ro-rootfs (ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ื•ื•ืึธืจืฆืœ ืคื™ืœืขืกื™ืกื˜ืขื)).

ro-rootfs ืคืึธืจืฉืœืึธื’ืŸ ืคื™ืœืข ื‘ืขื ืขืคื™ืฅ ื•ื•ืึธืก ื–ืขื ืขืŸ ื•ื•ื™ื™ื ื™ืงืขืจ ืงืœืึธืจ ื•ื•ื™ ื“ืขืจ ื˜ืึธื’ ื•ื•ื™ ืึธื˜ืึทื ื˜ื™ืกื™ื˜ื™. ืื™ื™ืŸ ืžื™ื™ึทืœืข ืื™ื– ืึทื– ืžืึทืœื•ื•ืึทืจืข ืงืขื ืขืŸ ื ื™ืฉื˜ ืฉืจื™ื™ึทื‘ืŸ ืฆื• /usr ืึธื“ืขืจ /lib, ืื•ื™ื‘ ืงื™ื™ืŸ ืœื™ื ื•ืงืก ืคึผืจืึธืฆืขืก ืงืขื ืขืŸ ืฉืจื™ื™ึทื‘ืŸ ื“ืึธืจื˜. ืืŸ ืื ื“ืขืจ ืื™ื– ืึทื– ืึท ืœืึทืจื’ืขืœื™ ื™ืžื™ื•ื˜ืึทื‘ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขื ืื™ื– ืงืจื™ื˜ื™ืฉ ืคึฟืึทืจ ืคืขืœื“ ืฉื˜ื™ืฆืŸ ืคื•ืŸ ื•ื•ื™ื™ึทื˜ ื“ืขื•ื•ื™ืกืขืก, ื•ื•ื™ื™ึทืœ ืฉื˜ื™ืฆืŸ ืคึผืขืจืกืึทื ืขืœ ืคืึทืจืœืึธื–ื  ื–ื™ืš ื”ื™ื’ืข ืกื™ืกื˜ืขืžืขืŸ ื•ื•ืึธืก ื–ืขื ืขืŸ ื ืึทืžืึทื ืึทืœื™ ื™ื™ื“ืขื ื™ืงืึทืœ ืฆื• ื“ื™ ืคืขืœื“ ืกื™ืกื˜ืขืžืขืŸ. ื˜ืึธืžืขืจ ื“ื™ ืžืขืจืกื˜ ื•ื•ื™ื›ื˜ื™ืง (ืึธื‘ืขืจ ืื•ื™ืš ืจื•ื‘ึฟ ื™ื ืกื™ื“ื™ืึทืก) ื ื•ืฅ ืื™ื– ืึทื– ืจืึธ-ืจืึธืึธื˜ืคืก ืคืึธืจืกืขืก ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืฆื• ื‘ืึทืฉืœื™ืกืŸ ื•ื•ืึธืก ืกื™ืกื˜ืขื ืึทื‘ื“ื–ืฉืขืงืฅ ื•ื•ืขื˜ ื–ื™ื™ืŸ ื™ืžื™ื•ื˜ืึทื‘ืึทืœ ืื™ืŸ ื“ื™ ืคึผืœืึทืŸ ื‘ื™ื ืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืกื™ืกื˜ืขื. ืืจื‘ืขื˜ืŸ ืžื™ื˜ ืจืึธ-ืจืึธืึธื˜ืคืก ืงืขื ืขืŸ ื–ื™ื™ืŸ ื•ืžื’ืขืœื•ืžืคึผืขืจื˜ ืื•ืŸ ื•ื•ื™ื™ื˜ื™ืงื“ื™ืง, ื•ื•ื™ื™ึทืœ ืงืึธื ืกื˜ ื•ื•ืขืจื™ืึทื‘ืึทืœื– ืึธืคื˜ ื–ืขื ืขืŸ ืื™ืŸ ืคึผืจืึธื’ืจืึทืžืžื™ื ื’ ืฉืคึผืจืึทื›ืŸ, ืึธื‘ืขืจ ื–ื™ื™ืขืจ ื‘ืขื ืขืคื™ืฅ ืœื™ื™ื›ื˜ ื‘ืึทืจืขื›ื˜ื™ืงืŸ ื“ื™ ื ืึธืš ืึธื•ื•ื•ืขืจื›ืขื“.

ืฉืึทืคื•ื ื’ rootfs ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ืจื™ืงื•ื•ื™ื™ืขืจื– ืขื˜ืœืขื›ืข ืขืงืกื˜ืจืข ืžื™ ืคึฟืึทืจ ืขืžื‘ืขื“ื™ื“ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก, ืื•ืŸ ื“ืึธืก ืื™ื– ื•ื•ื• VFS ืงื•ืžื˜ ืื™ืŸ ื“ื™ ื‘ื™ืœื“. ืœื™ื ื•ืงืก ืจื™ืงื•ื•ื™ื™ืขืจื– ืึทื– ื˜ืขืงืขืก ื–ืขื ืขืŸ ืื™ืŸ /var ื–ืขื ืขืŸ ืจื™ื™ื˜ืึทื‘ืึทืœ, ืื•ืŸ ืื™ืŸ ืึทื“ื™ืฉืึทืŸ, ืคื™ืœืข ืคืึธืœืงืก ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ื•ื•ืึธืก ืœื•ื™ืคืŸ ืขืžื‘ืขื“ื™ื“ ืกื™ืกื˜ืขืžืขืŸ ื•ื•ืขืœืŸ ืคึผืจื•ื•ื•ืŸ ืฆื• ืฉืึทืคึฟืŸ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ dot-files ะฒ $HOME. ืื™ื™ืŸ ืœื™ื™ื–ื•ื ื’ ืคึฟืึทืจ ืงืึทื ืคื™ื’ื™ืขืจื™ื™ืฉืึทืŸ ื˜ืขืงืขืก ืื™ืŸ ื“ื™ ื”ื™ื™ื ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ ืื™ื– ื™ื•ื–ืฉืึทื•ื•ืึทืœื™ ืฆื• ืคืึทืจ - ื“ื–ืฉืขื ืขืจื™ื™ื˜ ืื•ืŸ ื‘ื•ื™ืขืŸ ื–ื™ื™ ืื™ืŸ rootfs. ืคืึทืจ /var ืื™ื™ืŸ ืžืขื’ืœืขืš ืฆื•ื’ืึทื ื’ ืื™ื– ืฆื• ืึธื ืงืœืึทืคึผืŸ ืขืก ืื•ื™ืฃ ืึท ื‘ืึทื–ื•ื ื“ืขืจ ืจื™ื™ื˜ืึทื‘ืึทืœ ืฆืขื˜ื™ื™ืœื•ื ื’, ื‘ืฉืขืช / ืžืึธื•ื ื˜ืขื“ ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื–. ืืŸ ืื ื“ืขืจ ืคืึธืœืงืก ืื ื“ืขืจ ื‘ืจื™ืจื” ืื™ื– ืฆื• ื ื•ืฆืŸ ื‘ื™ื ื“ืŸ ืึธื“ืขืจ ืึธื•ื•ื•ืขืจืœื™ื™ ืžืึทื•ื ืฅ.

ืœื™ื ื’ืงืึทื‘ืœืข ืื•ืŸ ืกื˜ืึทืงืงืึทื‘ืœืข ืžืึทื•ื ืฅ, ื–ื™ื™ืขืจ ื ื•ืฆืŸ ื“ื•ืจืš ืงืึทื ื˜ื™ื™ื ืขืจื–

ืื•ื™ืกืคื™ืจืŸ ืึท ื‘ืึทืคึฟืขืœ man mount ืื™ื– ื“ืขืจ ื‘ืขืกื˜ืขืจ ื•ื•ืขื’ ืฆื• ืœืขืจื ืขืŸ ื•ื•ืขื’ืŸ ื‘ื™ื ื“ืึทื‘ืœืข ืื•ืŸ ืึธื•ื•ื•ืขืจืœื™ื™ืึทื‘ืึทืœ ืžืึทื•ื ืฅ, ื•ื•ืึธืก ื’ืขื‘ืŸ ื“ืขื•ื•ืขืœืึธืคึผืขืจืก ืื•ืŸ ืกื™ืกื˜ืขื ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจืก ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืฉืึทืคึฟืŸ ืึท ื˜ืขืงืข ืกื™ืกื˜ืขื ืื™ืŸ ืื™ื™ืŸ ื•ื•ืขื’ ืื•ืŸ ื“ืขืจื ืึธืš ื•ื™ืกืฉื˜ืขืœืŸ ืขืก ืฆื• ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื™ืŸ ืื ื“ืขืจืŸ. ืคึฟืึทืจ ืขืžื‘ืขื“ื™ื“ ืกื™ืกื˜ืขืžืขืŸ, ื“ืึธืก ืžื™ื˜ืœ ื“ื™ ืคื™ื™ื™ืงื™ื™ื˜ ืฆื• ืงืจืึธื ื˜ืขืงืขืก ืื™ืŸ /var ืื•ื™ืฃ ืึท ืœื™ื™ืขื ืขืŸ-ื‘ืœื•ื™ื– ื‘ืœื™ืฅ ืคืึธืจ, ืึธื‘ืขืจ ืึท ืึธื•ื•ื•ืขืจืœื™ื™ ืึธื“ืขืจ ืœื™ื ื’ืงืึทื‘ืœืข ื‘ืึทืจื’ ื“ืจืš ืคื•ืŸ tmpfs ะฒ /var ื•ื•ืขืŸ ืœืึธื•ื“ื™ื ื’, ืขืก ื•ื•ืขื˜ ืœืึธื–ืŸ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืฆื• ืฉืจื™ื™ึทื‘ืŸ ื”ืขืจื•ืช ื“ืึธืจื˜ (ืกืงืจืึธืœ). ื“ืขืจ ื•ื•ื™ื™ึทื˜ืขืจ ืžืึธืœ ืื™ืจ ืงืขืจ ืื•ื™ืฃ ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• /var ื•ื•ืขื˜ ื–ื™ื™ืŸ ืคืึทืจืคืึทืœืŸ. ืึท ืึธื•ื•ื•ืขืจืœื™ื™ ื‘ืืจื’ ืงืจื™ื™ื™ืฅ ืึท ืคืึทืจื‘ืึทื ื“ ืฆื•ื•ื™ืฉืŸ tmpfs ืื•ืŸ ื“ื™ ืึทื ื“ืขืจืœื™ื™ื™ื ื’ ื˜ืขืงืข ืกื™ืกื˜ืขื ืื•ืŸ ืึทืœืึทื•ื– ืื™ืจ ืฆื• ืžืึทื›ืŸ ืึทืœืข ื“ื™ ืขื ื“ืขืจื•ื ื’ืขืŸ ืื™ืŸ ื“ื™ ื™ื’ื–ื™ืกื˜ื™ื ื’ ื˜ืขืงืขืก ro-tootf ื›ื•ื•ืขืจืึทื– ืึท ื‘ื™ื™ื ื“ืึทื‘ืึทืœ ื‘ืึทืจื’ ืงืขื ืขืŸ ืžืึทื›ืŸ ื ื™ื™ึทืข ืœื™ื™ื“ื™ืง tmpfs ืคืึธืœื“ืขืจืก ืงืขื ื˜ื™ืง ื•ื•ื™ ืฉืจื™ื™ื‘ืŸ ืื™ืŸ ro-rootfs ื•ื•ืขื’ืŸ. ื‘ืฉืขืช overlayfs ื“ืืก ืื™ื– ื“ื™ ืจื™ื›ื˜ื™ื’ืข (proper) ื˜ืขืงืข ืกื™ืกื˜ืขื ื˜ื™ืคึผ, ื‘ื™ื ื“ืึทื‘ืœืข ื‘ืืจื’ ืื™ื– ื™ืžืคึผืœืึทืžืขื ืึทื“ ืื™ืŸ VFS ื ืึธืžืขืŸ ืคึผืœืึทืฅ.

ื‘ืึทื–ื™ืจื˜ ืื•ื™ืฃ ื“ื™ ื‘ืึทืฉืจื™ื™ึทื‘ื•ื ื’ ืคื•ืŸ ื“ื™ ืึธื•ื•ื•ืขืจืœื™ื™ ืื•ืŸ ืœื™ื ืงืึทื‘ืœืข ื‘ืืจื’, ืงื™ื™ืŸ ืื™ื™ื ืขืจ ืื™ื– ืกืึทืคึผืจื™ื™ื–ื“ ืึทื– ืœื™ื ื•ืงืก ืงืึทื ื˜ื™ื™ื ืขืจื– ื–ื™ื™ ื–ืขื ืขืŸ ืึทืงื˜ื™ื•ื•ืœื™ ื’ืขื ื™ืฆื˜. ื–ืืœ ืก ื–ืขืŸ ื•ื•ืึธืก ื›ืึทืคึผืึทื ื– ื•ื•ืขืŸ ืžื™ืจ ื ื•ืฆืŸ ืกื™ืกื˜ืขืžื“-ื ืกืคึผืึธืŸ ืฆื• ืœื•ื™ืคืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื ื™ืฆืŸ ื“ื™ ื’ืขืฆื™ื™ึทื’ mountsnoop ืคื•ืŸ bcc.

Call system-nspawn ืกื˜ืึทืจืฅ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ ื‘ืฉืขืช ืคืœื™ืกื ื“ื™ืง mountsnoop.py.

ืœืืžื™ืจ ื–ืขืŸ ื•ื•ืืก ืื™ื– ื’ืขืฉืขืŸ:

ืงืึทื˜ืขืจ mountsnoop ื‘ืฉืขืช ื“ืขืจ ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– "ื‘ื•ื˜ื™ื ื’" ื•ื•ื™ื™ื–ื˜ ืึทื– ื“ื™ ืจื•ื ื˜ื™ืžืข ืคื•ืŸ โ€‹โ€‹ื“ื™ ืงืึทื ื˜ื™ื™ื ืขืจ ืื™ื– ื”ืขื›ืกื˜ ืึธืคืขื ื’ื™ืง ืื•ื™ืฃ ื“ื™ ืึธื ืงืœืึทืคึผืŸ ื•ื•ืึธืก ืื™ื– ืœื™ื ื’ืงื˜ (ื‘ืœื•ื™ื– ื“ืขืจ ืึธื ื”ื™ื™ื‘ ืคื•ืŸ ื“ื™ ืœืึทื ื’ ืจืขื–ื•ืœื˜ืึทื˜ ืื™ื– ื’ืขื•ื•ื™ื–ืŸ).

ื“ืึธ systemd-nspawn ื’ื™ื˜ ืื•ื™ืกื’ืขืงืœื™ื‘ืŸ ื˜ืขืงืขืก ืื™ืŸ procfs ะธ sysfs ื‘ืึทืœืขื‘ืึธืก ืฆื• ืงืึทื ื˜ื™ื™ื ืขืจ ื•ื•ื™ ืคึผืึทื˜ืก ืฆื• ืขืก rootfs. ืึทื—ื•ืฅ MS_BIND ืึท ืคืึธืŸ ื•ื•ืึธืก ื‘ืึทืฉื˜ืขื˜ื™ืงื˜ ื“ื™ ื‘ื™ื™ื ื“ื™ื ื’ ืึธื ืงืœืึทืคึผืŸ, ืขื˜ืœืขื›ืข ืื ื“ืขืจืข ืคืœืึทื’ืก ืื•ื™ืฃ ื“ื™ ื‘ืึทืจื’ ื“ืขืคื™ื ื™ืจืŸ ื“ื™ ืฉื™ื™ื›ื•ืช ืฆื•ื•ื™ืฉืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• ื“ืขืจ ื‘ืึทืœืขื‘ืึธืก ืื•ืŸ ื“ื™ ืงืึทื ื˜ืึทืžืึทื ื™ื™ืฉืึทืŸ ื ืึธืžืขืŸ. ืคึฟืึทืจ ื‘ื™ื™ึทืฉืคึผื™ืœ, ืึท ืœื™ื ื’ืงื˜ ื‘ืึทืจื’ ืงืขื ืขืŸ ืึธื“ืขืจ ื”ืึธืคึผืงืขืŸ ืขื ื“ืขืจื•ื ื’ืขืŸ ืฆื• /proc ะธ /sys ืื™ืŸ ื“ืขื ืงืึทื ื˜ื™ื™ื ืขืจ, ืึธื“ืขืจ ื‘ืึทื”ืึทืœื˜ืŸ ื–ื™ื™ ื“ื™ืคึผืขื ื“ื™ื ื’ ืื•ื™ืฃ ื“ื™ ืจื•ืคืŸ.

ืกืึธืฃ

ืคืืจืฉื˜ืื ื“ ืคื•ืŸ ื“ื™ ื™ื ืขืจ ื•ื•ืขืจืงื™ื ื’ื– ืคื•ืŸ ืœื™ื ื•ืงืก ืงืขืŸ ื•ื™ืกืงื•ืžืขืŸ ื•ื•ื™ ืึท ืื•ืžืžืขื’ืœืขืš ืึทืจื‘ืขื˜, ื•ื•ื™ื™ึทืœ ื“ืขืจ ืงืขืจืŸ ื–ื™ืš ื›ึผื•ืœืœ ืึท ืจื™ื–ื™ืง ืกื•ืžืข ืคื•ืŸ โ€‹โ€‹ืงืึธื“, ืื•ืŸ ืœืึธื–ืŸ ืœื™ื ื•ืงืก ื‘ืึทื ื™ืฆืขืจ ืคึผืœืึทืฅ ืึทืคึผืœืึทืงื™ื™ืฉืึทื ื– ืื•ืŸ ืกื™ืกื˜ืขื ืจื•ืคืŸ ื™ื ื˜ืขืจืคื™ื™ืกื™ื– ืื™ืŸ C ืœื™ื™ื‘ืจืขืจื™ื–, ืึทื–ืึท ื•ื•ื™ glibc. ืื™ื™ืŸ ื•ื•ืขื’ ืฆื• ืžืึทื›ืŸ ืคึผืจืึธื’ืจืขืก ืื™ื– ืฆื• ืœื™ื™ืขื ืขืŸ ื“ื™ ืžืงื•ืจ ืงืึธื“ ืคื•ืŸ ืื™ื™ืŸ ืงืขืจืŸ ืกืึทื‘ืกื™ืกื˜ืึทื, ืžื™ื˜ ืึท ื˜ืจืึธืคึผ ืื•ื™ืฃ ืคืืจืฉื˜ืื ื“ ืกื™ืกื˜ืขื ืงืึทืœืœืก ืื•ืŸ ื‘ืึทื ื™ืฆืขืจ-ืคึผืœืึทืฅ ื›ืขื“ืขืจื–, ื•ื•ื™ ื’ืขื–ื•ื ื˜ ื•ื•ื™ ื“ื™ ื”ื•ื™ืคึผื˜ ื™ื ืขืจืœืขืš ืงืขืจืŸ ื™ื ื˜ืขืจืคื™ื™ืกื™ื–, ืึทื–ืึท ื•ื•ื™ ื˜ื™ืฉ. file_operations. ื˜ืขืงืข ืึทืคึผืขืจื™ื™ืฉืึทื ื– ืฆื•ืฉื˜ืขืœืŸ ื“ื™ "ืึทืœืฅ ืื™ื– ืึท ื˜ืขืงืข" ืคึผืจื™ื ืฆื™ืคึผ, ื•ื•ืึธืก ืžืื›ื˜ ื–ื™ื™ ื“ืขืจ ื”ื•ื™ืคึผื˜ ืขื ื“ื–ืฉื•ื™ืึทื‘ืึทืœ ืฆื• ืคื™ืจืŸ. C ืงืขืจืŸ ืžืงื•ืจ ื˜ืขืงืขืก ืื™ืŸ ื“ืขืจ ืฉืคึผื™ืฅ-ืžื“ืจื’ื” ื•ื•ืขื’ื•ื•ื™ื™ึทื–ืขืจ fs/ ืคืึธืจืฉื˜ืขืœืŸ ืึท ื™ืžืคึผืœืึทืžืขื ื˜ื™ื™ืฉืึทืŸ ืคื•ืŸ ื•ื•ื™ืจื˜ื•ืึทืœ ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ, ื•ื•ืึธืก ื–ืขื ืขืŸ ืึท ืจืึทืคึผืขืจ ืฉื™ื›ื˜ืข ื•ื•ืึธืก ื’ื™ื˜ ื‘ืจื™ื™ื˜ ืื•ืŸ ืœืขืคื™ืขืจืขืš ืคึผืฉื•ื˜ ืงืึทืžืคึผืึทื˜ืึทื‘ื™ืœืึทื˜ื™ ืฆื•ื•ื™ืฉืŸ ืคืึธืœืงืก ื˜ืขืงืข ืกื™ืกื˜ืขืžืขืŸ ืื•ืŸ ืกื˜ืึธืจื™ื“ื–ืฉ ื“ืขื•ื•ื™ืกืขืก. ืคึฟืึทืจื‘ื™ื ื“ื•ื ื’ ืื•ืŸ ืึธื•ื•ื•ืขืจืœื™ื™ ืžืึทื•ื ื˜ื™ื ื’ ื“ื•ืจืš ืœื™ื ื•ืงืก ื ืึทืžืขืกืคึผืึทืกืขืก ืื™ื– ื“ื™ ืžืึทื’ื™ืฉ ืคื•ืŸ VFS ื•ื•ืึธืก ืžืื›ื˜ ืงืจื™ื™ื™ื˜ื™ื ื’ ื‘ืœื•ื™ื– ืœื™ื™ืขื ืขืŸ ืงืึทื ื˜ื™ื™ื ืขืจื– ืื•ืŸ ื•ื•ืึธืจืฆืœ ืคื™ืœืขืกื™ืกื˜ืขืžืก ืžืขื’ืœืขืš. ืงืึทืžื‘ื™ื™ื ื“ ืžื™ื˜ ืึทืŸ ื“ื•ืจื›ืงื•ืง ืคื•ืŸ ื“ื™ ืžืงื•ืจ ืงืึธื“, ื“ื™ eBPF ื”ืึทืจืฅ ื’ืขืฆื™ื™ึทื’ ืื•ืŸ ื–ื™ื™ึทืŸ ืฆื•ื‘ื™ื ื“ bcc
ืžืื›ืŸ ื”ืึทืจืฅ ืขืงืกืคึผืœืขืจื™ื™ืฉืึทืŸ ื’ืจื™ื ื’ืขืจ ื•ื•ื™ ืืœืฅ.

ืคืจื™ื™ื ื˜, ืฉืจื™ื™ื‘, ืื™ื– ื“ืขืจ ืึทืจื˜ื™ืงืœ ื ื•ืฆื™ืง ืคึฟืึทืจ ืื™ืจ? ื˜ืึธืžืขืจ ืื™ืจ ื”ืึธื‘ืŸ ืงื™ื™ืŸ ื‘ืึทืžืขืจืงื•ื ื’ืขืŸ ืึธื“ืขืจ ืจื™ืžืึทืจืงืก? ืื•ืŸ ื™ืขื ืข ื•ื•ืืก ื–ืขื ืขืŸ ืื™ื ื˜ืขืจืขืกื™ืจื˜ ืื™ืŸ ื“ื™ ืœื™ื ื•ืงืก ืึทื“ืžื™ื ื™ืกื˜ืจืึทื˜ืึธืจ ืงื•ืจืก ื–ืขื ืขืŸ ืคืืจื‘ืขื˜ืŸ ืฆื• ืึธืคึฟืŸ ื˜ืึธื’, ื•ื•ืืก ื•ื•ืขื˜ ืคืืจืงื•ืžืขืŸ ื“ืขื 18ื˜ืŸ ืืคืจื™ืœ.

ืขืจืฉื˜ืขืจ ื˜ื™ื™ืœ.

ืžืงื•ืจ: www.habr.com

ืœื™ื™ื’ืŸ ืึท ื‘ืึทืžืขืจืงื•ื ื’