미닉스 파일 시스템

미닉스 파일 시스템(MINIX file system)은 미닉스 운영체제의 기본 파일 시스템이다. 1980년대 앤드루 타넨바움이 작성했으며, 복잡한 기능을 생략하면서 유닉스 파일 시스템의 구조를 복제하여 교육용으로 활용될 목적이었다. 1994년까지는 Ext2와 같은 다른 파일 시스템의 인기로 인해 리눅스 사용자들 사이에서 인기가 줄어들었으며, 제한된 파티션 크기와 파일 이름 길이 제한 등 기능 부족이 원인이었다.

역사
MINIX는 1980년대 앤드루 타넨바움에 의해 교육에서 자유롭게 사용할 수 있는 유닉스 계열 운영체제로 작성되었다. MINIX 파일 시스템은 MINIX와 함께 사용하도록 설계되었으며, 유닉스 파일 시스템의 기본 구조를 복사했지만 MINIX의 전반적인 목표인 유용한 교육 보조 도구가 되기 위해 소스 코드를 깨끗하고 명확하며 간단하게 유지하기 위해 복잡한 기능은 피했다.

리누스 토르발스가 처음으로 리눅스 운영체제 커널 (1991년)을 작성하기 시작했을 때, 그는 MINIX를 실행하는 컴퓨터에서 작업했으며, MINIX의 파일 시스템 레이아웃을 채택했다. 그러나 이는 곧 문제가 되었다. MINIX는 파일 이름 길이를 14자(이후 버전에서는 30자)로 제한했고, 파티션을 64메가바이트로 제한했으며, 파일 시스템이 성능이 아닌 교육 목적으로 설계되었기 때문이다. MINIX 파일 시스템의 리눅스 구현은 멀티스레드였지만, MINIX의 파일 시스템 구현은 단일 스레드였다. 확장 파일 시스템 (ext; 1992년 4월)은 MINIX의 것을 대체하기 위해 개발되었지만, 이의 두 번째 버전인 Ext2가 출시된 후에야 리눅스는 상업용 파일 시스템을 얻게 되었다. 1994년 기준으로, MINIX 파일 시스템은 리눅스 사용자들 사이에서 "거의 사용되지 않았다".

설계 및 구현
MINIX 파일 시스템은 여섯 가지 구성 요소를 갖는다.
항상 첫 번째 블록에 저장되는 부트 블록이다. 여기에는 시스템 시작 시 운영체제를 로드하고 실행하는 부트 로더가 포함되어 있다.
두 번째 블록은 파일 시스템에 대한 데이터를 저장하는 슈퍼블록으로, 운영체제가 다른 파일 시스템 구조를 찾고 이해할 수 있도록 한다. 예를 들어, 아이노드 및 영역의 수, 두 비트맵의 크기 및 데이터 영역의 시작 블록 등이다.
아이노드 비트맵은 아이노드의 간단한 맵으로, 사용 중인 아이노드와 사용 가능 아이노드를 1(사용 중) 또는 0(사용 가능)으로 표시하여 추적한다.
영역 비트맵은 아이노드 비트맵과 동일한 방식으로 작동하지만, 영역을 추적한다.
아이노드 영역이다. 각 파일 또는 디렉토리는 아이노드로 표현되며, 유형(파일, 디렉토리, 블록, 문자, 파이프), 사용자 및 그룹 ID, 마지막 접근, 마지막 수정, 마지막 상태 변경 날짜 및 시간을 기록하는 세 가지 타임스탬프를 포함한 메타데이터를 기록한다. 아이노드는 또한 파일 또는 디렉토리 데이터가 실제로 저장되는 데이터 영역의 영역을 가리키는 주소 목록을 포함한다.
데이터 영역은 파일 시스템의 가장 큰 구성 요소로, 대부분의 공간을 사용한다. 실제 파일 및 디렉토리 데이터가 저장되는 곳이다.

 같이 보기 
 파일 시스템 목록
 미닉스 3
 Minix-vmd

 각주 

 외부 링크 
 Minix의 파일, 파일 시스템 및 메모리 크기 제한
 Minix 파일 시스템 도구
 Minix 파일 시스템 소개

분류:1987년 소프트웨어
분류:유닉스 파일 시스템 기술