proc
ระบบไฟล์อัพเดตบน Linux บ่อยแค่ไหน? มันคือ 20 มิลลิวินาที (ควอนตัมเวลา)
proc
ระบบไฟล์อัพเดตบน Linux บ่อยแค่ไหน? มันคือ 20 มิลลิวินาที (ควอนตัมเวลา)
คำตอบ:
ข้อมูลที่คุณอ่านจากระบบไฟล์ proc จะไม่ถูกเก็บไว้ในสื่อใด ๆ (ไม่ได้อยู่ใน RAM) ดังนั้นจึงไม่มีอะไรให้อัพเดท
วัตถุประสงค์ของระบบไฟล์ proc คือการอนุญาตให้โปรแกรม userspace ที่จะได้รับหรือข้อมูลชุดเคอร์เนลใช้ง่ายและระบบไฟล์ที่คุ้นเคยความหมาย ( open
, close
, read
, write
, lseek
) แม้ว่าข้อมูลที่มีการอ่านหรือเขียนไม่ได้อยู่บนสื่อใด ๆ การตัดสินใจออกแบบนี้ถือว่าดีกว่า (เช่นมนุษย์สามารถอ่านได้และสคริปต์ได้อย่างง่ายดาย) สำหรับการรับและการตั้งค่าข้อมูลที่ไม่สามารถระบุรูปแบบล่วงหน้าได้กว่าการดำเนินการบางอย่างเช่น ASN1 ที่เข้ารหัส OID ซึ่งจะทำงานได้ดี
ข้อมูลที่คุณเห็นเมื่อคุณอ่านจากระบบไฟล์ proc ถูกสร้างขึ้นทันทีเมื่อคุณอ่านจากจุดเริ่มต้นของไฟล์ นั่นคือการทำการอ่านทำให้ข้อมูลถูกสร้างขึ้นโดยฟังก์ชันการเรียกกลับเคอร์เนลที่เฉพาะเจาะจงกับไฟล์ที่คุณกำลังอ่าน การดำเนินการlseek
ไปยังจุดเริ่มต้นของไฟล์และการอ่านอีกครั้งทำให้เกิดการเรียกไปยังการเรียกกลับที่สร้างข้อมูลอีกครั้ง ในทำนองเดียวกันเมื่อคุณเขียนไปยังไฟล์ที่เขียนได้ในระบบไฟล์ proc ฟังก์ชั่นการโทรกลับจะเรียกว่าที่แยกวิเคราะห์อินพุตและตั้งค่าตัวแปรเคอร์เนล ข้อมูลอินพุตในรูปแบบดิบไม่ถูกจัดเก็บ
ด้านบนเป็นเพียงวิธีพูดที่ละเอียดมากขึ้นเล็กน้อยว่าสิ่งที่ Hauke Laging ระบุไว้อย่างรัดกุม ฉันขอแนะนำให้คุณยอมรับคำตอบของเขา
มันมีการปรับปรุงในทุกการเข้าถึง คุณเห็นสถานะของเคอร์เนลในขณะนั้น นั่นเป็นสาเหตุที่ขนาดที่แสดงสำหรับ "ไฟล์" ไม่ใช่ขนาดจริง ขนาดจริงสามารถเปลี่ยนแปลงได้และจะกำหนดช่วงเวลาที่คุณเข้าถึงไฟล์
คุณสามารถพูดได้ว่ามันอาจไม่ได้รับการปรับปรุงเป็นเวลาหลายวัน ถ้าคุณไม่มองมัน :-)
/proc/
ไฟล์ fstab ในของฉัน