HFS 플러스

위키백과, 우리 모두의 백과사전.
이동: 둘러보기, 검색
HFS+
HFS+
애플
HFS 플러스
Hierarchical File System Plus
도입일 1998-01-19
도입 운영 체제 맥 OS 8.1
파티션 ID Apple_HFS (애플 파티션 맵)
0xAF (MBR)
Apple_HFSX (애플 파티션 맵) - HFSX
48465300-0000-11AA-
AA11-00306543ECAC
(GPT)
디렉터리 구조 B 트리
파일 구조 비트맵
불량블록 구조 B 트리
최대 파일크기 8 엑사바이트[1]
최대 파일수 4,294,967,295 (232-1)
최대 파일이름 길이 255자 (255 UTF-16 인코딩 단위)
최대 볼륨크기 엑사 바이트 [2]
날짜 사용권한 접근, 특성 수정, 백업, 콘텐츠 수정, 작성
날짜 범위 1904년 1월 1일 ~ 2040년 2월 6일
날짜 정밀도 1 s
포크 스트림
특성 color (3비트, 기타 모든 플래그는 1비트), locked, custom icon, bundle, invisible, alias, system, stationery, inited, no INIT resources, shared, desktop
파일시스템 권한 유닉스 권한, NFSv4 ACL (OS X v10.4 이상)
압축 예 (OS X 10.6 이상)[3]
암호화 예 (OS X 10.7 이상). 홈 디렉터리 당 암호화는 HFS+로 포맷된 .dmg 볼륨을 사용하여 AES를 통해 이용 가능 (10.7 이전, 10.3 이후의 OS X 버전 기준)
운영 체제 맥 OS 8.1, 맥 OS 9, OS X, & 다윈, 리눅스, 마이크로소프트 윈도 (부트 캠프[4] IFS 드라이버를 통해)

HFS 플러스(HFS Plus, HFS+)는 애플이 개발한 파일 시스템이다. 계층적 파일 시스템(HFS)을 대체하기 위해 개발되었다.

HFS 플러스는 다른 말로 맥 OS 익스텐디드(Mac OS Extended), "HFS 익스텐디드"(잘못된 이름이다)라고도 불린다. 예전의 HFS는 또한 "맥 OS 스탠다드"(Mac OS Standard), "HFS 스탠다드"(잘못된 이름이다)라고 불린다. 개발 도중, 애플은 이 파일시스템을 코드네임(codename) "세콰이아"(Sequoia)라고 불렀다.[5]

특징 및 활용[편집]

HFS 플러스는, 다시 말해서, HFS의 개량 버전이다. 여기서 HFS는, 예전에, 애플 매킨토시 컴퓨터 및 기타 맥 OS를 올려 쓰던 시스템에 쓰이던 가장 주요한 파일 시스템이었다. HFS 플러스는 HFS에 비해 매우 큰 크기의 파일(블록 주소는 16 비트가 아니라 32 비트 길이이다.)을 지원하며, 파일이나 폴더 이름에 - UTF16으로 인코딩되며, 유니코드 노멀라이재이션 폼 D(NFD)와 거의 비슷한 방식으로 노멀라이재이션되는 - 유니코드(기존 맥 OS 로만(Mac OS Roman) 대신에)를 사용한다.[6] (풀어서 말하면, HFS+ 파일 이름 중 é와 같이 프리콤포즈드된 문자는 다시 디콤포즈되며, 두 바이트로 카운트되며, 베이식 멀티링구얼 플레인(Basic Multilingual Plane, BMP, 0000-FFFF) 바깥의 캐릭터들도 두 바이트로 카운트된다는 말이다.) HFS 플러스에서는 파일 이름은 최대 길이 255 UTF-16 캐릭터가 될 수 있다.

NTFS와 마찬가지로 HFS 플러스는 n-forked 파일 시스템이다. 다시 말해, 하나의 파일 시스템 오브젝트에 여러 개의 임의의 길이의 데이터를 연관시킬 수 있다는 말이다. 하지만, 최근까지만 해도, 데이터 포크, 리소스 포크 외에 다른 종류의 포크를 활용하는 응용 소프트웨어는 좀처럼 나오지 않았다.

