ความแตกต่างระหว่าง / dev และ / sys


19

ความแตกต่างระหว่างdevfsและsysfsคืออะไร ทั้งสองดูเหมือนจะรักษารายชื่อของ hardwares ที่แนบมากับระบบ ถ้าอย่างนั้นทำไมต้องแยกกัน 2 เอฟเอส? เท่าที่ฉันจะได้รับ/ sysรักษารายการอุปกรณ์ "แบบดิบ" (เช่น "ser0") Udev ทำหน้าที่ในอุปกรณ์เหล่านั้นรับข้อมูลต่าง ๆ และใช้กฎต่าง ๆ เพื่อแสดงเป็นชื่อที่รู้จักซึ่งจะถูกแมปลงบน/ dev (เช่น "กล้อง") นี่เป็นเหตุผลเดียวหรือไม่ จากนั้นเราติดอุปกรณ์ที่เกี่ยวข้องจาก/ dev fs (เราไม่สามารถทำเช่นนั้นจาก/ sys fs) ลงใน/ media fs

ฉันได้อ่านคำตอบที่แตกต่างระหว่าง / dev และ / sys / class? . แต่ฉันไม่สามารถรับส่วน sys fs ที่มันกล่าวว่า

Sysfs มีลำดับชั้นของอุปกรณ์ตามที่แนบมากับคอมพิวเตอร์

ไฟล์ใน / sys ไม่ใช่ไฟล์โหนดอุปกรณ์หรือไม่ แล้วไฟล์ประเภทใด



ฉันไม่คิดว่านี่เป็นสิ่งที่ซ้ำกัน คำตอบของคำถามทั้งดูsysfsจากมุมมองที่แตกต่างกันและไม่มีคำตอบของคำถามอื่น ๆ อธิบายว่าไดเรกทอรีที่เกี่ยวข้องกับ/dev sysfs
Anthony G - ความยุติธรรมสำหรับโมนิก้า

คำตอบ:


27

/sysระบบแฟ้ม (sysfs) มีไฟล์ที่ให้ข้อมูลเกี่ยวกับอุปกรณ์: ไม่ว่าจะเป็นการขับเคลื่อนบนชื่อผู้ขายและรูปแบบสิ่งที่รถบัสมีการเสียบอุปกรณ์เข้า ฯลฯ มันน่าสนใจให้กับการใช้งานที่จัดการอุปกรณ์

/devระบบแฟ้มประกอบด้วยแฟ้มที่อนุญาตให้โปรแกรมในการเข้าถึงอุปกรณ์ที่ตัวเอง: ข้อมูลที่เขียนไปยังพอร์ตอนุกรมอ่านฮาร์ดดิสก์ ฯลฯ มันน่าสนใจให้กับการใช้งานที่เข้าถึงอุปกรณ์

อุปมาคือการ/sysให้การเข้าถึงบรรจุภัณฑ์ในขณะที่/devให้การเข้าถึงเนื้อหาของกล่อง

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

เหตุผล/devที่มีอยู่อย่างเป็นอิสระจาก/sysเป็นส่วนหนึ่งในประวัติศาสตร์: /devวันที่กลับไปถึงรุ่งอรุณของ Unix ในขณะที่/sysมีการประดิษฐ์ล่าสุดมากขึ้น ถ้าลินุกซ์ได้รับการออกแบบในวันนี้ที่ไม่มีภูมิหลังทางประวัติศาสตร์อาจจะ/dev/sda/sys/block/sda/content


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