
1. 파일 시스템, 컴퓨터의 ‘아름다운 거짓말’을 만나다
우리가 컴퓨터에서 ‘저장’ 버튼을 누르는 그 순간, 사실은 운영체제가 부리는 정교한 마법을 신뢰하는 것과 같습니다. 그 마법의 정체는 바로 수십 년에 걸쳐 발전해 온 공학의 결정체, ‘파일 시스템’입니다. 우리는 폴더와 파일이 정리된 세상을 보지만, 하드웨어는 끝없이 이어진 데이터 블록의 배열만 인식할 뿐이죠. 이 거대한 간극을 메워주는 똑똑한 번역가, 파일 시스템의 세계로 함께 떠나보겠습니다. 혼돈 속에서 어떻게 질서가 만들어지는지, 그 아름다운 거짓말의 내부를 깊숙이 탐험해 봅시다.

2. 파일과 디렉터리: 논리적 환상의 비밀
우리가 ‘파일’이라고 부르는 것은 단순히 데이터 덩어리가 아닙니다. 여기에는 파일 이름, 크기, 소유자, 권한 정보 등을 담은 일종의 신분증, 즉 ‘메타데이터’가 항상 함께 따라다닙니다. 이 메타데이터가 없다면 데이터는 의미 없는 0과 1의 나열에 불과하죠. 그렇다면 수만 개의 파일 속에서 특정 파일을 어떻게 순식간에 찾아낼까요? 과거에는 처음부터 끝까지 다 뒤지는 비효율적인 방식을 썼지만, 현대 파일 시스템은 ‘해시 테이블’을 사용합니다. 파일명을 고유한 숫자(해시값)로 바꿔 단 한 번의 연산으로 파일의 위치를 찾아내는 경이로운 속도의 비결입니다.

3. 디스크 위의 청사진: 포맷과 저널링의 힘
하드디스크를 ‘포맷’한다는 것은 파일 시스템이라는 정교한 청사진을 디스크에 기록하는 작업입니다. 디스크 맨 앞에는 부팅에 필요한 ‘부트 블록’, 전체 구조를 담은 ‘슈퍼블록’, 빈 공간을 표시하는 ‘자유공간 비트맵’, 파일들의 신분증(메타데이터)을 모아둔 ‘아이노드’, 그리고 실제 데이터가 담기는 ‘데이터 블록’ 영역이 차례로 그려집니다. 하지만 이 구조는 갑작스러운 정전 시 데이터가 깨질 수 있는 치명적 약점이 있었습니다. 이 문제를 해결하기 위해 현대 파일 시스템은 ‘저널링’ 기법을 도입했습니다. 실제 데이터를 바꾸기 전, 변경할 내용을 ‘저널’이라는 메모장에 먼저 기록해두는 방식이죠. 덕분에 시스템이 비정상적으로 종료되어도 단 몇 초 만에 안전하게 복구가 가능해졌습니다.

4. 데이터 배치 전략: 연속, 연결, 그리고 색인 할당
파일 데이터를 디스크의 어느 공간에 배치할 것인가의 문제는 오랫동안 중요한 과제였습니다. 초기에는 모든 블록을 연달아 붙여놓는 ‘연속 할당’ 방식을 사용했습니다. 순차적으로 읽을 땐 빨랐지만, 중간에 공간이 남아도 활용하기 어려운 단편화 문제가 있었죠. 이를 해결하기 위해 각 데이터 블록이 다음 블록의 주소를 꼬리처럼 무는 ‘연결 할당’이 등장했지만, 특정 부분을 찾으려면 처음부터 따라가야 해서 속도가 느렸습니다. 마침내 두 방식의 장점만을 취한 ‘색인 할당’이 표준으로 자리 잡았습니다. 파일마다 데이터 블록의 주소록(인덱스 블록)을 두어, 블록을 어디에든 유연하게 배치하면서도 특정 위치에 빠르게 접근할 수 있게 된 최적의 해결책입니다.

5. 하드웨어와의 춤: HDD에서 SSD로의 전환
전통적인 하드디스크(HDD)의 성능은 데이터를 읽는 헤드의 물리적 움직임을 최소화하는 데 달려 있었습니다. 헤드가 디스크의 양 끝을 오가는 시간을 줄이기 위해, 엘리베이터처럼 한 방향으로 움직이며 요청을 처리하는 ‘스캔(SCAN) 알고리즘’ 같은 디스크 스케줄링 기법이 중요했죠. 하지만 반도체 기반의 SSD가 등장하며 게임의 규칙은 완전히 바뀌었습니다. 물리적으로 움직이는 부품이 없으니 헤드의 이동 시간이라는 개념 자체가 사라진 것입니다. 이제 과제는 특정 메모리 셀만 계속 사용되어 수명이 닳지 않도록, 쓰기 작업을 드라이브 전체에 골고루 분산시키는 ‘웨어 레벨링’ 기술로 완전히 전환되었습니다. 하드웨어의 진화가 소프트웨어의 과제를 바꾼 대표적인 사례입니다.

6. 결론: 끊임없이 진화하는 추상화의 탑
결국 파일 시스템은 사용자의 간단한 ‘저장’ 명령부터 SSD의 웨어 레벨링 알고리즘에 이르기까지, 각 계층이 바로 아래 계층의 복잡성을 완벽하게 감추고 더 단순한 인터페이스를 제공하는 거대한 ‘추상화의 탑’이라고 할 수 있습니다. 하드웨어의 진화는 소프트웨어에 끊임없이 새로운 과제를 던지고, 이는 또 다른 아름다운 거짓말, 즉 새로운 추상화를 요구합니다. 이 멈추지 않는 진화야말로 컴퓨터 과학을 흥미롭게 만드는 진정한 매력일 것입니다.