FuseFS 파일 시스템을 사용할 때의 장점과 단점은 무엇입니까?

FuseFS 파일 시스템을 사용할 때의 장점과 단점은 무엇입니까?

일부 파일 시스템이 Fuse를 통해 자체적으로 나타나는 것을 알고 있으며 이 접근 방식의 장단점을 알고 싶습니다.

답변1

Unix 파일 시스템은 전통적으로 커널에서 구현됩니다.퓨즈사용자 프로그램이 파일 시스템을 구현할 수 있도록 합니다.

커널 내 파일 시스템은 프로그램과 데이터의 기본 파일 시스템으로 더 적합합니다.

  • 부팅 미디어에서 사용할 수 있습니다(FUSE 파일 시스템을 구현하는 프로그램은 어딘가에서 로드되어야 함).
  • 프로세스가 충돌하거나 오류로 인해 종료되어도 사라지지 않기 때문에 더욱 강력합니다.
  • 좀 빠른 편이에요.

FUSE 파일 시스템에는 주로 유연성과 관련된 다른 장점이 있습니다.

  • 일반 사용자가 로드하고 마운트할 수 있으므로 네트워크 액세스, 아카이브 파일 검색, 이동식 미디어 등 사용자가 직접 마운트하는 경향이 있는 파일 시스템에 편리합니다.
  • FUSE 파일 시스템 드라이버가 충돌하더라도 커널에 패닉이 발생하지 않습니다. 즉, 파일 시스템에 액세스하는 응용 프로그램에서 I/O 오류보다 더 나쁜 것은 표시되지 않습니다.
  • 매우 빠르게 프로그래밍할 수 있습니다.퓨즈 바인딩많은 스크립팅 언어의 경우 유용한 FUSE 파일 시스템 드라이버를 수백 줄의 코드로 작성할 수 있습니다.
  • 설치를 위해 관리자 개입이 필요하지 않고 다른 장치 간에 쉽게 이식할 수 있기 때문에 매우 빠르게 배포할 수 있습니다.지원되는 운영 체제.
  • 커널 정적 링크와 관련된 라이센스 문제는 없습니다(영향을 미침)지브스).

답변2

실제 디스크 파일 시스템을 의미하는지, 아니면 다른 파일 시스템을 의미하는지 잘 모르겠습니다. FUSE가 일반 파일 시스템에 사용되는 것을 본 적이 없습니다. FUSE의 주요 이점은 파일 시스템처럼 보이지만 실제로는 함수 파일일 뿐이라는 점입니다. 사용자가 디렉터리에 파일을 나열하거나 새 파일을 만드는 등의 작업을 수행하려고 하면 애플리케이션이 호출됩니다.계획 9/procFUSE는 응용 프로그램이 이 패턴을 쉽게 따를 수 있는 방법인 파일 시스템을 통해 모든 것에 액세스하려고 시도하는 것으로 유명합니다 .

예를 들어 다음은 SE 사이트 데이터에 액세스할 수 있는 (매우 기능적이지 않은) FUSE 파일 시스템의 스크린샷입니다.

FUSE 파일 시스템 작동 스크린샷

물론 이러한 파일은 실제로 존재하지 않습니다. 디렉터리의 파일 목록을 요청하면 FUSE ls는 사용자 73(나)에 대한 정보를 로드하기 위해 사이트에 API를 요청하는 함수를 내 프로그램에서 호출 합니다 . 디스크에 실제로 존재하는 데이터 없이 메모리에서 캐시된 데이터를 반환하는 더 많은 기능catdisplay_namewebsite_url

답변3

FUSE는 실제로 파일 시스템 자체가 아니라 파일 시스템을 커널 모듈이 아닌 프로세스로 구현할 수 있도록 하는 코드입니다.

FUSE의 가장 유용한 이점 중 하나는 GPL 코드를 GPL이 아닌 코드와 "혼합"할 수 있다는 것입니다. 예를 들어 Gnu/Linux 및 ZFS(zfs-퓨즈, 이제 더 이상 사용되지 않으며 더 이상 사용되지 않습니다.오픈ZFS) 또는NTFS-3GOpenSolaris/illumos 및 *BSD와 같은 많은 운영 체제에서

가장 큰 단점은 기본(예: 커널) 드라이버에 비해 사용자 공간 드라이버가 성능에 미치는 영향입니다.

관련 정보