เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

เจธเจพเจฐเจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจธเจคเจฟ เจธเจผเฉเจฐเฉ€ เจ…เจ•เจพเจฒ! เจ…เจธเฉ€เจ‚ เจ‰เจนเจจเจพเจ‚ เจ•เฉ‹เจฐเจธเจพเจ‚ เจฒเจˆ เจจเจตเฉ€เจ†เจ‚ เจธเจŸเฉเจฐเฉ€เจฎเจพเจ‚ เจจเฉ‚เฉฐ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚ เจœเจฟเจจเฉเจนเจพเจ‚ เจจเจพเจฒ เจคเฉเจธเฉ€เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจนเฉ€ เจชเจฟเจ†เจฐ เจ•เจฐ เจšเฉเฉฑเจ•เฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจ‡เจน เจ˜เฉ‹เจธเจผเจฃเจพ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจนเจฒเฉ€ เจตเจฟเฉฑเจš เจนเจพเจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ•เฉ‹เจฐเจธเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจธเฉˆเฉฑเจŸ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚เฅค "เจฒเฉ€เจจเจ•เจธ เจชเฉเจฐเจธเจผเจพเจธเจ•"เจœเฉ‹ เจ…เจชเฉเจฐเฉˆเจฒ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš เจฒเจพเจ‚เจš เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจ‡เจตเฉˆเจ‚เจŸ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจชเฉเจฐเจ•เจพเจธเจผเจจ เจฎเจฟเจคเฉ€ เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€เฅค เจ…เจธเจฒเฉ€ เจธเจฎเฉฑเจ—เจฐเฉ€ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ‡เฉฑเจฅเฉ‡ เจชเฉœเฉเจนเฉ‹.

เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ‡เฉฑเจ• เจ•เจฟเจธเจฎ เจฆเฉ‡ เจœเจพเจฆเฉ‚เจˆ เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ เจœเฉ‹ เจฒเฉ€เจจเจ•เจธ เจฆเฉ‡ เจฆเจฐเจธเจผเจจ เจจเฉ‚เฉฐ เจ‡เจน เจ•เจนเจฟเจฃ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ "เจนเจฐ เจšเฉ€เจœเจผ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจนเฉˆเฅค"

เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

เจ‡เฉฑเจ• เจซเจพเจ‡เจฒ เจธเจฟเจธเจŸเจฎ เจ•เฉ€ เจนเฉˆ? เจฒเฉ€เจจเจ•เจธ เจฆเฉ‡ เจชเจนเจฟเจฒเฉ‡ เจฏเฉ‹เจ—เจฆเจพเจจเฉ€เจ†เจ‚ เจ…เจคเฉ‡ เจฒเฉ‡เจ–เจ•เจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจฆเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจฐเฉŒเจฌเจฐเจŸเจพ เจฒเจพเจตเจพ, "เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ‡เฉฑเจ• เจ–เจพเจธ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เฉ€เจคเฉ‡ เจกเฉ‡เจŸเจพ เจฆเจพ เจ‡เฉฑเจ• เจฒเฉœเฉ€เจตเจพเจฐ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจนเฉˆเฅค" เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจน เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ, เจ‡เจน เจชเจฐเจฟเจญเจพเจธเจผเจพ VFAT (เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจ…เจฒเฉ‹เจ•เฉ‡เจธเจผเจจ เจŸเฉ‡เจฌเจฒ), เจ—เจฟเฉฑเจŸ เจ…เจคเฉ‡ เจฒเจˆ เจฌเจฐเจพเจฌเจฐ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉˆ Cassandra (NoSQL เจกเจพเจŸเจพเจฌเฉ‡เจธ). เจคเจพเจ‚ เจ•เฉ€ เจ…เจœเจฟเจนเฉ€ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ "เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ" เจตเจœเฉ‹เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ?

เจซเจพเจˆเจฒเจธเจฟเจธเจŸเจฎ เจฌเฉ‡เจธเจฟเจ•เจธ

เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจ‡เจ•เจพเจˆ เจฒเจˆ เจ•เฉเจ เจฒเฉ‹เฉœเจพเจ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฟเจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฎเฉฐเจจเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ open(), read() ะธ write() เจจเจฟเจฐเฉฐเจคเจฐ เจตเจธเจคเฉ‚เจ†เจ‚ เจฒเจˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจฆเฉ‡ เจจเจพเจฎ เจนเจจเฅค เจตเจธเจคเฉ‚-เจฎเฉเจ–เฉ€ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจคเฉ‹เจ‚ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ—, เจ•เจฐเจจเจฒ เจ‡เฉฑเจ• เจ†เจฎ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจเจฌเจธเจŸเจฐเฉˆเจ•เจŸ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจœเฉ‹เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจคเจฟเฉฐเจจ เจตเฉฑเจกเฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ "เจตเจฐเจšเฉเจ…เจฒ" เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจนเจจเจพเจ‚ เจฆเฉ€ เจ•เฉ‹เจˆ เจ เฉ‹เจธ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจธ เจ…เจจเฉเจธเจพเจฐ, เจกเจฟเจซเจพเจฒเจŸ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ (VFS) เจ•เจฟเจนเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

