필자가 경험 한 모든 파일 시스템은 폴더를 기반으로했습니다. 루트 폴더에는 파일과 하위 폴더가 포함되어 있으며,이 폴더에는 파일과 하위 폴더가 포함되어 있습니다.
파일 구성에 대한 더 나은 대안이 있습니까? 그리고 곧 현재 시스템을 대체 할 것입니까? 파일 시스템이 정답이라고 판단되면 파일 시스템에 대한 기록을 포함하십시오.
"더 나은"이라는 용어를 원하는 방식으로 해석하십시오.
필자가 경험 한 모든 파일 시스템은 폴더를 기반으로했습니다. 루트 폴더에는 파일과 하위 폴더가 포함되어 있으며,이 폴더에는 파일과 하위 폴더가 포함되어 있습니다.
파일 구성에 대한 더 나은 대안이 있습니까? 그리고 곧 현재 시스템을 대체 할 것입니까? 파일 시스템이 정답이라고 판단되면 파일 시스템에 대한 기록을 포함하십시오.
"더 나은"이라는 용어를 원하는 방식으로 해석하십시오.
답변:
파일 구성에 대한 더 나은 대안이 있습니까?
예.
현재 시스템을 곧 교체 할 예정입니까?
아니.
개념을 구성하는 방법으로 계층 구조를 바꿀 수 없습니다.
모든 파일 시스템에는 하드 링크가 있습니다. 현재 파일 시스템은 계층 적이 지 않습니다 .
사람들은 그런 식으로 사람들을 그렇게 사용합니다.
그러나 파일 시스템은 "네트워크화 된"데이터베이스입니다 (계층 적 데이터베이스 아님). 우리는 한 가지 분명한 이유로 네트워크 기능을 많이 사용하지 않습니다. 단순한 계층 구조 이외의 것은 혼란 스럽습니다.
git
. git
틀림없이 파일 시스템을 작성 하지만 커밋은 계층 적이 지 않은 구조를 형성합니다. 이들은 가장 일반적인 형태로 DAG를 형성하므로 분기와 병합의 모든 조합이 가능합니다. 대부분의 파일은 히스토리에서 변경된 지점까지 다양한 커밋으로 참조됩니다. 또한 파일 / 트리 / 커밋 개체는 절대 변경할 수 없습니다. 파일 시스템을 git
매우 유용하게 만드는 것은 바로 이러한 특성입니다 .
폴더 기반의 트리와 같은 파일 시스템이 일반적이라고 생각하지만 최고는 아닙니다. 실제로 파일의 분류가 폴더와 같은 특정 '장소'에 파일을 배치하는 것보다 낫다고 생각합니다.
파일의 내용이 다르므로 mp3 파일에는 png 파일과 비교할 때 다른 메타 정보가 포함됩니다. 열이있는 목록에 문제가 발생하면 크기, 생성 날짜 등의 열만 공통입니다.
예를 들어 Windows 탐색기를 보면 특정 파일 형식이 감지되면 열이 변경됩니다. 예를 들어 디렉토리에 mp3 파일이 많으면 앨범, 제목 등과 같은 열이 발생합니다. 이 파일들 중에 png 파일이 있다면,이 열 / 셀은 특정 파일 / 행에 적합하지 않습니다.
파일을 식별하는 분류 속성이 둘 이상이기 때문에 파일을 둘 이상의 폴더에 배치하는 것이 여러 번 의미가 있음을 알게되었습니다. 그러나 왜 '장소', '폴더'가 파일을 분류해야합니까?
차가 있으면 차고, 주차장 또는 다른 곳에 있는지 여부는 중요하지 않습니다. 차를 식별하는 '장소'는 아니지만 속성입니다.
내 모든 파일이 메타 데이터에 의해 적절하고 정확하게 분류 될 때, 파일이 저장된 위치는 중요하지 않으며 단지 '클라우드'에 있습니다. 특정 파일을 가져와야하는 경우 메타 데이터 사양으로 수행해야합니다.
일부 실험 운영 체제에는 파일이 없습니다. 그들은 직교 지속성 기계를 가지고 있습니다. 일부 학술 OS 프로젝트 ( Coyotos , Grasshopper , IsaacOS 등)를 살펴보십시오 .
그리고 1980 년대의 오래된 Lisp Machines는 오늘날 우리가 알고있는 파일 시스템이 없을 수도 있습니다.
비활성 tunes.org 사이트에는 파일이없는 OS에 대해 (이전 세기부터) 토론이있었습니다.
파일 기반이 아닌 OS의 문제는 모든 것을 다시 구현해야한다는 것입니다. C 컴파일러조차도 일부 파일 시스템이 필요합니다. 슬프게도 그러한 OS를 처음부터 개발할 경제적 인센티브는 거의 없습니다.
그러나 우리의 테라 바이트 디스크는 더러운 엉망입니다 (계층 파일 시스템은 데이터를 구성하는 가장 좋은 방법은 아닙니다). 유닉스에서 영감을 얻은 파일 시스템 (Windows에서 복사 된 것)보다 더 좋은 것을 가질 수 있다면 좋을 것입니다 .
계층 적 파일 시스템은 Multics (1969) 로 개발되었습니다 . 유닉스가 복사했습니다.