HFS 플러스는 32 비트 얼로케이션 매핑 테이블(allocation mapping table)을 사용한다. HFS에서는 이것이 16 비트였다. HFS에서는 이 점이 심각한 제약사항이었다. 다시 말해, HFS에서는 한 디스크 내에서 65536 개 이하로만 얼로케이션 블록을 갖게 할 수 있었다. 디스크 용량이 작을 때는 문제가 되지 않았지만, 디스크 용량이 커지자 문제가 되었다. 파일 하나(하나의 얼로케이션 블록)가 디스크 내에서 최소로 차지할 수 있는 공간의 크기가 매우 커진다는 것을 뜻하였다. 예를 들면, 1 GB 디스크에서는 HFS 얼로케이션 블록 크기는 16 KB였다. 그러므로, 1 바이트 크기의 파일이더라도 16 KB의 디스크 공간을 차지했었다.

HFS 플러스 파일 시스템은 오늘날의 OS X 운영 체제의 기본 파일 시스템이다.[7] 또한 HFS 플러스는 디지털 음악 플레이어인 아이팟에 쓰이는 파일 시스템 중 하나이다.

보통 볼륨 메타데이터를 저장하기 위해, HFS와 마찬가지로, HFS 플러스는 B*-트리를 활용한다.

역사[편집]

HFS 플러스는 맥 OS 8.1이 출시된 시점인 1998년 1월 19일 도입되었다. P[1] 하지만, 베타 버전의 파일시스템으로서 처음 등장한 이후, HFS 플러스는 코플랜드 베타 버전에 탑재되지는 못하였다.

2002년 11월 11일 맥 OS X v10.2.2 업데이트를 발매하면서, 애플은 선택사항으로서 HFS 플러스에 저널링 파일 시스템 기능을 추가하였다. 데이터 신뢰성을 높이기 위한 기능이었다. 맥 OS X 서버에서는 이 기능을 쉽게 활용할 수 있으나, 데스크톱 클라이언트에서는 커맨드 라인을 통해서만 이 기능에 접근할 수 있다.[8] 맥 OS X v10.3에 들어서는, 맥의 모든 HFS 플러스 볼륨은 기본적으로(default) 저널링 기능을 포함하게 되었다. 시스템 내에서 저널링 기능을 갖는 HFS 플러스 볼륨은 HFSJ라고 표시된다.

주석[편집]

  1. Technical Note TN1150: HFS Plus Volume Format. 《Apple Developer Connection》 (2004년 3월 5일). 2007년 3월 28일에 확인.
  2. OS X: Mac OS Extended format (HFS Plus) volume and file limits. Support.apple.com (2008년 7월 29일). 2010년 7월 5일에 확인.
  3. 10.6: Compress files with HFS+ compression - Mac OS X Hints
  4. Boot Camp 3.0, Mac OS X 10.6: Frequently asked questions
  5. New Mac OS Extended Format (HFS+) Available. 《Apple Developer News》 (1997년). 2007년 3월 28일에 확인.
  6. Technical Q&A QA1235: Converting to Precomposed Unicode. 《Apple Developer Connection》 (2003년 2월 7일). 2007년 3월 28일에 확인.
  7. Amit Singh [6 2006] (2007). 〈CHAPTER 12. The HFS Plus File System〉, 《MAC OS X Internals A Systems Approach》, 1471쪽. 0-321-27854-2. 2009년 5월 26일에 확인.
  8. John Gruber (2002년 11월 11일). Crow. 《DaringFireball.net》. 2007년 3월 28일에 확인.

바깥 고리[편집]

  • (영어) Apple Technote 1189 - The Monster Disk Driver Technote
  • (영어) hfsdebug - A debugger for HFS Plus volumes by Amit Singh
  • (영어) HFSExplorer - A free Java-based utility to read HFS Plus on Windows