파일 시스템은 간단하게 말하자면 컴퓨터에서 파일이나자료를 쉽게 발견 및 접근할 수 있도록 보관 또는 조직하는 체제이다.
하드 디스크나 CD-ROM과 같은 물리적 저장소를 관리하고 그 위에 파일 및 디렉토리를 구성하는 시스템이다.
컴퓨터의 저장 장치(디스크 또는 SSD)에 데이터를 어떻게 저장하고 조직하는지에 대한 규칙과 절차를 구성한다.
즉, 디스크는 작은 조각으로 나누어져 있고, 이 조각들을 블록이라고 부르며 파일 시스템은 이러한 블록들을 사용하여 파일을 저장하며, 각 파일은 디스크 상의 여러 블록에 분산될 수 있습니다.
"블록"은 파일 시스템에서 데이터를 저장하는 물리적인 단위를 나타낸다.
리눅스 파일 시스템 구조 (block)
Super Block : 파일 시스템의 전반적인 구조 및 상태에 대한 정보를 담고 있다. (1 block)
Group Desciptor Table : 리눅스 파일 시스템에서 블록 그룹에 대한 정보를 저장하는 테이블이다. (n block)
Block bitmap : 파일 시스템에서 사용 중인 블록과 사용 가능한 블록을 나타내기 위한 비트맵 구조이다. (1 block)
inode : 파일 시스템에서 파일이나 디렉토리와 관련된 메타데이터를 저장하는 데이터 구조이다.
저널링 파일 시스템 : 시스템의 비정상적인 종료 나 발생할 수 있는 데이터 손실, 고장으로부터 데이터를 보호하고 유지하기 위한 시스템
여기에서 저널이란?
"저널"이란 용어는 주로 로그(log)를 가리키는데, 특히 파일 시스템이나 데이터베이스에서 발생하는 변경 사항을 기록하는 로그를 가리킬 때 자주 사용된다.
디스크(Disk):
로그(Log):
저널링은 데이터를 디스크에 쓰기 전에 로그에 데이터를 남겨 시스템의 비정상적인 문제가 생겨도 로그를 사용해 빠르고 안정적인 복구 기능을 제공하는 기술이다.