SimpleFS 가상 파일 시스템
UNIX의 파일 시스템을 최소한으로 모방한 SimpleFS 가상 파일 시스템
운영체제
UNIX 스타일의 파일 시스템 구조를 최소 단위로 단순화한 실습/예제용 가상 파일 시스템
실제 운영체제의 복잡한 파일 시스템보다 간단한 데이터 구조와 명령어 인터페이스를 가짐
주요 설계 요소 및 구조
데이터 구조(트리/객체 중심)
- 파일/디렉토리: 객체로 구현
- 계층형 트리 구조
- 핵심 정보
- 이름, 타입, 크기, 생성일, 내용
- 디렉토리에는
children배열
{
name: '/',
type: 'dir',
children: [
{ name: 'readme.txt', type: 'file', size: 20, content: '...' },
{ name: 'docs', type: 'dir', children: [ ... ] }
]
}
명령어 기반 CLI
- 필수 명령
init [maxSize]: 파일 시스템 초기화 (최대 용량 부여)mkdir [경로/이름]: 새 디렉토리 생성create [경로/이름.txt]: 텍스트 파일 생성ls [경로]: 디렉토리 내 파일/폴더 목록 표시cat [경로/이름.txt]: 텍스트 파일 내용 출력
데이터의 영속성 보장
- 전체 파일 시스템 구조(트리)를 JSON 파일로 저장
- 프로그램 시작 시 파일을 읽어 메모리로 로드, 종료 시 저장
SimpleFS를 선택하는 이유
- 설계가 단순해 짧은 시간 내 구현에 현실적
- Node.js의 기본 문법과 트리 자료구조만으로 완성 가능
- 이후 저수준 FAT 구조로 확장도 가능