ฉันรู้ว่าระบบไฟล์บางส่วนนำเสนอตัวเองผ่าน Fuse และฉันสงสัยเกี่ยวกับข้อดีข้อเสียของวิธีการนี้
ฉันรู้ว่าระบบไฟล์บางส่วนนำเสนอตัวเองผ่าน Fuse และฉันสงสัยเกี่ยวกับข้อดีข้อเสียของวิธีการนี้
คำตอบ:
ฉันไม่ดีถ้าคุณหมายถึงระบบไฟล์บนดิสก์จริงหรือระบบไฟล์ใด ๆ ฉันไม่เคยเห็นระบบไฟล์ปกติใช้ FUSE แม้ว่าฉันคิดว่าเป็นไปได้ ประโยชน์หลักของ FUSE คือให้คุณนำเสนอบางสิ่งแก่แอปพลิเคชัน (หรือผู้ใช้) ที่ดูเหมือนระบบไฟล์ แต่จริงๆแล้วเรียกฟังก์ชั่นภายในแอปพลิเคชันของคุณเมื่อผู้ใช้พยายามทำสิ่งต่าง ๆ เช่นรายการไฟล์ในไดเรกทอรีหรือสร้างใหม่ ไฟล์. Plan9เป็นที่รู้จักกันดีในการพยายามทำให้ทุกอย่างสามารถเข้าถึงได้ผ่านระบบไฟล์และ/proc
ระบบไฟล์หลอกมาจากพวกเขา FUSE เป็นวิธีสำหรับแอปพลิเคชันที่จะติดตามรูปแบบนั้นได้อย่างง่ายดาย
ตัวอย่างเช่นต่อไปนี้เป็นภาพหน้าจอของระบบไฟล์ FUSE (ที่โดดเด่นมาก) ที่ให้การเข้าถึงข้อมูลไซต์ SE:
จริงๆแล้วไม่มีไฟล์เหล่านั้นอยู่จริง เมื่อls
ถามถึงรายการไฟล์ในไดเรกทอรี FUSE เรียกว่าฟังก์ชั่นในโปรแกรมของฉันซึ่งได้ร้องขอ API ไปยังเว็บไซต์นี้เพื่อโหลดข้อมูลเกี่ยวกับผู้ใช้ 73 (ฉัน); cat
พยายามอ่านdisplay_name
และwebsite_url
เรียกใช้ฟังก์ชันเพิ่มเติมที่ส่งคืนข้อมูลแคชจากหน่วยความจำโดยไม่มีสิ่งใดมีอยู่จริงบนดิสก์
ระบบไฟล์ยูนิกซ์มีการใช้งานแบบดั้งเดิมในเคอร์เนล FUSEอนุญาตให้ระบบไฟล์ใช้งานโดยโปรแกรมผู้ใช้
ระบบไฟล์ในเคอร์เนลเหมาะสำหรับระบบไฟล์หลักสำหรับโปรแกรมและข้อมูล:
ระบบไฟล์ FUSE มีข้อได้เปรียบอื่น ๆ ซึ่งส่วนใหญ่หมุนรอบตัวได้อย่างยืดหยุ่น:
FUSE ไม่ใช่ระบบไฟล์จริง ๆ แต่รหัสที่อนุญาตให้ใช้กับระบบไฟล์เป็นกระบวนการแทนโมดูลเคอร์เนล
หนึ่งในประโยชน์ที่มีประโยชน์ที่สุดของ FUSE คือการอนุญาตให้รหัส GPL "ผสม" กับที่ไม่ใช่ GPL ตัวอย่างเช่น Gnu / Linux และ ZFS http://zfs-fuse.net/หรือ NTFS-3G บนระบบปฏิบัติการหลายระบบเช่น OpenSolaris และ * BSD http://www.tuxera.com/community/ntfs-3g-download/
ข้อเสียเปรียบหลักคือผลกระทบต่อประสิทธิภาพเมื่อเทียบกับไดรเวอร์ (เคอร์เนล)