Linux: proc / sys / kernel vs / sys / kernel

16

Saya tahu bahwa dalam sistem Linux yang khas, keduanya /proc, dan /sysmerupakan struktur file virtual dengan file pseudo, digunakan untuk berkomunikasi dengan kernel, tetapi apa perbedaannya /proc/sys/kernel, dan /sys/kernel?

Misalnya, ambil /sys/kernel/uevent_seqnum. Saya yakin ini adalah pilihan yang sangat esoteris bahwa tidak ada yang harus berubah, tetapi meskipun demikian, apa itu, dan apa fungsinya?

Jika ada pejabat atau terpusat manhalaman untuk barang-barang di /sys/kernel, (seperti man 5 procuntuk proc, misalnya), maka kutipan dari sumber-sumber akan dihargai dan lebih.

Evan Carroll
sumber
terkait: Apa perbedaan antara procfs dan sysfs? .
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Jawaban:

21

Pada dasarnya / proc dan / sys adalah sama.

sysfs ditambahkan dalam kernel 2.5 atau 2.6 karena kekacauan dalam procfs

Procfs hanya dimaksudkan untuk menyimpan informasi proses. akhirnya semuanya mulai tercampur menjadi proc dan itu menciptakan labirin berliku dengan data perangkat terjebak di tempat yang berbeda di semua tempat. Sementara itu, sysfs dilaksanakan dengan tujuan segmentasi data perangkat dari procfs.

Secara khusus, / sys mempertahankan lebih detail (posisi node sebenarnya mewakili hirarki perangkat menurut subsistem) informasi proses perangkat. Untuk setiap objek dalam model driver, direktori dibuat. Struktur file perangkat adalah:

/sys/devices  - devices by physical layout
/sys/bus      - symbolic links to devices
/sys/block    - devices by block
/sys/class    - devices by class

Pada sistem lokal Anda, Anda mungkin menemukan halaman manual di man sysfsdan informasi tentang memodifikasi parameter kernel di / proc / sys withman sysctl

Jika Anda menginginkan lebih banyak informasi tentang / sys, Anda mungkin ingin melihat whitepaper sistem file sysfs Linux di kernel.org [pdf] dan Documentation / sysfs.txt di sumber kernel.

Greg Buehler
sumber