рд▓рд┐рдирдХреНрд╕рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ: рддрд┐рдиреАрд╣рд░реВ рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫрдиреН? рднрд╛рдЧ 1

рдирдорд╕реНрддреЗ рд╕рдмреИ! рд╣рд╛рдореАрд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдкрд╣рд┐рд▓реЗ рдиреИ рдкреНрд░реЗрдордорд╛ рдкрд░реЗрдХрд╛ рдкрд╛рдареНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рд╕реНрдЯреНрд░рд┐рдорд╣рд░реВ рд╕реБрд░реВ рдЧрд░реНрди рдЬрд╛рд░реА рд░рд╛рдЦреНрдЫреМрдВ рд░ рдЕрдм рд╣рд╛рдореА рдкрд╛рдареНрдпрдХреНрд░рдорд╣рд░реВрдХреЛ рдирдпрд╛рдБ рд╕реЗрдЯ рд╕реБрд░реБ рдЧрд░реНрджреИрдЫреМрдВ рднрдиреЗрд░ рдШреЛрд╖рдгрд╛ рдЧрд░реНрди рд╣рддрд╛рд░рдорд╛ рдЫреМрдВред "рд▓рд┐рдирдХреНрд╕ рдкреНрд░рд╢рд╛рд╕рдХ"рдЬреБрди рдЕрдкреНрд░рд┐рд▓рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рд╕реБрд░реБ рд╣реБрдиреЗрдЫред рдпрд╕ рдШрдЯрдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдирдпрд╛рдБ рдкреНрд░рдХрд╛рд╢рди рдорд┐рддрд┐ рдЧрд░рд┐рдиреЗрдЫред рдореВрд▓ рд╕рд╛рдордЧреНрд░реА рд╕рдВрдЧ, рддрдкрд╛рдИрдВ рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рдпрд╣рд╛рдБ рдкрдвреНрдиреБрд╣реЛрд╕реН.

рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд▓реЗ рдПрдХ рдкреНрд░рдХрд╛рд░рдХреЛ рдЬрд╛рджреБрдИ рдЕрдореВрд░реНрддрддрд╛рдХреЛ рд░реВрдкрдорд╛ рд╕реЗрд╡рд╛ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рд▓рд┐рдирдХреНрд╕рдХреЛ рджрд░реНрд╢рдирд▓рд╛рдИ "рд╕рдмреИ рдХреБрд░рд╛ рдлрд╛рдЗрд▓ рд╣реЛ" рднрдиреНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ: рддрд┐рдиреАрд╣рд░реВ рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫрдиреН? рднрд╛рдЧ 1

рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╣реЛ? рд▓рд┐рдирдХреНрд╕рдХреЛ рдкрд╣рд┐рд▓реЛ рдпреЛрдЧрджрд╛рдирдХрд░реНрддрд╛ рд░ рд▓реЗрдЦрдХрд╣рд░реВрдХреЛ рд╢рдмреНрджрд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рд░реЛрдмрд░реНрдЯрд╛ рд▓рд╛рднрд╛, "рдПрдХ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕рдВрд░рдЪрдирд╛ рдЕрдиреБрд╕рд╛рд░ рдПрдХрддреНрд░рд┐рдд рдбрд╛рдЯрд╛ рдХреЛ рдПрдХ рд╢реНрд░реЗрдгреАрдмрджреНрдз рднрдгреНрдбрд╛рд░рдг рд╣реЛред" рдЬрд╕реНрддреЛрд╕реБрдХреИ рд╣реЛрд╕реН, рдпреЛ рдкрд░рд┐рднрд╛рд╖рд╛ VFAT (рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдЖрд╡рдВрдЯрди рддрд╛рд▓рд┐рдХрд╛), Git рд░ рдорд╛ рд╕рдорд╛рди рд░реВрдкрдорд╛ рдЙрдкрдпреБрдХреНрдд рдЫред Cassandra (NoSQL рдбрд╛рдЯрд╛рдмреЗрд╕)ред рддреНрдпрд╕реЛрднрдП "рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА" рдХреЛ рд░реВрдкрдорд╛ рддреНрдпрд╕реНрддреЛ рдЪреАрдЬрд▓рд╛рдИ рдХреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ?

рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдЖрдзрд╛рд░рднреВрдд

рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдорд╛рдирд┐рдиреЗ рдирд┐рдХрд╛рдпрдХрд╛ рд▓рд╛рдЧрд┐ рдирд┐рд╢реНрдЪрд┐рдд рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдЫрдиреНред рд╡рд┐рдзрд┐рд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрдиреБрдкрд░реНрдЫ open(), read() ╨╕ write() рдирд╛рдорд╣рд░реВ рднрдПрдХрд╛ рдирд┐рд░рдиреНрддрд░ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ред рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ, рдХрд░реНрдиреЗрд▓рд▓реЗ рдЬреЗрдиреЗрд░рд┐рдХ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд▓рд╛рдИ рд╕рд╛рд░ рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рд░реВрдкрдорд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫ, рд░ рдпреА рддреАрди рдареВрд▓рд╛ рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВрд▓рд╛рдИ "рднрд░реНрдЪреБрдЕрд▓" рдорд╛рдирд┐рдиреНрдЫ рд░ рдХреБрдиреИ рдареЛрд╕ рдкрд░рд┐рднрд╛рд╖рд╛ рдЫреИрдиред рддрджрдиреБрд╕рд╛рд░, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реА (VFS) рднрдирд┐рдиреНрдЫред

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ: рддрд┐рдиреАрд╣рд░реВ рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫрдиреН? рднрд╛рдЧ 1

рдпрджрд┐ рд╣рд╛рдореА рдПрдХ рдирд┐рдХрд╛рдпрдорд╛ рдЦреЛрд▓реНрди, рдкрдвреНрди рд░ рд▓реЗрдЦреНрди рд╕рдХреНрдЫреМрдВ рднрдиреЗ, рддреНрдпрд╕ рдирд┐рдХрд╛рдпрд▓рд╛рдИ рдлрд╛рдЗрд▓ рдорд╛рдирд┐рдиреНрдЫ, рдЬрд╕реНрддреЛ рдХрд┐ рд╣рд╛рдореАрд▓реЗ рдорд╛рдерд┐рдХреЛ рдХрдиреНрд╕реЛрд▓рдХреЛ рдЙрджрд╛рд╣рд░рдгрдмрд╛рдЯ рджреЗрдЦреНрди рд╕рдХреНрдЫреМрдВред
VFS рдШрдЯрдирд╛рд▓реЗ "рд╕рдмреИ рдХреБрд░рд╛ рдлрд╛рдЗрд▓ рд╣реЛ" рднрдиреНрдиреЗ рдпреБрдирд┐рдХреНрд╕-рдЬрд╕реНрддреЛ рдЕрд╡рд▓реЛрдХрдирд▓рд╛рдИ рдорд╛рддреНрд░ рд░реЗрдЦрд╛рдВрдХрд┐рдд рдЧрд░реНрджрдЫред рд╕реЛрдЪреНрдиреБрд╣реЛрд╕реН рдХрд┐ рдХрддрд┐ рдЕрдиреМрдареЛ рдЫ рдХрд┐ рддреНрдпреЛ рд╕рд╛рдиреЛ /dev/console рдорд╛рдерд┐рдХреЛ рдЙрджрд╛рд╣рд░рдгрд▓реЗ рдХрдиреНрд╕реЛрд▓рд▓реЗ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдБрдЫред рддрд╕реНрд╡рд┐рд░рд▓реЗ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рдмрд╛рд╕ рд╕рддреНрд░ рджреЗрдЦрд╛рдЙрдБрдЫред рдХрдиреНрд╕реЛрд▓рдорд╛ рд╕реНрдЯреНрд░рд┐рдЩ рдкрдард╛рдЙрдБрджреИ (рднрд░реНрдЪреБрдЕрд▓ рдХрдиреНрд╕реЛрд▓ рдЙрдкрдХрд░рдг) рдпрд╕рд▓рд╛рдИ рднрд░реНрдЪреБрдЕрд▓ рд╕реНрдХреНрд░рд┐рдирдорд╛ рджреЗрдЦрд╛рдЙрдБрдЫред VFS рд╕рдБрдЧ рдЕрдиреНрдп, рдЕрдкрд░рд┐рдЪрд┐рдд рдЧреБрдгрд╣рд░реВ рдкрдирд┐ рдЫрдиреНред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЦреЛрдЬреА рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ рдЙрд╕рд▓рд╛рдИ.

