본문 바로가기
리눅스

[리눅스] 파일(1) - 파일 시스템 구조

by 깅민 2022. 10. 20.

1. 파일 시스템 구조 -  https://gingmin.tistory.com/20

2. 마운트, 디스크 추가 - https://gingmin.tistory.com/21

3. 마운트, 파티션 나누기, fdisk -  https://gingmin.tistory.com/22

4. mkfs 명령어 -  https://gingmin.tistory.com/19

5. 마운트 자동등록 fstab, df, UUID https://gingmin.tistory.com/23

1. 파일 시스템 구조

부트 블록 - 운영체제를 메모리에 올리는 역할을 하는 프로그램이 있는 영역

슈퍼 블록 - 파일 시스템에 대한 정보를 저장하고 있는 영역

I-node 리스트 - i-node를 모아놓은 영역

데이터 블록 - data를 저장하고 있는 영역

 

 

파일 시스템이란

- 컴퓨터에서 파일이나 자료를 쉽게 발견하고 접근할 수 있도록 보관하는 체제 (디스크를 관리하는 소프트웨어가 파일 시스템)

- 저장장치 내에서 데이터를 쉽게 읽고 쓰기 위해 미리 정해진 약속

- 소프트웨어뿐 아니라 하드웨어적으로도 밀접하게 관련있는 프로그램

- 저장 공간을 사용하면 무조건 필요한 소프트웨어이며, 운영체제에 필수적으로 포함되어야 함

- 물리적인 HDD를 특정 OS가 임의의 디렉토리인 마운트 포인트를 통해 접근하여 사용할 수 있는 논리적인 공간을 의미

 

파일 시스템의 역할

- 데이터를 더 빠르게 읽고 저장할 수 있는 단위 블록을 소프트웨어적으로 계산

- 분산 저장된 연관된 데이터들을 빠르게 찾게 해준다.

- 디스크 조각(섹터) 모음과 같이 디스크 공간을 효율적으로 사용하게 해준다.

 

이 세 가지를 각각 어떤 방식으로 하는가에 따라 파일 시스템의 종류가 달라짐

 

BIOS(Basic Input/Output System)에 의해 논리적으로 디스크의 공간에 주소를 할당해준 뒤 이 주소 정보를 어디에 저장하고 어떻게 사용할지 등 본격적인 관리를 해주는 것이 파일 시스템

 

파일 시스템의 종류

- USB에 주로 사용되는 FAT (File Allocation Table)

- NTFS (New Technology File System) 윈도우 운영체제에 사용되는 파일 시스템 (지금은 더 발전된 형태를 사용)

- 리눅스 운영체제 (ext, ext2, ext3, ext4, xfs)

- 파일 시스템의 종류는 이외에 더 많이 존재

 

리눅스의 파일 시스템

- ext (extended filesystem) : 초기 리눅스, 파일 시스템의 조상으로 현재 사용X

 

- ext2 : ext를 대체하기 위해 고안 (Remy card)

  블록 크기에 따라 최대 파일 크기 16GB - 2TB까지

  파일 시스템 크기 4TB - 32TB까지

  255byte의 긴 파일명까지 지원

  압축과 암호화는 지원되지 않음

  현재까지 사용됨

 

- ext3 : (Stephen Tweedie가 만듬)

  기본적으로 ext2 계승했지만, 큰 특징은 저널링기능(갑작스러운 장애시 파일 손상 최소화) 제공

  ext2보다 ext3를 기본 파일 시스템으로 사용하는 경우 많음

  파일 크기 16GB - 2TB, 파일 시스템 크기 2TB - 32TB 지원

 

- ext4 : ext3보다 성능, 기능 크게 향상

  ext3보다 큰 용량을 지원

  삭제 파일 복구 기능과 파일 시스템 점검 속도가 크게 향상

 

- xfs : 대용량 파일 시스템, 저널링

  읽고 쓰는 속도 빠르고 확장성도 좋음

  ext3에 비해 8배 많은 I-node 생성 가능

  안정적이고 빨라서 많이 이용됨

 

 

참고 : https://it-serial.tistory.com/m/48

댓글