답변:
실제 디스크상의 파일 시스템이나 파일 시스템을 의미한다면 긍정적이지 않습니다. 필자는 정상적인 파일 시스템이 FUSE를 사용하는 것을 본 적이 없다. FUSE의 주요 이점은 파일 시스템처럼 보이는 응용 프로그램 (또는 사용자)에게 무언가를 제공 할 수 있지만 사용자가 디렉토리에 파일을 나열하거나 새 파일을 작성하는 등의 작업을 시도 할 때 실제로 응용 프로그램 내에서 함수를 호출한다는 것입니다. 파일. Plan9 는 파일 시스템을 통해 모든 것을 액세스 할 수있게하는 것으로 잘 알려져 있으며, /proc
의사 파일 시스템은 그로부터 나옵니다. FUSE는 애플리케이션이 해당 패턴을 쉽게 따를 수있는 방법입니다.
예를 들어 다음은 SE 사이트 데이터에 액세스 할 수있는 (매우 기능이없는) FUSE 파일 시스템의 스크린 샷입니다.
당연히 그러한 파일은 실제로 존재하지 않습니다. ls
디렉토리 FUSE의 파일 목록을 요청 했을 때 사용자 프로그램 (me)에 대한 정보를로드하기 위해이 사이트에 API 요청을 한 내 프로그램에서 함수를 호출했습니다. cat
에서 읽으려고 display_name
하고 website_url
아무것도하지 않고 메모리에서 캐시 된 데이터를 반환 더 많은 기능을 호출 실제로 디스크에 존재하는
유닉스 파일 시스템은 전통적으로 커널에서 구현됩니다. FUSE를 사용하면 파일 시스템을 사용자 프로그램으로 구현할 수 있습니다.
커널 내부 파일 시스템은 프로그램 및 데이터의 기본 파일 시스템에 더 적합합니다.
FUSE 파일 시스템은 다음과 같은 장점이 있습니다.
FUSE는 실제로 파일 시스템이 아니라 커널 시스템 대신 프로세스로 파일 시스템을 구현할 수있는 코드입니다.
FUSE의 가장 유용한 이점 중 하나는 GPL 코드가 GPL 이외의 코드와 "혼합"될 수 있도록하는 것입니다. 예를 들어 OpenSolaris 및 * BSD http://www.tuxera.com/community/ntfs-3g-download/ 와 같은 많은 OS 에서 Gnu / Linux 및 ZFS http://zfs-fuse.net/ 또는 NTFS-3G
주요 단점은 기본 (커널) 드라이버와 비교했을 때 성능에 미치는 영향입니다.