рдкрд░рд┐рдЪрд┐рдд рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдЬрд╕реНрддреИ ext4, NFS, рд░ /proc рд╕рдБрдЧ C рдбрд╛рдЯрд╛ рд╕рдВрд░рдЪрдирд╛рдорд╛ рддреАрди рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдпрд╣рд░реВ рдЫрдиреН рдЬрд╕рд▓рд╛рдИ рднрдирд┐рдиреНрдЫред file_operationsред рдердк рд░реВрдкрдорд╛, рдХреЗрд╣рд┐ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд▓реЗ рдкрд░рд┐рдЪрд┐рдд рд╡рд╕реНрддреБ-рдЙрдиреНрдореБрдЦ рддрд░рд┐рдХрд╛рдорд╛ VFS рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд░ рдкреБрди: рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЧрд░реНрджрдЫред рд░реЛрдмрд░реНрдЯ рд▓рднрд▓реЗ рдФрдВрд▓реНрдпрд╛рдПрдЭреИрдВ, VFS рдПрдмреНрд╕реНрдЯреНрд░реНрдпрд╛рдХрд╕рдирд▓реЗ рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рддреЗрд╕реНрд░реЛ рдкрдХреНрд╖ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдорд╣рд░реВ рд╡рд╛ рдкрд╛рдЗрдкрд╣рд░реВ рдЬрд╕реНрддрд╛ рдЕрдореВрд░реНрдд рд╕рдВрд╕реНрдерд╛рд╣рд░реВрдорд╛ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдЖрдиреНрддрд░рд┐рдХ рдбреЗрдЯрд╛ рдврд╛рдБрдЪрд╛рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЪрд┐рдиреНрддрд╛ рдирдЧрд░рд┐рдХрди рдлрд╛рдЗрд▓рд╣рд░реВ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдкрдХреНрд╖ (userspace) рдорд╛, рдкреНрд░рдгрд╛рд▓реА рдХрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░, рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рд╡рд┐рдзрд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрд░реНрдиреЗрд▓ рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдорд╛ рдлрд╛рдЗрд▓рдмрд╛рдЯ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рд╕рдХреНрдЫред 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 рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫред рдпрджрд┐ рдпреЛ рддрдкрд╛рдИрдВрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдкрдирд┐ рднрдпреЛ рднрдиреЗ рдирд┐рд░рд╛рд╢ рдирдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕рд╛рде рдХреЗрд╣рд┐ рд╕рд░рд▓ рдирд┐рд░реНрджреЗрд╢рдирд╣рд░реВ рдкрд╛рд▓рдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЖрд░реНрдХ рд╡рд┐рдХреАрдпрд╕рд▓рд╛рдИ рдареАрдХ рдЧрд░реНрди, рд░ рд╕рдореНрдЭрдиреБрд╣реЛрд╕реН рдХрд┐ рдореЗрдореЛрд░реАрдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рдВрдЯрд┐рдд tmpfs рдЕрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпрдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реБрдиреНрдЫред рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, рдПрдХ рд╡рд┐рд╢рд╛рд▓ tmpfs рд░ рдпрд╕рдорд╛ рдареВрд▓рд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рднрдПрдХреЛ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдореЗрдореЛрд░реА рд░ рдХреНрд░реНрдпрд╛рд╕ рд╣реБрди рд╕рдХреНрдЫред рдЕрд░реНрдХреЛ рд╕рдВрдХреЗрдд: рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджрд╛ /etc/fstab, рдпрд╛рдж рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдпреЛ рдирдпрд╛рдБ рд▓рд╛рдЗрди рд╕рдВрдЧ рд╕рдорд╛рдкреНрдд рд╣реБрдиреБрдкрд░реНрдЫ, рдЕрдиреНрдпрдерд╛ рддрдкрд╛рдЗрдБрдХреЛ рдкреНрд░рдгрд╛рд▓реА рдмреБрдЯ рд╣реБрдиреЗрдЫреИрдиред

