Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 1

เช•เซ‡เชฎ เช›เซ‹ เชฌเชงเชพ! เชคเชฎเซ‡ เชชเชนเซ‡เชฒเชพเชฅเซ€ เชœ เชชเซเชฐเซ‡เชฎเชฎเชพเช‚ เชชเชกเซเชฏเชพ เช›เซ‹ เชคเซ‡ เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎเซ‹ เชฎเชพเชŸเซ‡ เช…เชฎเซ‡ เชจเชตเซ€ เชธเซเชŸเซเชฐเซ€เชฎเซเชธ เชถเชฐเซ‚ เช•เชฐเชตเชพเชจเซเช‚ เชšเชพเชฒเซ เชฐเชพเช–เซ€เช เช›เซ€เช เช…เชจเซ‡ เชนเชตเซ‡ เช…เชฎเซ‡ เช เชœเชพเชนเซ‡เชฐเชพเชค เช•เชฐเชตเชพเชจเซ€ เช‰เชคเชพเชตเชณเชฎเชพเช‚ เช›เซ€เช เช•เซ‡ เช…เชฎเซ‡ เช…เชญเซเชฏเชพเชธเช•เซเชฐเชฎเซ‹เชจเซ‹ เชจเชตเซ‹ เชธเซ‡เชŸ เชถเชฐเซ‚ เช•เชฐเซ€ เชฐเชนเซเชฏเชพ เช›เซ€เช. "เชฒเชฟเชจเช•เซเชธ เชเชกเชฎเชฟเชจเชฟเชธเซเชŸเซเชฐเซ‡เชŸเชฐ"เชœเซ‡ เชเชชเซเชฐเชฟเชฒเชจเชพ เช…เช‚เชคเชฎเชพเช‚ เชฒเซ‹เชจเซเชš เชฅเชถเซ‡. เช† เช‡เชตเซ‡เชจเซเชŸ เชฎเชพเชŸเซ‡ เชเช• เชจเชตเซเช‚ เชชเซเชฐเช•เชพเชถเชจ เชคเชพ. เชฎเซ‚เชณ เชธเชพเชฎเช—เซเชฐเซ€ เชธเชพเชฅเซ‡, เชคเชฎเซ‡ เช•เชฐเซ€ เชถเช•เซ‹ เช›เซ‹ เช…เชนเซ€เช‚ เชตเชพเช‚เชšเซ‹.

เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ เชเช• เชชเซเชฐเช•เชพเชฐเชจเซ€ เชœเชพเชฆเซเชˆ เช…เชฎเซ‚เชฐเซเชคเชคเชพ เชคเชฐเซ€เช•เซ‡ เชธเซ‡เชตเชพ เช†เชชเซ‡ เช›เซ‡ เชœเซ‡ เชฒเชฟเชจเช•เซเชธเชจเซ€ เชซเชฟเชฒเชธเซ‚เชซเซ€เชจเซ‡ เชเชตเซเช‚ เช•เชนเซ‡เชตเชพเชจเซ€ เชฎเช‚เชœเซ‚เชฐเซ€ เช†เชชเซ‡ เช›เซ‡ เช•เซ‡ "เชฌเชงเซเช‚ เชเช• เชซเชพเช‡เชฒ เช›เซ‡."

Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 1

เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เชถเซเช‚ เช›เซ‡? Linux เชจเชพ เชชเซเชฐเชฅเชฎ เชฏเซ‹เช—เชฆเชพเชจเช•เชฐเซเชคเชพเช“ เช…เชจเซ‡ เชฒเซ‡เช–เช•เซ‹เชฎเชพเช‚เชจเชพ เชเช•เชจเชพ เชถเชฌเซเชฆเซ‹ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชฐเซ‹เชฌเชฐเซเชŸเชพ เชฒเชพเชตเชพ, "เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เช เชšเซ‹เช•เซเช•เชธ เชฎเชพเชณเช–เซเช‚ เช…เชจเซเชธเชพเชฐ เชเชธเซ‡เชฎเซเชฌเชฒ เชฅเชฏเซ‡เชฒ เชกเซ‡เชŸเชพเชจเซ‹ เช…เชงเชฟเช•เซเชฐเชฎเชฟเช• เชธเช‚เช—เซเชฐเชน เช›เซ‡." เชญเชฒเซ‡ เชคเซ‡ เชฌเชจเซ€ เชถเช•เซ‡, เช† เชตเซเชฏเชพเช–เซเชฏเชพ VFAT (เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชซเชพเชณเชตเชฃเซ€ เช•เซ‹เชทเซเชŸเช•), เช—เชฟเชŸ เช…เชจเซ‡ เชฎเชพเชŸเซ‡ เชธเชฎเชพเชจ เชฐเซ€เชคเซ‡ เชฏเซ‹เช—เซเชฏ เช›เซ‡. Cassandra (NoSQL เชกเซ‡เชŸเชพเชฌเซ‡เช). เชคเซ‹ เช†เชตเซ€ เชตเชธเซเชคเซเชจเซ‡ "เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ" เชคเชฐเซ€เช•เซ‡ เชฌเชฐเชพเชฌเชฐ เชถเซเช‚ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡?

