πŸ’¬ Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ procfs ΠΈ sysfs Π² контСкстС ОБ Linux?



πŸ”Ή procfs, ΠΈΠ»ΠΈ файловая систСма proc, являСтся Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ управлСния процСссами Π² ОБ Linux. Она прСдоставляСт динамичСский интСрфСйс ΠΊ структурам Π΄Π°Π½Π½Ρ‹Ρ… ядра. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹ΠΉ процСсс Π² систСмС прСдставлСн Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ Π² /proc с ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ PID ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π΅ΠΌ этой Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.



Π’Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Ρ‚Π°ΠΊΠΎΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ ссылки, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии процСсса ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ процСсса. НапримСр, Ρ„Π°ΠΉΠ» /proc/[pid]/status содСрТит ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии процСсса, Π΅Π³ΠΎ памяти, ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π²Π°ΠΆΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.



πŸ”Ή sysfs, ΠΈΠ»ΠΈ файловая систСма sys, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для прСдставлСния ΠΈ управлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… ΠΈ устройствах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² систСмС. Π­Ρ‚Π° файловая систСма структурирована ΠΏΠΎ Ρ‚ΠΈΠΏΠ°ΠΌ устройств ΠΈ подсистСмам, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ особСнно ΡƒΠ΄ΠΎΠ±Π½ΠΎΠΉ для получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ оборудования ΠΈ управлСния.



НапримСр, Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»Ρ‹ Π² /sys/class/gpio/ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ GPIO ΠΏΠΈΠ½Π°ΠΌΠΈ Π½Π° устройствах, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… это. sysfs Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для настройки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² устройств, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, измСнСния яркости экрана ΠΈΠ»ΠΈ управлСния ΠΏΠΈΡ‚Π°Π½ΠΈΠ΅ΠΌ.