GGWiki
새 문서
일반/위키

Be File System

공식 자료를 바탕으로 AI가 작성한 초안 · 출처 보기

편집 이의 제기 토론 수정 이력 토론에서 언급
Be File System 제목을 표시한 GGWiki 시각화
GGWiki 자체 생성 시각화 · 실제 게임 화면이 아닙니다.

개요편집이의 제기

Be File System(BFS)은 BeOS의 네이티브 파일 시스템이다. 리눅스 커널에서는 부트 파일 시스템(Boot File System)과 혼동을 피하기 위해 "BeFS"로 표기된다. 1996년 9월부터 약 10개월간 도미니크 잠파올로(Dominic Giampaolo)와 시릴 뫼리용(Cyril Meurillon)이 개발했으며, 1997년 5월 10일 처음 공개되었다. BeOS가 현대적인 64비트 지원 저널링 파일 시스템을 필요로 함에 따라 구현되었다. 대소문자를 구분하며 플로피 디스크, 하드 디스크, CD-ROM 같은 읽기 전용 매체에서도 사용할 수 있다. 다만 소형 이동식 매체에서는 파일 시스템 헤더가 600KB에서 2MB를 차지해 플로피 디스크를 사실상 사용할 수 없게 만들기 때문에 권장되지 않는다. 전신인 OFS(Old Be File System, 브누아 실링스 작성)와 마찬가지로 확장 파일 속성(메타데이터)을 지원하며, 인덱싱과 쿼리 기능을 통해 관계형 데이터베이스와 유사한 기능을 제공한다. 설계 의도는 64비트 대응이었으나 온디스크 구조 크기 때문에 실제 크기 한계는 약 2엑사바이트(EB) 수준이며, 익스텐트 기반 파일 할당으로 인해 최대 실용 파일 크기는 약 260기가바이트(GB)이고 단편화 정도에 따라 몇 블록까지 떨어질 수도 있다. 설계 과정, 응용 프로그래밍 인터페이스, 내부 동작은 《Practical File System Design with the Be File System》에 대부분 문서화되어 있다.[1][2]

역사편집이의 제기

개발 배경과 공개

BeOS가 차세대 운영체제로 자리잡기 위해 64비트 주소 공간, 저널링, 풍부한 메타데이터 쿼리를 지원하는 파일 시스템이 필요해지면서 BFS 개발이 시작되었다. 1996년 9월 잠파올로와 뫼리용이 설계를 시작해 10개월 만인 1997년 5월 10일 첫 공개되었다. 전신 OFS가 이미 확장 속성 개념을 도입했으나 성능과 확장성 한계가 명확해 완전 재설계가 이뤄졌다.[2]

판본별 변화와 파생 구현

원래 1996년판 BFS는 BeOS에 탑재되었다. 이후 여러 리눅스용 구현이 나타났다. 1999년 초 마코토 카토(Makoto Kato)가 리눅스용 BFS 드라이버를 개발했으나 완전한 안정화에는 이르지 못했다. 2001년 윌 다이슨(Will Dyson)이 독자적인 리눅스 BFS 드라이버를 새로 작성했다. 2002년 악셀 되르플러(Axel Dörfler) 등 개발자가 하이쿠(당시 OpenBeOS)용으로 OpenBFS라는 이름으로 BFS를 재구현해 공개했다. 2004년 1월 로버트 셀레니(Robert Szeleney)가 이 OpenBFS를 포크해 스카이OS(SkyOS)용으로 개발했다. 일반 OpenBFS 구현은 실러블(Syllable)에도 이식되어 0.6.5 버전부터 포함되었다.[2]

특징과 기능편집이의 제기

렌더링 및 저장 구조

BFS는 익스텐트 기반 파일 할당을 사용한다. 파일 데이터를 연속된 블록 범위(익스텐트)로 관리해 메타데이터 오버헤드를 줄이고 대용량 파일 순차 접근 성능을 높인다. 그러나 단편화가 심해지면 익스텐트 수가 늘어나 최대 실용 파일 크기가 몇 블록 수준까지 떨어질 수 있다. 온디스크 구조체 크기 제약으로 볼륨 최대 크기는 이론적 64비트 한계보다 낮은 약 2EB로 제한된다.[2]

메타데이터, 인덱싱, 쿼리

확장 파일 속성(extended attributes)을 네이티브로 지원한다. 임의의 키-값 쌍을 파일에 붙일 수 있으며, 시스템은 이를 자동으로 인덱싱한다. 사용자나 애플리케이션은 SQL과 유사한 쿼리 언어로 속성 기반 검색을 수행할 수 있어 파일 시스템이 관계형 데이터베이스처럼 동작한다. 이 기능은 OFS에서 처음 도입되어 BFS에서 성숙되었다.[2]

저널링

메타데이터 저널링을 제공해 시스템 충돌 후 빠른 복구와 파일 시스템 일관성을 보장한다. 데이터 저널링은 하지 않으며 메타데이터 연산만 로그에 기록한다.[2]

지원 플랫폼

원래 BeOS(x86, PowerPC)에서 동작하도록 설계되었다. 이후 리눅스 커널 모듈(BeFS), 하이쿠(OpenBFS), 스카이OS(OpenBFS 포크), 실러블(OpenBFS 이식) 등으로 이식되었다. CD-ROM 같은 읽기 전용 매체에서도 마운트 가능하다.[2]

라이선스·요금

자료에 라이선스나 요금 정보는 명시되지 않았다.

평가편집이의 제기

자료에는 BFS에 대한 구체적인 제3자 평가나 논란이 담겨 있지 않다. 다만 앤드루 허드슨(Andrew Hudson)이 2010년 6월 3일 Ars Technica에 기고한 "The BeOS file system: an OS geek retrospective"에서 회고적 분석이 이루어졌음이 외부 링크로 참조되어 있다.[2]

이 문서는 GGWiki AI가 공개 자료(아래 출처)를 조사해 새로 쓴 초안입니다. 틀린 내용은 편집하거나 이의 제기로 알려 주세요.

출처

2개
1Wikidata ↗https://www.wikidata.org/wiki/Q812816
2위키백과 (영어) · Be File System ↗https://en.wikipedia.org/wiki/Be_File_System