파일 시스템(File System)
리눅스의 ext2 파일 시스템 구조 설명 (Block Group 기반)
리눅스에서 사용되는 ext 파일 시스템(ext2, ext3, ext4)은 디스크를 효율적으로 관리하기 위해 Block Group이라는 구조를 도입했다. 디스크를 여러 Block Group으로 나누어 관리함으로써 대규모 파일 시스템에서도 성능과 안정성을 유지할 수 있다. 이를 단계적으로 설명하면 다음과 같다:
Disk Drive | ||||
MBR | Reserved | Partition 1 | Partition 2 | Partition N |
디스크 드라이브와 파티션
|
...
파일 시스템 생성(포맷 작업)
포맷 작업 중 파일 시스템의 구조가 생성되며, ext2 파일 시스템의 경우 아래와 같은 구성 요소가 만들어진다.
Format(mkfs) ↓
...
Partition N(File System) | ||||
Boot Block | Block Group 0 | Block Group 1 | Block Group 2 | Block Group N |
ext2 파일 시스템의 구요 구조 포맷 작업을 통해 파일 시스템은 다음과 같은 구성 요소를 가지게 된다: (1) Boot Block
(2)Block Group 구조 ext 파일 시스템은 디스크를 여러 Block Group으로 나눠 데이터를 관리한다.
|
↓
Block Group N | |||||
Super Block | Group Descriptors | Block Bitmap | Inode Bitmap | Inode Table | Data Blocks |
Block Group 내부 구성 Block Group은 다음과 같은 주요 구성 요소를 포함한다: (1) Super Block
(3) Block Bitmap
(4) Inode Bitmap
|
데이터 접근 과정
- 파일 요청 → 디렉토리에서 파일 이름 확인.
- 디렉토리 블록에서 파일 이름과 연결된 아이노드 번호를 찾음.
- Inode Bitmap에서 아이노드를 참조하여 메타데이터 확인.
- 데이터 블록 주소를 통해 실제 파일 내용에 접근.
ext 파일 시스템은 데이터를 Block Group 단위로 관리하여 성능과 안정성을 높인다.
- 각 Block Group에는 Super Block, Group Descriptors, Block Bitmap, Inode Bitmap, Inode Table, Data Blocks가 포함된다.
- 이러한 구조는 대규모 파일 시스템에서 데이터를 효율적으로 관리하고 빠르게 접근할 수 있도록 설계되었다.
이 구조는 ext2, ext3, ext4로 발전하면서 유지되었으며, ext4는 특히 대규모 데이터와 고성능 서버 환경에 적합하도록 추가적인 기능이 포함되었다.
'리눅스' 카테고리의 다른 글
#6-1 리눅스 파일 시스템 (0) | 2025.01.09 |
---|---|
#5-2 리눅스 부팅과 셧다운 (0) | 2025.01.09 |
#5-1 리눅스 부팅과 셧다운 (1) | 2024.12.15 |
#4 리눅스 디렉터리 (0) | 2024.12.15 |
#3 리눅스의 구조 (0) | 2024.12.15 |