เชซเชพเช‡เชฒเชธเชฟเชธเซเชŸเชฎ เชฌเซ‡เชเชฟเช•เซเชธ

Linux เช•เชฐเซเชจเชฒ เช เชเชจเซเชŸเชฟเชŸเซ€ เชฎเชพเชŸเซ‡ เช…เชฎเซเช• เชœเชฐเซ‚เชฐเชฟเชฏเชพเชคเซ‹ เชงเชฐเชพเชตเซ‡ เช›เซ‡ เชœเซ‡เชจเซ‡ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เช—เชฃเซ€ เชถเช•เชพเชฏ. เชคเซ‡ เชชเชฆเซเชงเชคเชฟเช“ เช…เชฎเชฒเชฎเชพเช‚ เชœ เชœเซ‹เชˆเช open(), read() ะธ write() เชธเชคเชค เชชเชฆเชพเชฐเซเชฅเซ‹ เชฎเชพเชŸเซ‡ เช•เซ‡ เชœเซ‡เชจเชพเช‚ เชจเชพเชฎ เช›เซ‡. เช‘เชฌเซเชœเซ‡เช•เซเชŸ-เช“เชฐเชฟเชเชจเซเชŸเซ‡เชก เชฆเซƒเชทเซเชŸเชฟเช•เซ‹เชฃเชฅเซ€ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎเชฟเช‚เช—, เช•เชฐเซเชจเชฒ เชธเชพเชฎเชพเชจเซเชฏ เชซเชพเช‡เชฒเชธเชฟเชธเซเชŸเชฎเชจเซ‡ เช…เชฎเซ‚เชฐเซเชค เช‡เชจเซเชŸเชฐเชซเซ‡เชธ เชคเชฐเซ€เช•เซ‡ เชตเซเชฏเชพเช–เซเชฏเชพเชฏเชฟเชค เช•เชฐเซ‡ เช›เซ‡, เช…เชจเซ‡ เช† เชคเซเชฐเชฃ เชฎเซ‹เชŸเชพ เช•เชพเชฐเซเชฏเซ‹เชจเซ‡ "เชตเชฐเซเชšเซเชฏเซเช…เชฒ" เช—เชฃเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เช•เซ‹เชˆ เชšเซ‹เช•เซเช•เชธ เชตเซเชฏเชพเช–เซเชฏเชพ เชจเชฅเซ€. เชคเชฆเชจเซเชธเชพเชฐ, เชฎเซ‚เชณเชญเซ‚เชค เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ เช…เชฎเชฒเซ€เช•เชฐเชฃเชจเซ‡ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ (VFS) เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡.

Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 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, เชชเชฐเช‚เชคเซ เชธเซ€เชงเชพ เชตเชพเช‚เชšเซ‹ เช…เชจเซ‡ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชฒเช–เซ‹.
เชจเซ€เชšเซ‡เชจเซ‹ เช†เช•เซƒเชคเชฟ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฏเซเชเชฐเชธเซเชชเซ‡เชธ เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ Linux เชธเชฟเชธเซเชŸเชฎเซ‹ เชชเชฐ เชฎเชพเช‰เชจเซเชŸ เชฅเชฏเซ‡เชฒ เชตเชฟเชตเชฟเชง เชชเซเชฐเช•เชพเชฐเชจเซ€ เชซเชพเช‡เชฒเชธเชฟเชธเซเชŸเชฎเชจเซ‡ เชเช•เซเชธเซ‡เชธ เช•เชฐเซ‡ เช›เซ‡. เชธเซเชŸเซเชฐเช•เซเชšเชฐเซเชธ เชฌเชคเชพเชตเซ‡เชฒ เชจเชฅเซ€ pipes, dmesg ะธ POSIX clocks, เชœเซ‡ เชฎเชพเชณเช–เชพเชจเซ‡ เชชเชฃ เช…เชฎเชฒเชฎเชพเช‚ เชฎเซ‚เช•เซ‡ เช›เซ‡ file_operations, VFS เชธเซเชคเชฐ เชฎเชพเชฐเชซเชคเซ‡ เชเช•เซเชธเซ‡เชธ.

Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 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, เช–เชฐเซเช‚ เชจเซ‡?

Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 1

