เหตุใด proc จึงเรียกว่าระบบไฟล์


20

procระบบไฟล์ช่วยให้เคอร์เนลในการสื่อสารข้อมูลเกี่ยวกับแต่ละขั้นตอนการทำงานบนระบบลินุกซ์

เหตุใดจึงprocเรียกว่าระบบไฟล์ ext4มันไม่ได้เป็นระบบไฟล์จริงเช่น มันเป็นเพียงชุดของไฟล์ที่มีข้อมูลเกี่ยวกับกระบวนการทำงาน

คำตอบ:


25

/procเป็นระบบแฟ้มเนื่องจากกระบวนการใช้สามารถเลื่อนได้กับระบบโทรศัพท์ที่คุ้นเคยและสายห้องสมุดเช่นopendir(), readdir(), และchdir() getcwd()แม้open(), read()และclose()การทำงานในจำนวนมากของ "ไฟล์" /procที่ปรากฏใน สำหรับจุดประสงค์ส่วนใหญ่และเกือบทุกจุดประสงค์/procเป็นระบบไฟล์แม้ว่าข้อเท็จจริงที่ว่าไฟล์จะไม่ใช้บล็อกในดิสก์บางแผ่น

ฉันคิดว่าเราทุกคนควรจะอธิบายความหมายของคำว่า "ระบบไฟล์" ที่เรากำลังใช้อยู่ ในบริบทของ ext4 เมื่อเราเขียน“ ระบบไฟล์” เราอาจพูดถึงการรวมกันของเค้าโครงของดิสก์บล็อกข้อมูลจำเพาะของข้อมูลเมตาดาต้าเกี่ยวกับบล็อกดิสก์ที่อยู่ในดิสก์และรหัสที่เกี่ยวข้องกับ เค้าโครงบนดิสก์ ในบริบทของ/usr, /tmp, /var/runและอื่น ๆ เราเขียนกำลังความเข้าใจหรือแนวความคิดร่วมกันของวิธีการตั้งชื่อบางสิ่งบางอย่าง การใช้งานทั้งสองของคำว่า "ระบบไฟล์" นั้นแตกต่างกันมาก /procเป็นระบบไฟล์ประเภทที่สองอย่างที่คุณจดบันทึกไว้


9
ไม่มีเหตุผลที่จะใช้ quots ที่น่ากลัวสำหรับไฟล์/procเว้นแต่จะมีใครคิดว่าไฟล์เป็นดิสก์สำรองเสมอ (หรือเทปสำรองข้อมูลหรือสำรองซีดีหรืออะไรก็ตามที่สำรองข้อมูลไว้ 9) พวกเขาไม่ได้คิดเสมอว่าคิดดิสก์ RAM ลำดับเปิด / เขียน / ปิดด้วยไฟล์ "ของจริง" ใน/home, พูด, อาจไม่ได้หมายความว่าการเปลี่ยนแปลงที่สอดคล้องกันตั้งใจที่จะสะท้อนให้เห็นถึงสถานะของไฟล์นี้อย่างถาวรในการจัดเก็บดิสก์บนดิสก์ที่ได้รับการทำและเสร็จแล้ว
Hagen von Eitzen

10
tl; dr: เพราะมันเป็นระบบไฟล์?
Jörg W Mittag

1
โปรดทราบว่านี่จะอธิบายคำว่า "ใน Linux ทุกอย่างเป็นไฟล์"
dr01

มันเป็นระบบไฟล์ในลักษณะเดียวกันกับที่หน้าจอเป็น "เดสก์ท็อป" คำศัพท์คอมพิวเตอร์เต็มไปด้วยคำอุปมาอุปมัย
Barmar

18

มันเป็นเพียงส่วนหนึ่งของไฟล์ที่มีข้อมูล

แต่นั่นคือสิ่งที่ระบบแฟ้มเป็น ระบบไฟล์ไม่จำเป็นต้องเขียนได้และไม่ต้องอยู่ในที่จัดเก็บข้อมูลถาวร

หมายเหตุ: มีความแตกต่างระหว่างการเป็นprocfs(การดำเนินงานหลอกระบบแฟ้มใน kernel) /procและจุดติดของธรรมดา ในทางทฤษฎีคุณสามารถติดตั้งprocfsได้ทุกที่ แต่หายาก เพราะการที่คนมักจะพูดคุยเกี่ยวกับเมื่อพวกเขาหมายความว่าจริงๆ/procprocfs

procfsถูกเรียกว่าระบบไฟล์หลอกเพราะไฟล์ใน a procfsไม่ได้ถูกสร้างขึ้นโดยการดำเนินการระบบไฟล์ตามปกติ แต่ถูกเพิ่มและลบออกโดยการนำระบบไฟล์มาใช้เองตามสิ่งที่เกิดขึ้นที่อื่นในเคอร์เนล


ดังนั้นทำไม / etc / boot ตัวอย่างเช่นไม่เรียกว่าระบบไฟล์ ???
Makhlouf GHARBI

7
เพราะมันเป็นไดเรกทอรีในระบบไฟล์ (ดี/bootอยู่บ่อยระบบแฟ้มที่แยกจากกัน แต่ก็ไม่ได้แยกชนิดของระบบแฟ้ม.)
CJM

9

หากมีการจัดระเบียบข้อมูลเพื่อให้สามารถเข้าถึงได้ผ่านกลไกที่ใช้สำหรับระบบไฟล์คุณอาจเรียกระบบไฟล์ทั้งหมด

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