/proc рд░ /sys

рдмрд╛рд╣реЗрдХ /tmp, VFS (рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ) рдЬреБрди рд▓рд┐рдирдХреНрд╕ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рд╕рдмреИрднрдиреНрджрд╛ рдкрд░рд┐рдЪрд┐рдд рдЫрдиреН /proc ╨╕ /sysред (/dev рд╕рд╛рдЭрд╛ рдореЗрдореЛрд░реАрдорд╛ рд░рд╣рдиреНрдЫ рд░ рдЫреИрди file_operations)ред рдХрд┐рди рдпреА рджреБрдИ рдШрдЯрдХ? рдпреЛ рдореБрджреНрджрд╛ рд╣реЗрд░реМрдВред

procfs рдХрд░реНрдиреЗрд▓рдХреЛ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯ рд░ рдпрд╕рд▓реЗ рдЕрдиреБрдЧрдорди рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджрдЫ userspaceред рдХреЛ /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 рд▓рд┐рдЩреНрдХ рдЧрдгрдирд╛ рдЧрд░реНрджреИрдЫ: рдЬрдм kobject рдХреЛ рдЕрдиреНрддрд┐рдо рд▓рд┐рдЩреНрдХ рд╣рдЯрд╛рдЗрдиреНрдЫ, рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рдпрд╕рд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рд╕реНрд░реЛрддрд╣рд░реВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдЧрд░реНрдиреЗрдЫред рддреИрдкрдирд┐, /sys рдзреЗрд░реИ рдкреНрд░рд╕рд┐рджреНрдз рдмрдирд╛рдЙрдБрдЫ "рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдерд╛рди рдХреЛ рд▓рд╛рдЧреА рд╕реНрдерд┐рд░ ABI" рдХреЛрд░, рдЬреБрди рдХреБрдиреИ рдкрдирд┐ рдкрд░рд┐рд╕реНрдерд┐рддрд┐рдорд╛ рдХрд╕реИрд▓реЗ рдХрд╣рд┐рд▓реНрдпреИ рдЧрд░реНрди рд╕рдХреНрджреИрди "рдмреНрд░реЗрдХ"ред рдпрд╕рдХреЛ рдорддрд▓рдм рдпреЛ рд╣реЛрдЗрди рдХрд┐ sysfs рдорд╛ рдлрд╛рдЗрд▓рд╣рд░реВ рд╕реНрдерд┐рд░ рдЫрдиреН, рдЬреБрди рдЕрд╕реНрдерд┐рд░ рд╡рд╕реНрддреБрд╣рд░реВрдХреЛ рд╕рдиреНрджрд░реНрдн рдЧрдгрдирд╛рд╕рдБрдЧ рдЕрд╕рдВрдЧрдд рд╣реБрдиреЗрдЫред
рдХрд░реНрдиреЗрд▓рдХреЛ рд╕реНрдерд┐рд░ ABI рд▓реЗ рдХреЗ рджреЗрдЦрд╛ рдкрд░реНрди рд╕рдХреНрдЫ рд▓рд╛рдИ рд╕реАрдорд┐рдд рдЧрд░реНрджрдЫ /sys, рддреНрдпреЛ рд╡рд┐рд╢реЗрд╖ рдХреНрд╖рдгрдорд╛ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХреЗ рдЫ рднрдиреНрдиреЗ рд╣реЛрдЗрдиред sysfs рдорд╛ рд╕реВрдЪреАрдмрджреНрдз рдлрд╛рдЗрд▓ рдЕрдиреБрдорддрд┐рд╣рд░реВрд▓реЗ рдпрдиреНрддреНрд░рд╣рд░реВ, рдореЛрдбреНрдпреБрд▓рд╣рд░реВ, рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ, рдЖрджрд┐рдХрд╛ рд▓рд╛рдЧрд┐ рдХрд╕рд░реА рдХрдиреНрдлрд┐рдЧрд░ рдпреЛрдЧреНрдп рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдмрд╛рд░реЗ рдЕрдиреНрддрд░рджреГрд╖реНрдЯрд┐ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд╡рд╛ рдкрдвреНрди рд╕рдХрд┐рдиреНрдЫред рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд╖реНрдХрд░реНрд╖ рдпреЛ рд╣реЛ рдХрд┐ procfs рдкрдирд┐ рдХрд░реНрдиреЗрд▓рдХреЛ рд╕реНрдерд┐рд░ ABI рдХреЛ рднрд╛рдЧ рд╣реЛ, рдпрджреНрдпрдкрд┐ рдпреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛ рднрдирд┐рдПрдХреЛ рдЫреИрдиред рдХрд╛рдЧрдЬрд╛рдд.