เจœเฉ‡เจ•เจฐ เจ…เจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจ‡เจ•เจพเจˆ เจจเฉ‚เฉฐ เจ–เฉ‹เจฒเฉเจน เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจชเฉœเฉเจน เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจฒเจฟเจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚, เจคเจพเจ‚ เจ‰เจธ เจ‡เจ•เจพเจˆ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจฎเฉฐเจจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ…เจธเฉ€เจ‚ เจ‰เจชเจฐเฉ‹เจ•เจค เจ•เฉฐเจธเฉ‹เจฒ เจตเจฟเฉฑเจš เจ‰เจฆเจพเจนเจฐเจจ เจคเฉ‹เจ‚ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเจพเจ‚เฅค
VFS เจตเจฐเจคเจพเจฐเจพ เจธเจฟเจฐเจซ เจฏเฉ‚เจจเจฟเจ•เจธ-เจตเจฐเจ—เฉ‡ เจจเจฟเจฐเฉ€เจ–เจฃ เจจเฉ‚เฉฐ เจฐเฉ‡เจ–เจพเจ‚เจ•เจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ "เจนเจฐ เจšเฉ€เจœเจผ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจนเฉˆ"เฅค เจธเฉ‹เจšเฉ‹ เจ•เจฟ เจ‡เจน เจ•เจฟเฉฐเจจเฉ€ เจ…เจœเฉ€เจฌ เจนเฉˆ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเจฟเฉฑเจคเฉ€ เจ›เฉ‹เจŸเฉ€ /dev/console เจ‰เจฆเจพเจนเจฐเจจ เจ‡เจน เจฆเจฐเจธเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เฉฐเจธเฉ‹เจฒ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจคเจธเจตเฉ€เจฐ เจ‡เฉฑเจ• เจ‡เฉฐเจŸเจฐเจเจ•เจŸเจฟเจต เจฌเฉˆเจธเจผ เจธเฉˆเจธเจผเจจ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆเฅค เจ•เฉฐเจธเฉ‹เจฒ (เจตเจฐเจšเฉเจ…เจฒ เจ•เฉฐเจธเฉ‹เจฒ เจกเจฟเจตเจพเจˆเจธ) เจ‰เฉฑเจคเฉ‡ เจ‡เฉฑเจ• เจธเจคเจฐ เจญเฉ‡เจœเจฃเจพ เจ‡เจธเจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจตเจฐเจšเฉเจ…เจฒ เจธเจ•เฉเจฐเฉ€เจจ เจคเฉ‡ เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค VFS เจฆเฉ€เจ†เจ‚ เจนเฉ‹เจฐ, เจ‡เฉฑเจฅเฉ‹เจ‚ เจคเฉฑเจ• เจ•เจฟ เจ…เจœเจจเจฌเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเฉ€ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฆเฉเจ†เจฐเจพ เจ–เฉ‹เจœ เจ•เจฐเจจ เจฒเจˆ เจธเจนเจพเจ‡เจ• เจนเฉˆ เจ‰เจธเจฆเฉ‡ เจฆเฉเจ†เจฐเจพ.

เจœเจพเจฃเฉ‡-เจชเจ›เจพเจฃเฉ‡ เจธเจฟเจธเจŸเจฎ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ ext4, NFS, เจ…เจคเฉ‡ /proc เจ•เฉ‹เจฒ C เจกเจพเจŸเจพ เจฌเจฃเจคเจฐ เจตเจฟเฉฑเจš เจคเจฟเฉฐเจจ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจ•เจพเจฐเจœ เจนเจจ file_operations. เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ•เฉเจ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ‡เฉฑเจ• เจœเจพเจฃเฉ‡-เจชเจ›เจพเจฃเฉ‡ เจ†เจฌเจœเฉˆเจ•เจŸ-เจ…เจงเจพเจฐเจฟเจค เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ VFS เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจ‚เจฆเฉ‡ เจ…เจคเฉ‡ เจฎเฉเฉœ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฐเฉŒเจฌเจฐเจŸ เจฒเจต เจฆเฉฑเจธเจฆเจพ เจนเฉˆ, VFS เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจ เจฒเฉ€เจจเจ•เจธ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจกเฉ‡เจŸเจพ เจซเจพเจฐเจฎเฉˆเจŸ เจฆเฉ€ เจšเจฟเฉฐเจคเจพ เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚ เจคเฉ€เจœเฉ€ เจงเจฟเจฐ เจฆเฉ‡ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎเจพเจ‚ เจœเจพเจ‚ เจ…เจฎเฉ‚เจฐเจค เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจพเจˆเจชเจพเจ‚ เจตเจฟเฉฑเจš เจœเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ€ เจฌเฉ‡เจฒเฉ‹เฉœเฉ€ เจจเจ•เจฒ เจ•เจฐเจจ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจฏเฉ‚เจœเจผเจฐ เจธเจพเจˆเจก (เจฏเฉ‚เจœเจผเจฐเจธเจชเฉ‡เจธ) 'เจคเฉ‡, เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจคเฉ‹เจ‚ เจ•เจฐเจจเจฒ เจกเฉ‡เจŸเจพ เจธเจŸเจฐเจ•เจšเจฐ เจตเจฟเฉฑเจš เจ•เจพเจชเฉ€ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค read() เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ…เจคเฉ‡ เจซเจฟเจฐ เจตเจฟเจงเฉ€ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹ write () เจกเจพเจŸเจพ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจซเจพเจ‡เจฒ เจธเจฟเจธเจŸเจฎ.