เชฆเชฐเซ‡เช• เชตเซเชฏเช•เซเชคเชฟ เชคเซ‡ เชธเช‚เช—เซเชฐเชน เชœเชพเชฃเซ‡ เช›เซ‡ / tmp เชญเซŒเชคเชฟเช• เชฎเชพเชงเซเชฏเชฎ เชชเชฐ - เช—เชพเช‚เชกเชชเชฃ! เชธเซ‹เชฐเซเชธ.

เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เชจเซ‡ เชธเช‚เช—เซเชฐเชนเชฟเชค เช•เชฐเชตเซเช‚ เช…เชจเชฟเชšเซเช›เชจเซ€เชฏ เช›เซ‡ /tmp เชญเซŒเชคเชฟเช• เชฎเซ€เชกเชฟเชฏเชพ เชชเชฐ? เช•เชพเชฐเชฃ เช•เซ‡ เชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹ /tmp เช…เชธเซเชฅเชพเชฏเซ€ เช›เซ‡ เช…เชจเซ‡ เชธเช‚เช—เซเชฐเชน เช‰เชชเช•เชฐเชฃเซ‹ เชฎเซ‡เชฎเชฐเซ€ เช•เชฐเชคเชพเช‚ เชงเซ€เชฎเชพ เช›เซ‡ เชœเซเชฏเชพเช‚ tmpfs เชฌเชจเชพเชตเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชคเชฆเซเชชเชฐเชพเช‚เชค, เชญเซŒเชคเชฟเช• เชฎเซ€เชกเชฟเชฏเชพ เชฎเซ‡เชฎเชฐเซ€ เช•เชฐเชคเชพเช‚ เช“เชตเชฐเชฐเชพเชˆเชŸ เชฅเชพเชฏ เชคเซเชฏเชพเชฐเซ‡ เชชเชนเซ‡เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชตเชงเซ เชธเช‚เชตเซ‡เชฆเชจเชถเซ€เชฒ เชนเซ‹เชฏ เช›เซ‡. เช›เซ‡เชฒเซเชฒเซ‡, /tmp เชฎเชพเช‚ เชซเชพเชˆเชฒเซ‹ เชธเช‚เชตเซ‡เชฆเชจเชถเซ€เชฒ เชฎเชพเชนเชฟเชคเซ€ เชธเชฎเชพเชตเซ€ เชถเช•เซ‡ เช›เซ‡, เชคเซ‡เชฅเซ€ เชคเซ‡เชฎเชจเซ‡ เชฆเชฐเซ‡เช• เชฐเซ€เชฌเซเชŸ เชชเชฐ เช…เชฆเซƒเชถเซเชฏ เชฌเชจเชพเชตเชตเซเช‚ เช เชเช• เช†เชตเชถเซเชฏเช• เชฒเช•เซเชทเชฃ เช›เซ‡.

