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


16

ฉันรู้ว่าในระบบ Linux ทั่วไปทั้งสอง/procและ/sysเป็นโครงสร้างไฟล์เสมือนที่มีไฟล์หลอกใช้เพื่อสื่อสารกับเคอร์เนล แต่ความแตกต่างระหว่าง/proc/sys/kernelและ/sys/kernelคืออะไร

/sys/kernel/uevent_seqnumยกตัวอย่างเช่นใช้ ฉันแน่ใจว่านี่เป็นตัวเลือกที่ลึกลับอย่างมากที่ไม่มีใครเปลี่ยนแปลง แต่ถึงอย่างนั้นมันคืออะไรและทำอะไรได้บ้าง

ถ้ามีอย่างเป็นทางการหรือส่วนกลางmanหน้าสำหรับสิ่งใน/sys/kernel(เช่นman 5 procสำหรับprocตัวอย่างเช่น) แล้วการอ้างอิงจากแหล่งข้อมูลเหล่านั้นจะได้รับการชื่นชมและนิยม


คำตอบ:


21

เป็นหลัก / proc และ / sys เหมือนกัน

sysfs ถูกเพิ่มในเคอร์เนล 2.5 หรือ 2.6 เนื่องจากความยุ่งเหยิงใน procfs

procfs มีไว้เพื่อเก็บข้อมูลกระบวนการเท่านั้น ในที่สุดทุกอย่างก็เริ่มผสมกันใน proc และมันก็สร้างเขาวงกตที่มีข้อมูลอุปกรณ์ติดอยู่ในจุดที่แตกต่างกันไปทั่ว ในขณะเดียวกัน sysfs ถูกนำไปใช้โดยมีวัตถุประสงค์ในการแบ่งส่วนข้อมูลอุปกรณ์จาก procfs

โดยเฉพาะอย่างยิ่ง / sys รักษารายละเอียดเพิ่มเติม (ตำแหน่งของโหนดจริง ๆ แล้วแสดงลำดับชั้นของอุปกรณ์โดยระบบย่อย) ข้อมูลกระบวนการอุปกรณ์ สำหรับแต่ละวัตถุในรุ่นไดรเวอร์จะมีการสร้างไดเรกทอรี โครงสร้างไฟล์ของอุปกรณ์เป็น:

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

บนระบบโลคัลของคุณคุณอาจพบ man page at man sysfsและข้อมูลเกี่ยวกับการแก้ไขพารามิเตอร์เคอร์เนลใน / proc / sys ด้วยman sysctl

หากคุณต้องการข้อมูลเพิ่มเติมเกี่ยวกับ / sys คุณอาจต้องการดูเอกสารทางเทคนิคระบบไฟล์ Linux sysfs บน kernel.org [pdf] และDocumentation / sysfs.txtในแหล่งเคอร์เนล

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.