เจซเฉฐเจ•เจธเจผเจจ เจชเจฐเจฟเจญเจพเจธเจผเจพเจตเจพเจ‚ เจœเฉ‹ เจ•เจฟ เจ…เจงเจพเจฐ VFS เจ•เจฟเจธเจฎเจพเจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเจจ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจนเจจ fs/*.c เจ•เจฐเจจเจฒ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก, เจœเจฆเฉ‹เจ‚ เจ•เจฟ เจธเจฌ-เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ fs/ เจ•เฉเจ เจซเจพเจ‡เจฒ เจธเจฟเจธเจŸเจฎ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค เจ•เฉ‹เจฐ เจตเจฟเฉฑเจš เจ‡เจ•เจพเจˆเจ†เจ‚ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ cgroups, /dev ะธ tmpfs, เจœเฉ‹ เจฌเฉ‚เจŸ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉŒเจฐเจพเจจ เจฒเฉ‹เฉœเฉ€เจ‚เจฆเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ‡เจธ เจฒเจˆ เจ•เจฐเจจเจฒ เจธเจฌ-เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€ เจตเจฟเฉฑเจš เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ init/. เจงเจฟเจ†เจจ เจฆเจฟเจ“ เจ•เจฟ cgroups, /dev ะธ tmpfs "เจตเฉฑเจกเฉ‡ เจคเจฟเฉฐเจจ" เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจจเจพ เจ•เจฐเฉ‹ file_operations, เจชเจฐ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจธเจฟเฉฑเจงเฉ‡ เจชเฉœเฉเจนเฉ‹ เจ…เจคเฉ‡ เจฒเจฟเจ–เฉ‹เฅค
เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเจพ เจšเจฟเฉฑเจคเจฐ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจตเฉ‡เจ‚ เจฏเฉ‚เจœเจผเจฐเจธเจชเฉ‡เจธ เจฒเฉ€เจจเจ•เจธ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจ‰เฉฑเจคเฉ‡ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเจพเจŠเจ‚เจŸ เจ•เฉ€เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ‡ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจขเจพเจ‚เจšเจพ เจจเจนเฉ€เจ‚ เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† pipes, dmesg ะธ POSIX clocks, เจœเฉ‹ เจ•เจฟ เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจตเฉ€ เจฒเจพเจ—เฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจจ file_operations, VFS เจฒเฉ‡เจ…เจฐ เจฐเจพเจนเฉ€เจ‚ เจชเจนเฉเฉฐเจš เจ•เฉ€เจคเฉ€ เจ—เจˆเฅค

เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

VFS เจธเจฟเจธเจŸเจฎ เจ•เจพเจฒเจพเจ‚ เจ…เจคเฉ‡ เจ•เฉเจ เจ–เจพเจธ เจฆเฉ‡ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ‡ เจตเจฟเจšเจ•เจพเจฐ เจ‡เฉฑเจ• "เจฐเฉ‡เจชเจฐ เจฒเฉ‡เจ…เจฐ" เจนเฉˆ file_operations, เจœเจฟเจตเฉ‡ เจ•เฉ€ ext4 ะธ procfs. เจซเฉฐเจ•เจธเจผเจจ file_operations เจœเจพเจ‚ เจคเจพเจ‚ เจกเจฟเจตเจพเจˆเจธ เจกเจฐเจพเจˆเจตเจฐเจพเจ‚ เจœเจพเจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจเจ•เจธเฉˆเจธ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค tmpfs, devtmpfs ะธ cgroups เจจเจพ เจตเจฐเจคเฉ‹ file_operations, เจชเจฐ เจธเจฟเฉฑเจงเฉ‡ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš.
VFS เจฆเฉ€ เจนเฉ‹เจ‚เจฆ เจ•เฉ‹เจก เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจฆเจพ เจฎเฉŒเจ•เจพ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจคเจฐเฉ€เจ•เจฟเจ†เจ‚ เจจเฉ‚เฉฐ เจนเจฐเฉ‡เจ• เจ•เจฟเจธเจฎ เจฆเฉ‡ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจฆเฉเจ†เจฐเจพ เจฆเฉเจฌเจพเจฐเจพ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจ•เฉ‹เจก เจฆเฉ€ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจธเฉŒเจซเจŸเจตเฉ‡เจ…เจฐ เจ‡เฉฐเจœเฉ€เจจเฉ€เจ…เจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ†เจฎ เจ…เจญเจฟเจ†เจธ เจนเฉˆ! เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเฉ‡เจ•เจฐ เจฎเฉเฉœ เจตเจฐเจคเฉ‹เจ‚ เจฏเฉ‹เจ— เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉˆ เจ—เฉฐเจญเฉ€เจฐ เจ—เจฒเจคเฉ€เจ†เจ‚, เจธเจพเจฐเฉ‡ เจฒเจพเจ—เฉ‚เจ•เจฐเจจ เจœเฉ‹ เจ†เจฎ เจตเจฟเจงเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจจ เจ‰เจนเจจเจพเจ‚ เจคเฉ‹เจ‚ เจชเฉ€เฉœเจค เจนเจจเฅค

/tmp: เจธเจงเจพเจฐเจจ เจธเฉฐเจ•เฉ‡เจค

เจธเจฟเจธเจŸเจฎ เจ‰เฉฑเจคเฉ‡ VFS เจฎเฉŒเจœเฉ‚เจฆ เจนเฉ‹เจฃ เจฆเจพ เจชเจคเจพ เจฒเจ—เจพเจ‰เจฃ เจฆเจพ เจ‡เฉฑเจ• เจ†เจธเจพเจจ เจคเจฐเฉ€เจ•เจพ เจนเฉˆ เจŸเจพเจˆเจช เจ•เจฐเจจเจพ mount | grep -v sd | grep -v :/, เจœเฉ‹ เจธเจพเจฐเฉ‡ เจฎเจพเจŠเจ‚เจŸ เจ•เฉ€เจคเฉ‡ เจฆเจฟเจ–เจพเจเจ—เจพ (mounted) เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจœเฉ‹ เจกเจฟเจธเจ•-เจฐเฉˆเจœเจผเฉ€เจกเฉˆเจ‚เจŸ เจ…เจคเฉ‡ เจ—เฉˆเจฐ-NFS เจจเจนเฉ€เจ‚ เจนเจจ, เจœเฉ‹ เจ•เจฟ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฐเจพเจ‚ 'เจคเฉ‡ เจธเจนเฉ€ เจนเฉˆเฅค เจธเฉ‚เจšเฉ€เจฌเฉฑเจง เจฎเจพเจŠเจ‚เจŸเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• (mounts) เจฌเจฟเจจเจพเจ‚ เจธเจผเฉฑเจ• VFS เจ•เจฐเฉ‡เจ—เจพ /tmp, เจธเฉฑเจœเจพ?

เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

เจนเจฐ เจ•เฉ‹เจˆ เจ‰เจธ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจจเฉ‚เฉฐ เจœเจพเจฃเจฆเจพ เจนเฉˆ / tmp เจ‡เฉฑเจ• เจญเฉŒเจคเจฟเจ• เจฎเจพเจงเจฟเจ…เจฎ 'เจคเฉ‡ - เจชเจพเจ—เจฒเจชเจจ! เจธเจฐเฉ‹เจค.

เจธเจŸเฉ‹เจฐ เจ•เจฐเจจเจพ เจ…เจฃเจšเจพเจนเฉ‡ เจ•เจฟเจ‰เจ‚ เจนเฉˆ /tmp เจญเฉŒเจคเจฟเจ• เจฎเฉ€เจกเฉ€เจ† 'เจคเฉ‡? เจ•เจฟเจ‰เจ‚เจ•เจฟ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš /tmp เจ…เจธเจฅเจพเจˆ เจนเจจ เจ…เจคเฉ‡ เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจœเฉฐเจคเจฐ เจ‰เจธ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเจพเจฒเฉ‹เจ‚ เจนเฉŒเจฒเฉ€ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเจฟเฉฑเจฅเฉ‡ tmpfs เจฌเจฃเจพเจˆ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจญเฉŒเจคเจฟเจ• เจฎเฉ€เจกเฉ€เจ† เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจจเจพเจฒเฉ‹เจ‚ เจ“เจตเจฐเจฐเจพเจˆเจŸ เจนเฉ‹เจฃ 'เจคเฉ‡ เจชเจนเจฟเจจเจฃ เจฒเจˆ เจตเจงเฉ‡เจฐเฉ‡ เจธเฉฐเจตเฉ‡เจฆเจจเจธเจผเฉ€เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจ…เฉฐเจค เจตเจฟเฉฑเจš, /tmp เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉฐเจตเฉ‡เจฆเจจเจธเจผเฉ€เจฒ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเจฐ เจฐเฉ€เจฌเฉ‚เจŸ เจคเฉ‡ เจ—เจพเจ‡เจฌ เจ•เจฐเจจเจพ เจ‡เฉฑเจ• เจœเจผเจฐเฉ‚เจฐเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจนเฉˆเฅค

เจฌเจฆเจ•เจฟเจธเจฎเจคเฉ€ เจจเจพเจฒ, เจ•เฉเจ เจฒเฉ€เจจเจ•เจธ เจกเจฟเจธเจŸเฉเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจ เจ‡เฉฐเจธเจŸเจพเจฒเฉ‡เจธเจผเจจ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐเฉ‡เจœเจผ เจกเจฟเจตเจพเจˆเจธ เจ‰เฉฑเจคเฉ‡ /tmp เจฌเจฃเจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจจเจฟเจฐเจพเจธเจผ เจจเจพ เจนเฉ‹เจตเฉ‹ เจœเฉ‡เจ•เจฐ เจ‡เจน เจคเฉเจนเจพเจกเฉ‡ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจตเฉ€ เจนเฉ‹เจ‡เจ† เจนเฉˆเฅค เจฆเฉ‡ เจจเจพเจฒ เจ•เฉเจ เจธเจงเจพเจฐเจจ เจนเจฆเจพเจ‡เจคเจพเจ‚ เจฆเฉ€ เจชเจพเจฒเจฃเจพ เจ•เจฐเฉ‹ Arch Wikiเจ‡เจธ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฒเจˆ, เจ…เจคเฉ‡ เจงเจฟเจ†เจจ เจฐเฉฑเจ–เฉ‹ เจ•เจฟ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฒเจˆ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€ เจ—เจˆ เจนเฉˆ tmpfs เจนเฉ‹เจฐ เจ‰เจฆเฉ‡เจธเจผเจพเจ‚ เจฒเจˆ เจ…เจฃเจ‰เจชเจฒเจฌเจง เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจตเจฟเจธเจผเจพเจฒ tmpfs เจ…เจคเฉ‡ เจ‡เจธ เจ‰เฉฑเจคเฉ‡ เจตเฉฑเจกเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจตเจพเจฒเจพ เจธเจฟเจธเจŸเจฎ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ–เจคเจฎ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฐเฉˆเจธเจผ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจนเฉ‹เจฐ เจธเฉฐเจ•เฉ‡เจค: เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚ /etc/fstab, เจฏเจพเจฆ เจฐเฉฑเจ–เฉ‹ เจ•เจฟ เจ‡เจน เจ‡เฉฑเจ• เจจเจตเฉ€เจ‚ เจฒเจพเจˆเจจ เจจเจพเจฒ เจ–เจคเจฎ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจจเจนเฉ€เจ‚ เจคเจพเจ‚ เจคเฉเจนเจพเจกเจพ เจธเจฟเจธเจŸเจฎ เจฌเฉ‚เจŸ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

/proc เจ…เจคเฉ‡ /sys

เจ‡เจฒเจพเจตเจพ /tmp, VFS (เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ) เจœเฉ‹ เจ•เจฟ เจฒเฉ€เจจเจ•เจธ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ เจธเจญ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจนเจจ /proc ะธ /sys, (/dev เจธเจพเจ‚เจเฉ€ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจตเจฟเฉฑเจš เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจจเจนเฉ€เจ‚ เจนเฉˆ file_operations). เจ‡เจน เจฆเฉ‹ เจญเจพเจ— เจ•เจฟเจ‰เจ‚? เจ†เจ“ เจ‡เจธ เจฎเฉเฉฑเจฆเฉ‡ 'เจคเฉ‡ เจ—เฉŒเจฐ เจ•เจฐเฉ€เจเฅค

procfs เจ•เจฐเจจเจฒ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเจพ เจธเจจเฉˆเจชเจธเจผเจพเจŸ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจจเฉเจนเจพเจ‚ เจฒเจˆ เจ‡เจน เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจฆเจพ เจนเฉˆ userspace. The /proc เจ•เจฐเจจเจฒ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฟเฉฐเจŸ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ•เฉ€ เจ‰เจชเจฒเจฌเจง เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เฉฐเจŸเจฐเฉฑเจชเจŸเจธ, เจตเจฐเจšเฉเจ…เจฒ เจฎเฉˆเจฎเฉ‹เจฐเฉ€, เจ…เจคเฉ‡ เจธเจผเจกเจฟเจŠเจฒเจฐเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, /proc/sys เจ‰เจน เจฅเจพเจ‚ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจธเฉฐเจฐเจšเจฟเจค เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ sysctlเจฒเจˆ เจ‰เจชเจฒเจฌเจง เจนเฉˆ userspace. เจตเจฟเจ…เจ•เจคเฉ€เจ—เจค เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจ…เจคเฉ‡ เจ…เฉฐเจ•เฉœเฉ‡ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจชเฉเจฐเจฆเจฐเจธเจผเจฟเจค เจนเฉเฉฐเจฆเฉ‡ เจนเจจ /proc/.

เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

เจ‡เจน เจ‡เจธ เจฒเจˆ เจนเฉˆ /proc/meminfo เจ‡เฉฑเจ• เจ–เจพเจฒเฉ€ เจซเจพเจˆเจฒ เจนเฉˆ เจœเจฟเจธ เจตเจฟเฉฑเจš เจ•เฉ€เจฎเจคเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค

เจฐเจตเฉฑเจˆเจ† /proc เจซเจพเจˆเจฒเจพเจ‚ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ เจ•เจฟ VFS เจกเจฟเจธเจ• เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ เจ•เจฟเฉฐเจจเฉ‡ เจตเฉฑเจ–เจฐเฉ‡ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ‡เฉฑเจ• เจชเจพเจธเฉ‡, /proc/meminfo เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจตเฉ‡เจ–เฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆ free. เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, เจ‡เจน เจ–เจพเจฒเฉ€ เจนเฉˆ! เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจšเจฒเจฆเจพ เจนเฉˆ? เจธเจฟเจฐเจฒเฉ‡เจ– เจตเจพเจฒเฉ‡ เจฎเจธเจผเจนเฉ‚เจฐ เจฒเฉ‡เจ– เจฆเฉ€ เจธเจฅเจฟเจคเฉ€ เจฏเจพเจฆ เจ•เจฐเจพเจ‰เจ‚เจฆเฉ€ เจนเฉˆ เจ•เฉ€ เจšเฉฐเจฆเจฐเจฎเจพ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจ‡เจธ เจตเฉฑเจฒ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ– เจฐเจฟเจนเจพ เจนเฉˆ? เจ…เจธเจฒเฉ€เจ…เจค เจ…เจคเฉ‡ เจ•เฉเจ†เจ‚เจŸเจฎ เจฅเจฟเจŠเจฐเฉ€"เจ•เจพเจฐเจจเฉ‡เจฒ เจฏเฉ‚เจจเฉ€เจตเจฐเจธเจฟเจŸเฉ€ เจฆเฉ‡ เจญเฉŒเจคเจฟเจ• เจตเจฟเจ—เจฟเจ†เจจ เจฆเฉ‡ เจชเฉเจฐเฉ‹เจซเฉˆเจธเจฐ เจกเฉ‡เจตเจฟเจก เจฎเจฐเจฎเจฟเจจ เจฆเฉเจ†เจฐเจพ 1985 เจตเจฟเฉฑเจš เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€เฅค เจคเฉฑเจฅ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ•เจฐเจจเจฒ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจ…เฉฐเจ•เฉœเฉ‡ เจ‡เจ•เฉฑเจ เฉ‡ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจฌเฉ‡เจจเจคเฉ€ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ /proc, เจ…เจคเฉ‡ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš /proc เจœเจฆเฉ‹เจ‚ เจ•เฉ‹เจˆ เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ–เจฆเจพ เจคเจพเจ‚ เจ•เฉเจ เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเจพเฅค เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟเจนเจพ เจฎเจฐเจฎเจฟเจจ, "เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจ•เฉเจ†เจ‚เจŸเจฎ เจธเจฟเจงเจพเจ‚เจค เจ•เจนเจฟเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจฎเจพเจช เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเจพเจชเฉ€ เจœเจพ เจฐเจนเฉ€ เจธเฉฐเจชเฉฑเจคเฉ€ เจฆเฉ‡ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจฎเฉŒเจœเฉ‚เจฆ เจฎเฉเฉฑเจฒ เจจเฉ‚เฉฐ เจชเฉเจฐเจ—เจŸ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค" (เจ…เจคเฉ‡ เจšเฉฐเจฆเจฐเจฎเจพ เจฌเจพเจฐเฉ‡ เจธเจตเจพเจฒ เจจเฉ‚เฉฐ เจนเฉ‹เจฎเจตเจฐเจ• เจธเจฎเจเฉ‹!)
เจ–เจพเจฒเฉ€เจชเจฃ เจœเจพเจชเจฆเจพ เจนเฉˆ procfs เจ…เจฐเจฅ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจนเฉˆเฅค เจจเจพเจฒ เจ‡เฉฑเจ• เจฅเฉ‹เฉœเฉ€ เจตเฉฑเจ–เจฐเฉ€ เจธเจฅเจฟเจคเฉ€ sysfs. เจ†เจ‰ เจคเฉเจฒเจจเจพ เจ•เจฐเฉ€เจ เจ•เจฟ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจ‡เฉฑเจ• เจฌเจพเจˆเจŸ เจ†เจ•เจพเจฐ เจฆเฉ€เจ†เจ‚ เจ•เจฟเฉฐเจจเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจตเจฟเฉฑเจš เจนเจจ /proc เจ…เจคเฉ‡ เจ…เฉฐเจฆเจฐ /sys.

เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

Procfs เจฆเฉ€ เจ‡เฉฑเจ• เจซเจพเจˆเจฒ เจนเฉˆ, เจ…เจฐเจฅเจพเจค เจจเจฟเจฐเจฏเจพเจค เจ•เฉ€เจคเฉ€ เจ•เจฐเจจเจฒ เจธเฉฐเจฐเจšเจจเจพ, เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจ…เจชเจตเจพเจฆ เจนเฉˆ เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจฌเฉ‚เจŸ เจชเฉเจฐเจคเฉ€ เจ‡เฉฑเจ• เจตเจพเจฐ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจฆเฉ‚เจœเฉ‡ เจชเจพเจธเฉ‡, เจ‡เจจ /sys เจ‡เฉฑเจฅเฉ‡ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจตเฉฑเจกเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจนเจจ, เจœเจฟเจจเฉเจนเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจฌเจนเฉเจค เจธเจพเจฐเฉ€เจ†เจ‚ เจฎเฉˆเจฎเฉ‹เจฐเฉ€ เจฆเจพ เจชเฉ‚เจฐเจพ เจชเฉฐเจจเจพ เจฒเฉˆเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจซเจพเจˆเจฒเจพเจ‚ sysfs เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉœเฉเจนเจจ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจœเจพเจฃเจ•เจพเจฐเฉ€ เจฆเฉ‡ เจŸเฉ‡เจฌเจฒ เจฆเฉ‡ เจ‰เจฒเจŸ, เจฌเจฟเจฒเจ•เฉเจฒ เจ‡เฉฑเจ• เจจเฉฐเจฌเจฐ เจœเจพเจ‚ เจฒเจพเจˆเจจ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ /proc/meminfo.

เจŸเฉ€เจšเจพ sysfs - เจ•เจฐเจจเจฒ เจ•เฉ€ เจ•เจพเจฒ เจ•เจฐเจฆเจพ เจนเฉˆ เจฆเฉ‡ เจฐเฉ€เจก/เจฐเจพเจˆเจŸ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเฉ‹ ยซkobjectsยป เจฏเฉ‚เจœเจผเจฐเจธเจชเฉ‡เจธ เจตเจฟเฉฑเจšเฅค เจ‡เจ•เฉ‹ เจŸเฉ€เจšเจพ kobjects เจฒเจฟเฉฐเจ• เจ—เจฟเจฃเจคเฉ€ เจนเฉˆ: เจœเจฆเฉ‹เจ‚ เจ‡เฉฑเจ• เจ•เฉ‹เจฌเจœเฉˆเจ•เจŸ เจฆเจพ เจ†เจ–เจฐเฉ€ เจฒเจฟเฉฐเจ• เจนเจŸเจพ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจ‡เจธ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจธเจฐเฉ‹เจคเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจนเจพเจฒ เจ•เจฐเฉ‡เจ—เจพเฅค เจซเจฟเจฐ เจตเฉ€, /sys เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฎเจธเจผเจนเฉ‚เจฐ เจฌเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ "เจฏเฉ‚เจœเจผเจฐเจธเจชเฉ‡เจธ เจฒเจˆ เจธเจฅเจฟเจฐ ABI" เจ•เฉ‹เจฐ, เจœเจฟเจธ เจจเฉ‚เฉฐ เจ•เฉ‹เจˆ เจตเฉ€ เจ•เจฆเฉ‡ เจตเฉ€, เจ•เจฟเจธเฉ‡ เจตเฉ€ เจนเจพเจฒเจพเจค เจตเจฟเฉฑเจš เจจเจนเฉ€เจ‚ เจ•เจฐ เจธเจ•เจฆเจพ "เจฌเฉเจฐเฉ‡เจ•". เจ‡เจธเจฆเจพ เจฎเจคเจฒเจฌ เจ‡เจน เจจเจนเฉ€เจ‚ เจนเฉˆ เจ•เจฟ sysfs เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจธเจฅเจฟเจฐ เจนเจจ, เจœเฉ‹ เจ…เจธเจฅเจฟเจฐ เจ†เจฌเจœเฉˆเจ•เจŸ เจฆเฉ€ เจธเฉฐเจฆเจฐเจญ เจ—เจฟเจฃเจคเฉ€ เจฆเฉ‡ เจจเจพเจฒ เจ…เจธเฉฐเจ—เจค เจนเฉ‹เจฃเจ—เฉ€เจ†เจ‚เฅค
เจ•เจฐเจจเจฒ เจฆเจพ เจธเจฅเจฟเจฐ ABI เจธเฉ€เจฎเจฟเจค เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจฆเจฟเจ–เจพเจˆ เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ /sys, เจ‰เจน เจจเจนเฉ€เจ‚ เจœเฉ‹ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‰เจธ เจ–เจพเจธ เจชเจฒ 'เจคเฉ‡ เจฎเฉŒเจœเฉ‚เจฆ เจนเฉˆเฅค sysfs เจตเจฟเฉฑเจš เจซเจพเจˆเจฒ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจ‡เจธ เจ—เฉฑเจฒ เจฆเฉ€ เจธเจฎเจ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจกเจฟเจตเจพเจˆเจธเจพเจ‚, เจฎเฉ‹เจกเฉ€เจŠเจฒ, เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ, เจ†เจฆเจฟ เจฒเจˆ เจธเฉฐเจฐเจšเจจเจพเจฏเฉ‹เจ— เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจ•เจฟเจตเฉ‡เจ‚ เจนเจจเฅค เจธเฉฐเจฐเจšเจฟเจค เจœเจพเจ‚ เจชเฉœเฉเจนเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจคเจฐเจ•เจชเฉ‚เจฐเจจ เจธเจฟเฉฑเจŸเจพ เจ‡เจน เจนเฉˆ เจ•เจฟ procfs เจ•เจฐเจจเจฒ เจฆเฉ‡ เจธเจฅเจฟเจฐ ABI เจฆเจพ เจตเฉ€ เจนเจฟเฉฑเจธเจพ เจนเฉˆ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจ‡เจน เจธเจชเจธเจผเจŸ เจคเฉŒเจฐ 'เจคเฉ‡ เจจเจนเฉ€เจ‚ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆเฅค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ.

เจฒเฉ€เจจเจ•เจธ เจตเจฟเฉฑเจš เจตเจฐเจšเฉเจ…เจฒ เจซเจพเจˆเจฒ เจธเจฟเจธเจŸเจฎ: เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ? เจญเจพเจ— 1

เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ sysfs เจนเจฐเฉ‡เจ• เจ‡เจ•เจพเจˆ เจฒเจˆ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡เจธเจผ เจธเฉฐเจชเฉฑเจคเฉ€ เจฆเจพ เจตเจฐเจฃเจจ เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจชเฉœเฉเจนเจจเจฏเฉ‹เจ—, เจฒเจฟเจ–เจฃเจฏเฉ‹เจ—, เจœเจพเจ‚ เจฆเฉ‹เจตเฉ‡เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš "0" เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ SSD เจจเฉ‚เฉฐ เจนเจŸเจพเจ‡เจ† เจจเจนเฉ€เจ‚ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจ†เจ‰ เจ…เจจเฉเจตเจพเจฆ เจฆเฉ‡ เจฆเฉ‚เจœเฉ‡ เจญเจพเจ— เจจเฉ‚เฉฐ eBPF เจ…เจคเฉ‡ bcc เจŸเฉ‚เจฒเจธ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ VFS เจฆเฉ€ เจจเจฟเจ—เจฐเจพเจจเฉ€ เจ•เจฐเจจ เจฆเฉ‡ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ€เจ, เจ…เจคเฉ‡ เจนเฉเจฃ เจ…เจธเฉ€เจ‚ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจฆเฉ€ เจ‰เจกเฉ€เจ• เจ•เจฐ เจฐเจนเฉ‡ เจนเจพเจ‚ เจ…เจคเฉ‡ เจฐเจตเจพเจ‡เจคเฉ€ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจธเฉฑเจฆเจพ เจฆเจฟเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจตเฉˆเจฌเจฟเจจเจพเจฐ เจ–เฉ‹เจฒเฉเจนเฉ‹, เจœเฉ‹ เจ•เจฟ 9 เจ…เจชเฉเจฐเฉˆเจฒ เจจเฉ‚เฉฐ เจธเจพเจกเฉ‡ เจ…เจงเจฟเจ†เจชเจ• เจฆเฉเจ†เจฐเจพ เจ†เจฏเฉ‹เจœเจฟเจค เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพ - เจตเจฒเจพเจฆเฉ€เจฎเฉ€เจฐ เจกเจฐเฉ‹เจœเจผเจกเฉ‡เจŸเจธเจ•เฉ€.

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