Câu trả lời:
Tôi không tích cực nếu bạn có nghĩa là hệ thống tập tin thực, trên đĩa hoặc bất kỳ hệ thống tập tin. Tôi chưa bao giờ thấy một hệ thống tập tin bình thường sử dụng FUSE, mặc dù tôi cho rằng nó có thể; lợi ích chính của FUSE là cho phép bạn trình bày một cái gì đó cho các ứng dụng (hoặc người dùng) trông giống như một hệ thống tệp, nhưng thực sự chỉ gọi các chức năng trong ứng dụng của bạn khi người dùng cố gắng thực hiện những việc như liệt kê các tệp trong thư mục hoặc tạo mới tập tin. Plan9 nổi tiếng với việc cố gắng làm cho mọi thứ có thể truy cập được thông qua hệ thống tệp và /proc
hệ thống tệp giả xuất phát từ chúng; FUSE là cách để các ứng dụng dễ dàng theo mô hình đó
Ví dụ: đây là ảnh chụp màn hình của hệ thống tệp FUSE (rất không liên tục) cho phép truy cập vào dữ liệu trang SE:
Đương nhiên không có tập tin nào trong số đó thực sự tồn tại; khi được ls
hỏi về danh sách các tệp trong thư mục FUSE đã gọi một hàm trong chương trình của tôi, nó đã yêu cầu API đến trang này để tải thông tin về người dùng 73 (tôi); cat
cố gắng đọc display_name
và website_url
gọi thêm các hàm trả về dữ liệu được lưu trong bộ nhớ mà không có bất cứ thứ gì thực sự tồn tại trên đĩa
Các hệ thống tập tin Unix được truyền thống thực hiện trong kernel. FUSE cho phép các hệ thống tập tin được thực hiện bởi một chương trình người dùng.
Các hệ thống tệp trong nhân phù hợp hơn với các hệ thống tệp chính cho các chương trình và dữ liệu:
Hệ thống tập tin FUSE có những lợi thế khác, chủ yếu xoay quanh tính linh hoạt của chúng:
FUSE không thực sự là một hệ thống tệp mỗi se mà là mã cho phép các hệ thống tệp được triển khai như các quy trình thay vì các mô-đun hạt nhân.
Một trong những lợi ích hữu ích nhất của FUSE là cho phép mã GPL "trộn" với không phải GPL. Ví dụ: Gnu / Linux và ZFS http://zfs-fuse.net/ hoặc NTFS-3G trên nhiều hệ điều hành như OpenSolaris và * BSD http://www.tuxera.com/community/ntfs-3g-doad/
Hạn chế chính là tác động hiệu năng so với trình điều khiển gốc (kernel).