рд▓рд┐рдирдХреНрд╕рдорд╛ рднрд░реНрдЪреБрдЕрд▓ рдлрд╛рдЗрд▓ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ: рддрд┐рдиреАрд╣рд░реВ рдХрд┐рди рдЖрд╡рд╢реНрдпрдХ рдЫрдиреН рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫрдиреН? рднрд╛рдЧ 1

рдорд╛ рдлрд╛рдЗрд▓рд╣рд░реВ sysfs рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрд╕реНрдерд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЧреБрдг рд╡рд░реНрдгрди рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдкрдвреНрди рдпреЛрдЧреНрдп, рд▓реЗрдЦреНрди рдпреЛрдЧреНрдп, рд╡рд╛ рджреБрд╡реИ рд╣реБрди рд╕рдХреНрдЫред рдлрд╛рдЗрд▓рдорд╛ "0" рдХреЛ рдЕрд░реНрде SSD рд╣рдЯрд╛рдЙрди рд╕рдХрд┐рдБрджреИрдиред

eBPF рд░ bcc рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ VFS рдХрд╕рд░реА рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрдиреЗ рднрдиреЗрд░ рдЕрдиреБрд╡рд╛рджрдХреЛ рджреЛрд╕реНрд░реЛ рднрд╛рдЧ рд╕реБрд░реБ рдЧрд░реМрдВ, рд░ рдЕрдм рд╣рд╛рдореА рддрдкрд╛рдИрдВрдХреЛ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрдЦрд┐рд░рд╣реЗрдХрд╛ рдЫреМрдВ рд░ рдкрд░рдореНрдкрд░рд╛рдЧрдд рд░реВрдкрдорд╛ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрдордиреНрддреНрд░рд┐рдд рдЧрд░реНрджрдЫреМрдВред рд╡реЗрдмрд┐рдирд╛рд░ рдЦреЛрд▓реНрдиреБрд╣реЛрд╕реН, рдЬреБрди рдЕрдкреНрд░рд┐рд▓ 9 рдорд╛ рд╣рд╛рдореНрд░реЛ рд╢рд┐рдХреНрд╖рдХ рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рд╣реБрдиреЗрдЫ - рд╡реНрд▓рд╛рджрд┐рдорд┐рд░ рдбреНрд░реЛрдЬрдбреЗрддреНрд╕реНрдХреА.

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди