"플랫" 태그 기반 파일 시스템을 사용한 유닉스 구현이 있습니까?

"플랫" 태그 기반 파일 시스템을 사용한 유닉스 구현이 있습니까?

내가 이해한 바에 따르면 Unix의 파일은 하드 드라이브의 "플랫" 구조에 저장됩니다. 파일 시스템은 단순히 디렉터리에서 다른 디렉터리로, 궁극적으로 나뭇잎/노드/파일로 ​​연결되는 링크입니다. 많은 하드 링크가 동일한 파일을 가리킬 수 있습니다(그러나 동일한 디렉토리/브랜치는 아님).

기본적으로 폴더가 전혀 없는 문제를 해결할 수 있는 방법이 있습니까? 모든 파일은 하나의 거대한 폴더에 있고 폴더 대신 태그가 있습니까? 그렇다면 홈 디렉터리는 폴더의 파일이 아니라 하나의 파일이 여러 폴더에서 발견될 수 있는 태그/폴더 목록일 수 있습니까?

필터링과 같이 보다 복잡한 태그 쿼리를 수행할 수 있는 일종의 소프트웨어 기능도 있습니다.

답변1

파일의 데이터가 실제 디스크 드라이브에서 "플랫"인 것은 사실입니다. 대부분의 최신 디스크 드라이브에는 "LBA"(논리적 블록 주소 지정)가 있습니다. 이는 디스크가 커널에 있어서도 큰 블록 행임을 의미합니다. 파일 데이터가 포함된 블록은 inode 등이 디스크 블록 행 전체에 걸쳐 간격을 두고 있기 때문에 깨질 수 있습니다. 따라서 "플랫"이라는 설명은 약간 기만적입니다.

실제로 "계층 구조" 부분은 단지 허구일 뿐입니다. 폴더("디렉터리"라고 더 잘 불림)와 해당 멤버쉽은 디렉터리 데이터 배열에서 파일 이름과 일치하는 inode 번호를 읽어 커널에서 "so"로 만들어집니다.

하지만 데이터의 계층적 배열은 매우 유용합니다. 이는 1991년 초에 논의되었으며 격렬하게 반박되었습니다. 브렌트 웰치(Brent Welch)의 글 보기파일 시스템은 커널에 속합니다내가 쓸 수 있는 것보다 더 나은 주장을 위해.

또한 Microsoft는 적어도 파일 시스템을 데이터베이스로 사용하기 시작했다는 점을 지적해야 합니다.두 배20년 동안 포기하고둘 다하지만 Google이 말한 내용에 대한 내 해석이 틀렸을 수도 있습니다.

답변2

가지다퓨즈기존 계층적 파일 시스템의 태그 기반 또는 쿼리 기반 보기를 제공하는 파일 시스템이 있지만 내가 아는 한 비계층적 보기에서 완전히 작업할 수 있는 파일 시스템은 없습니다.

태그 파일 시스템태그 기반 보기가 제공되지만 태그를 수동으로 설정해야 합니다. 성숙한 사람도 마찬가지다.태그 도우미.쿼리 파일 시스템임의의 데이터베이스 쿼리를 통해 파일에 액세스하기 위한 개념 증명이 있습니다.

기타 항목FUSE 파일 시스템 목록당신은 관심이 있을 수도 있습니다. (경고: 이 목록은 포괄적이지도 최신 정보도 아닙니다.)

답변3

이제 다음을 수행할 수 있습니다. 모든 Linux 파일 시스템은 어느 정도 확장된 속성을 지원합니다. 태그에 EA를 사용할 수 있습니다. 그러나 아마도 이러한 종류의 플랫 구조에 최적화된 파일 시스템이 없으므로 상당히 느려질 수 있습니다. 물론, 이 기능을 지원하는 파일 시스템을 갖는 것만으로는 충분하지 않습니다. 또한 이를 지원하는 애플리케이션도 필요합니다.

KDE(및 기타 데스크탑 환경)에서는 키워드로 파일에 태그를 지정할 수 있습니다. 하지만 EA에는 저장되지 않는 것 같습니다. 이것이 어떻게 수행되는지는 모르겠습니다. 아마도 이것은 고전적인 데이터베이스 작업이기 때문에 별도의 데이터베이스 엔진을 사용하는 것 같습니다.

답변4

버오스실제로 Unix 변형은 아니지만 데스크톱 운영 체제에서 가장 유망한 실험 중 하나입니다. 아니면 상업적 성공. 하지만 여기에는 몇 가지 흥미로운 아이디어가 있는데 그 중 하나는 다음과 같습니다.BeOS 파일 시스템, BFS.

BFS는 조직적으로 매우 유용한 계층 구조를 완전히 버리지 않지만 매우 유연한 속성 시스템으로 이를 강화하고 인덱스는 B+ 트리로 유지되며 후크를 통해 실시간(즉, 지속적으로 유지되는) 쿼리 정의가 가능합니다. , 이는 대안적인 조직 구조를 부과하는 데 사용될 수 있습니다.

내 생각엔 Linux가 BFS를 다시 구현한 것 같습니다.

관련 정보