Seberapa sering proc
sistem file diperbarui di Linux? Apakah 20 milidetik (kuantum waktu)?
Seberapa sering proc
sistem file diperbarui di Linux? Apakah 20 milidetik (kuantum waktu)?
Jawaban:
Informasi yang Anda baca dari sistem file proc tidak disimpan di media apa pun (bahkan di RAM), jadi tidak ada yang diperbarui.
Tujuan dari sistem file proc adalah untuk memungkinkan program userspace untuk mendapatkan atau kumpulan data kernel menggunakan sistem file akrab sederhana dan semantik ( open
, close
, read
, write
, lseek
), meskipun data yang dibaca atau ditulis tidak berada pada media apapun. Keputusan desain ini dianggap lebih baik (misalnya yang dapat dibaca manusia dan mudah dituliskan) untuk mendapatkan dan mengatur data yang formatnya tidak dapat ditentukan sebelumnya daripada mengimplementasikan sesuatu seperti ASN1 yang disandikan OID, yang juga akan berfungsi dengan baik.
Data yang Anda lihat ketika Anda membaca dari sistem file proc dihasilkan saat Anda membaca dari awal file. Yaitu, melakukan pembacaan menyebabkan data dihasilkan oleh fungsi callback kernel yang khusus untuk file yang sedang Anda baca. Melakukan lseek
ke awal file dan membaca lagi menyebabkan panggilan lain ke panggilan balik yang menghasilkan data lagi. Demikian pula, ketika Anda menulis ke file yang dapat ditulis dalam sistem file proc, fungsi callback disebut yang mem-parsing input dan menetapkan variabel kernel. Data input dalam bentuk mentah itu tidak disimpan.
Di atas hanyalah cara yang sedikit lebih verbal untuk mengatakan apa yang Hauke Laging nyatakan dengan ringkas. Saya sarankan Anda menerima jawabannya.
Itu diperbarui pada setiap akses. Anda melihat status kernel pada saat itu. Itu sebabnya ukuran yang ditunjukkan untuk "file" bukan ukuran sebenarnya. Ukuran sebenarnya dapat berubah dan ditentukan saat Anda mengakses file.
Bisa dibilang, mungkin tidak diperbarui selama berhari-hari. Jika Anda tidak melihatnya. :-)
/proc/
file fstab saya ☹