เช•เชฎเชจเชธเซ€เชฌเซ‡, เช•เซ‡เชŸเชฒเซ€เช• Linux เชตเชฟเชคเชฐเชฃ เชธเซเชฅเชพเชชเชจ เชธเซเช•เซเชฐเชฟเชชเซเชŸเซ‹ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เชธเช‚เช—เซเชฐเชน เช‰เชชเช•เชฐเชฃ เชชเชฐ /tmp เชฌเชจเชพเชตเซ‡ เช›เซ‡. เชœเซ‹ เชคเชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎ เชธเชพเชฅเซ‡ เชชเชฃ เช†เชตเซเช‚ เชฅเชฏเซเช‚ เชนเซ‹เชฏ เชคเซ‹ เชจเชฟเชฐเชพเชถ เชฅเชถเซ‹ เชจเชนเซ€เช‚. เชธเชพเชฅเซ‡ เชฅเซ‹เชกเชพ เชธเชฐเชณ เชธเซ‚เชšเชจเซ‹ เช…เชจเซเชธเชฐเซ‹ เช†เชฐเซเช• เชตเชฟเช•เซ€เช†เชจเซ‡ เช เซ€เช• เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡, เช…เชจเซ‡ เชงเซเชฏเชพเชจ เชฐเชพเช–เซ‹ เช•เซ‡ เชฎเซ‡เชฎเชฐเซ€ เชฎเชพเชŸเซ‡ เชซเชพเชณเชตเซ‡เชฒ เช›เซ‡ tmpfs เช…เชจเซเชฏ เชนเซ‡เชคเซเช“ เชฎเชพเชŸเซ‡ เช…เชจเซเชชเชฒเชฌเซเชง เชฌเชจเซ‡ เช›เซ‡. เชฌเซ€เชœเชพ เชถเชฌเซเชฆเซ‹เชฎเชพเช‚ เช•เชนเซ€เช เชคเซ‹, เชตเชฟเชถเชพเชณ tmpfs เช…เชจเซ‡ เชคเซ‡เชจเชพ เชชเชฐ เชฎเซ‹เชŸเซ€ เชซเชพเชˆเชฒเซ‹ เชงเชฐเชพเชตเชคเซ€ เชธเชฟเชธเซเชŸเชฎ เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ เช•เซเชฐเซ‡เชถ เชฅเชˆ เชถเช•เซ‡ เช›เซ‡. เช…เชจเซเชฏ เชธเช‚เช•เซ‡เชค: เชซเชพเช‡เชฒเชจเซ‡ เชธเช‚เชชเชพเชฆเชฟเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ /etc/fstab, เชฏเชพเชฆ เชฐเชพเช–เซ‹ เช•เซ‡ เชคเซ‡ เชจเชตเซ€ เชฒเชพเช‡เชจ เชธเชพเชฅเซ‡ เชธเชฎเชพเชชเซเชค เชฅเชตเซเช‚ เชœเซ‹เชˆเช, เช…เชจเซเชฏเชฅเชพ เชคเชฎเชพเชฐเซ€ เชธเชฟเชธเซเชŸเชฎ เชฌเซเชŸ เชฅเชถเซ‡ เชจเชนเซ€เช‚.

/proc เช…เชจเซ‡ /sys

เชธเชฟเชตเชพเชฏ /tmp, VFS (เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎ) เชœเซ‡ Linux เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพเช“ เชฎเชพเชŸเซ‡ เชธเซŒเชฅเซ€ เชตเชงเซ เชชเชฐเชฟเชšเชฟเชค เช›เซ‡ /proc ะธ /sys, (/dev เชตเชนเซ‡เช‚เชšเชพเชฏเซ‡เชฒ เชฎเซ‡เชฎเชฐเซ€เชฎเชพเช‚ เชฐเชนเซ‡ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชจเชฅเซ€ file_operations). เชถเชพ เชฎเชพเชŸเซ‡ เช† เชฌเซ‡ เช˜เชŸเช•เซ‹? เชšเชพเชฒเซ‹ เช† เชฎเซเชฆเซเชฆเชพ เชชเชฐ เชจเชœเชฐ เช•เชฐเซ€เช.

