ใน / dev, / proc และ / sys คืออะไร


15

หลังจากmountมีการแสดงรายการระบบไฟล์บางส่วน ฉันต้องการที่จะรู้ว่าสิ่งที่อยู่ใน/dev, และ/proc /sysตัวอย่างบางส่วนจะดีมาก!



@dgsleeps FHS ไม่ได้กำหนดเนื้อหาของ / proc และ / sys เพราะมันขึ้นอยู่กับเคอร์เนล
Junaga

คำตอบ:


23

/devต้นไม้มีโหนดอุปกรณ์ซึ่งจะช่วยให้ผู้ใช้พื้นที่การเข้าถึงโปรแกรมควบคุมอุปกรณ์ในระบบปฏิบัติการของคุณวิ่งkernel.¹ทั้งหมด POSIX ประเภทระบบปฏิบัติการที่มี/devต้นไม้

/procต้นไม้ที่เกิดขึ้นในระบบวียูนิกซ์ที่มันเพียงให้ข้อมูลเกี่ยวกับกระบวนการทำงานของแต่ละโดยใช้/proc/$PID/stuffรูปแบบ ลีนุกซ์ได้ขยายขอบเขตออกไปอย่างมากโดยเพิ่มข้อมูลทุกประเภทเกี่ยวกับสถานะของเคอร์เนลที่กำลังทำงานอยู่ นอกเหนือจากไฟล์ข้อมูลแบบอ่านอย่างเดียว Linux /procยังมีไฟล์เสมือนที่เขียนได้ซึ่งสามารถเปลี่ยนสถานะของเคอร์เนลที่ใช้งานได้ โดยทั่วไประบบปฏิบัติการประเภท BSD ไม่มี/procเลยดังนั้นสิ่งที่คุณพบในที่นี้ส่วนมากไม่ใช่แบบพกพา

วิธีการแก้ปัญหามีไว้สำหรับระเบียบนี้ในลินุกซ์มี/proc /sysเป็นการดีที่ข้อมูลที่ไม่ได้ดำเนินการทั้งหมดที่ได้รับการฝังลงใน/procต้นไม้ควรได้รับการย้ายไป/sysตอนนี้ แต่ความเฉื่อยทางประวัติศาสตร์ได้เก็บสิ่งต่างๆ/procมากมาย บ่อยครั้งมีสองวิธีที่จะทำให้การเปลี่ยนแปลงในเคอร์เนลที่ใช้งานอยู่: /procวิธีเก่าเก็บไว้เพื่อความเข้ากันได้ย้อนหลังและ/sysวิธีใหม่ที่คุณควรใช้ในตอนนี้²


เชิงอรรถ:

  1. นอกจากนี้ยังมีอีกหลาย/devรายการที่ไม่ตรงกับอุปกรณ์ฮาร์ดแวร์เช่น/dev/null, และ/dev/random /dev/ttyเหล่านี้เป็นอุปกรณ์เสมือนจริงที่ให้โปรแกรมพื้นที่ผู้ใช้พูดคุยกับส่วนอื่น ๆ ของเคอร์เนลนอกเหนือจากไดรเวอร์ที่กำลังทำงานในแบบที่เหมือนอุปกรณ์

  2. ตามกฎแล้ว/sysมีแนวโน้มที่จะมีการจัดระเบียบอย่างเข้มงวดมากกว่า/procเนื่องจาก/sysสะท้อนโครงสร้างข้อมูลเคอร์เนลภายในที่จัดการทรัพยากรของระบบในขณะที่/procเติบโตแบบอินทรีย์ในช่วงหลายปีที่ผ่านมาและการตัดสินใจออกแบบที่น่าสงสัยแบบเก่าไม่สามารถเปลี่ยนแปลงได้ในขณะนี้ . เริ่มต้นจากการที่มีการออกแบบที่ชัดเจนและไม่ต้องลากกระเป๋าเดินทางรอบเป็นประวัติศาสตร์มากที่สุดเท่าที่/sys/proc


1
นอกจากนี้ไฟล์ดังกล่าวจะไม่จัดเรียงไฟล์ที่คุณควรสำรองข้อมูล มันถูกสร้างขึ้นแบบไดนามิก พวกเขาใช้ระบบไฟล์ "Magic" พิเศษ
ctrl-alt-delor
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.