procfs เช•เชฐเซเชจเชฒ เช…เชจเซ‡ เชœเซ‡ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“ เชฎเชพเชŸเซ‡ เชคเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเซ‹ เชธเซเชจเซ‡เชชเชถเซ‹เชŸ เชฌเชจเชพเชตเซ‡ เช›เซ‡ userspace. เช† /proc เช•เชฐเซเชจเชฒ เชคเซ‡เชจเซ€ เชชเชพเชธเซ‡ เชถเซเช‚ เช‰เชชเชฒเชฌเซเชง เช›เซ‡ เชคเซ‡ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เช›เชพเชชเซ‡ เช›เซ‡, เชœเซ‡เชฎ เช•เซ‡ เช‡เชจเซเชŸเชฐเชชเซเชŸเซเชธ, เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชฎเซ‡เชฎเชฐเซ€ เช…เชจเซ‡ เชถเซ‡เชกเซเชฏเซ‚เชฒเชฐ. เช‰เชชเชฐเชพเช‚เชค, /proc/sys เชคเซ‡ เชธเซเชฅเชพเชจ เช›เซ‡ เชœเซเชฏเชพเช‚ เชชเชฐเชฟเชฎเชพเชฃเซ‹ เช†เชฆเซ‡เชถ เชธเชพเชฅเซ‡ เช—เซ‹เช เชตเซ‡เชฒ เช›เซ‡ sysctl, เชฎเชพเชŸเซ‡ เช‰เชชเชฒเชฌเซเชง userspace. เชตเซเชฏเช•เซเชคเชฟเช—เชค เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ€ เชธเซเชฅเชฟเชคเชฟ เช…เชจเซ‡ เช†เช‚เช•เชกเชพ เชกเชฟเชฐเซ‡เช•เซเชŸเชฐเซ€เช“เชฎเชพเช‚ เชชเซเชฐเชฆเชฐเซเชถเชฟเชค เชฅเชพเชฏ เช›เซ‡ /proc/.

Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 1

เชคเซ‡ /proc/meminfo เชเช• เช–เชพเชฒเซ€ เชซเชพเช‡เชฒ เช›เซ‡ เชœเซ‡ เชคเซ‡เชฎ เช›เชคเชพเช‚ เชฎเซ‚เชฒเซเชฏเชตเชพเชจ เชฎเชพเชนเชฟเชคเซ€ เชงเชฐเชพเชตเซ‡ เช›เซ‡.

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

Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 1

Procfs เชชเชพเชธเซ‡ เชเช• เชซเชพเชˆเชฒ เช›เซ‡, เชเชŸเชฒเซ‡ เช•เซ‡ เชจเชฟเช•เชพเชธ เช•เชฐเซ‡เชฒ เช•เชฐเซเชจเชฒ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจ, เชœเซ‡ เชเช• เช…เชชเชตเชพเชฆ เช›เซ‡ เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡เชจเซ‡ เชฎเชพเชคเซเชฐ เชเช• เชœ เชตเชพเชฐ เชฌเซเชŸ เชฆเซ€เช  เชœเชจเชฐเซ‡เชŸ เช•เชฐเชตเชพเชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡. เชฌเซ€เชœเซ€ เชฌเชพเชœเซ, เชฎเชพเช‚ /sys เชคเซเชฏเชพเช‚ เช˜เชฃเซ€ เชฎเซ‹เชŸเซ€ เชซเชพเช‡เชฒเซ‹ เช›เซ‡, เชœเซ‡เชฎเชพเช‚เชฅเซ€ เช˜เชฃเซ€ เชฌเชงเซ€ เชฎเซ‡เชฎเชฐเซ€เชจเซเช‚ เช†เช–เซเช‚ เชชเซƒเชทเซเช  เชฒเซ‡ เช›เซ‡. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชซเชพเช‡เชฒเซ‹ sysfs เชœเซ‡เชฎ เช•เซ‡ เชซเชพเช‡เชฒเซ‹ เชตเชพเช‚เชšเชตเชพเชฅเซ€ เชฎเซ‡เชณเชตเซ‡เชฒเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเชพ เช•เซ‹เชทเซเชŸเช•เซ‹เชฅเซ€ เชตเชฟเชชเชฐเซ€เชค, เชฌเชฐเชพเชฌเชฐ เชเช• เชจเช‚เชฌเชฐ เช…เชฅเชตเชพ เชฐเซ‡เช–เชพ เชงเชฐเชพเชตเซ‡ เช›เซ‡ /proc/meminfo.

เชฒเช•เซเชทเซเชฏ sysfs - เช•เชฐเซเชจเชฒ เชœเซ‡เชจเซ‡ เช•เซ‰เชฒ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡เชจเชพ เชตเชพเช‚เชšเชตเชพ/เชฒเช–เชตเชพ เช—เซเชฃเชงเชฐเซเชฎเซ‹ เชชเซเชฐเชฆเชพเชจ เช•เชฐเซ‹ ยซkobjectsยป เชฏเซเชเชฐเชธเซเชชเซ‡เชธเชฎเชพเช‚. เชเช•เชฎเชพเชคเซเชฐ เชงเซเชฏเซ‡เชฏ kobjects เชฒเชฟเช‚เช•เชจเซ€ เช—เชฃเชคเชฐเซ€ เช›เซ‡: เชœเซเชฏเชพเชฐเซ‡ เช•เซ‹เชฌเชœเซ‡เช•เซเชŸเชจเซ€ เช›เซ‡เชฒเซเชฒเซ€ เช•เชกเซ€ เชฆเซ‚เชฐ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชคเซเชฏเชพเชฐเซ‡ เชธเชฟเชธเซเชŸเชฎ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชธเช‚เช•เชณเชพเชฏเซ‡เชฒเชพ เชธเซเชคเซเชฐเซ‹เชคเซ‹เชจเซ‡ เชชเซเชจเชƒเชธเซเชฅเชพเชชเชฟเชค เช•เชฐเชถเซ‡. เชคเซ‡เชฎ เช›เชคเชพเช‚, /sys เชฎเซ‹เชŸเชพ เชญเชพเช—เชจเชพ เชชเซเชฐเช–เซเชฏเชพเชค เชฌเชจเชพเชตเซ‡ เช›เซ‡ "เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ เชœเช—เซเชฏเชพ เชฎเชพเชŸเซ‡ เชธเซเชฅเชฟเชฐ ABI" เช•เซ‹เชฐ, เชœเซ‡ เช•เซ‹เชˆ เชชเชฃ เชธเช‚เชœเซ‹เช—เซ‹เชฎเชพเช‚ เช•เซเชฏเชพเชฐเซ‡เชฏ เช•เชฐเซ€ เชถเช•เชคเซเช‚ เชจเชฅเซ€ "เชตเชฟเชฐเชพเชฎ". เช†เชจเซ‹ เช…เชฐเซเชฅ เช เชจเชฅเซ€ เช•เซ‡ sysfs เชฎเชพเช‚ เชซเชพเชˆเชฒเซ‹ เชธเซเชฅเชฟเชฐ เช›เซ‡, เชœเซ‡ เช…เชธเซเชฅเชฟเชฐ เชชเชฆเชพเชฐเซเชฅเซ‹เชจเซ€ เชธเช‚เชฆเชฐเซเชญ เช—เชฃเชคเชฐเซ€ เชธเชพเชฅเซ‡ เช…เชธเช‚เช—เชค เชนเชถเซ‡.
เช•เชฐเซเชจเชฒเชจเซเช‚ เชธเซเชฅเชฟเชฐ ABI เชœเซ‡ เชฆเซ‡เช–เชพเชˆ เชถเช•เซ‡ เช›เซ‡ เชคเซ‡เชจเซ‡ เชฎเชฐเซเชฏเชพเชฆเชฟเชค เช•เชฐเซ‡ เช›เซ‡ /sys, เชคเซ‡ เชšเซ‹เช•เซเช•เชธ เช•เซเชทเชฃเซ‡ เช–เชฐเซ‡เช–เชฐ เชถเซเช‚ เชนเชพเชœเชฐ เช›เซ‡ เชคเซ‡ เชจเชนเซ€เช‚. sysfs เชฎเชพเช‚ เชฒเชฟเชธเซเชŸเชฟเช‚เช— เชซเชพเช‡เชฒ เชชเชฐเชตเชพเชจเช—เซ€เช“ เช‰เชชเช•เชฐเชฃเซ‹, เชฎเซ‹เชกเซเชฏเซเชฒเซ‹, เชซเชพเช‡เชฒเชธเชฟเชธเซเชŸเชฎเซเชธ, เชตเช—เซ‡เชฐเซ‡ เชฎเชพเชŸเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เชธเซ‡เชŸเชฟเช‚เช—เซเชธ เช›เซ‡ เชคเซ‡เชจเซ€ เชธเชฎเชœ เช†เชชเซ‡ เช›เซ‡. เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชฟเชค เช…เชฅเชตเชพ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ เช›เซ‡. เชคเชพเชฐเซเช•เชฟเช• เชจเชฟเชทเซเช•เชฐเซเชท เช เช›เซ‡ เช•เซ‡ procfs เช•เชฐเซเชจเชฒเชจเชพ เชธเซเชฅเชฟเชฐ ABI เชจเซ‹ เชชเชฃ เชเช• เชญเชพเช— เช›เซ‡, เชœเซ‹ เช•เซ‡ เช†เชฎเชพเช‚ เชธเซเชชเชทเซเชŸเชชเชฃเซ‡ เชœเชฃเชพเชตเซเชฏเซเช‚ เชจเชฅเซ€. เชฆเชธเซเชคเชพเชตเซ‡เชœเซ€เช•เชฐเชฃ.

Linux เชฎเชพเช‚ เชตเชฐเซเชšเซเชฏเซเช…เชฒ เชซเชพเช‡เชฒ เชธเชฟเชธเซเชŸเชฎเซเชธ: เชถเชพ เชฎเชพเชŸเซ‡ เชคเซ‡เช“เชจเซ€ เชœเชฐเซ‚เชฐ เช›เซ‡ เช…เชจเซ‡ เชคเซ‡เช“ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชพเชฐเซเชฏ เช•เชฐเซ‡ เช›เซ‡? เชญเชพเช— 1

เชฎเชพเช‚ เชซเชพเช‡เชฒเซ‹ sysfs เชฆเชฐเซ‡เช• เชเชจเซเชŸเชฟเชŸเซ€ เชฎเชพเชŸเซ‡ เชเช• เชšเซ‹เช•เซเช•เชธ เช—เซเชฃเชงเชฐเซเชฎเชจเซเช‚ เชตเชฐเซเชฃเชจ เช•เชฐเซ‹ เช…เชจเซ‡ เชคเซ‡ เชตเชพเช‚เชšเซ€ เชถเช•เชพเชฏ, เชฒเช–เซ€ เชถเช•เชพเชฏ เช…เชฅเชตเชพ เชฌเช‚เชจเซ‡ เชนเซ‹เชˆ เชถเช•เซ‡. เชซเชพเช‡เชฒเชฎเชพเช‚ "0" เชจเซ‹ เช…เชฐเซเชฅ เช›เซ‡ เช•เซ‡ SSD เชฆเซ‚เชฐ เช•เชฐเซ€ เชถเช•เชพเชคเซเช‚ เชจเชฅเซ€.

เชšเชพเชฒเซ‹ เช…เชจเซเชตเชพเชฆเชจเซ‹ เชฌเซ€เชœเซ‹ เชญเชพเช— eBPF เช…เชจเซ‡ bcc เชŸเซ‚เชฒเซเชธเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ VFS เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฎเซ‹เชจเชฟเชŸเชฐ เช•เชฐเชตเซเช‚ เชคเซ‡เชจเซ€ เชธเชพเชฅเซ‡ เชถเชฐเซ‚ เช•เชฐเซ€เช, เช…เชจเซ‡ เชนเชตเซ‡ เช…เชฎเซ‡ เชคเชฎเชพเชฐเซ€ เชŸเชฟเชชเซเชชเชฃเซ€เช“เชจเซ€ เชฐเชพเชน เชœเซ‹เชˆ เชฐเชนเซเชฏเชพ เช›เซ€เช เช…เชจเซ‡ เชชเชฐเช‚เชชเชฐเชพเช—เชค เชฐเซ€เชคเซ‡ เชคเชฎเชจเซ‡ เช† เชฎเชพเชŸเซ‡ เช†เชฎเช‚เชคเซเชฐเชฟเชค เช•เชฐเซ€เช เช›เซ€เช เช“เชชเชจ เชตเซ‡เชฌเชฟเชจเชพเชฐ, เชœเซ‡ เช…เชฎเชพเชฐเชพ เชถเชฟเช•เซเชทเช• เชฆเซเชตเชพเชฐเชพ 9 เชเชชเซเชฐเชฟเชฒเชจเชพ เชฐเซ‹เชœ เชฏเซ‹เชœเชพเชถเซ‡ - เชตเซเชฒเชพเชฆเชฟเชฎเซ€เชฐ เชกเซเชฐเซ‹เชเชกเซ‡เชคเซเชธเซเช•เซ€.

เชธเซ‹เชฐเซเชธ: www.habr.com

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