#8 파일 시스템의 이해

유상우·2022년 8월 25일
0

파일 시스템

  • 스토리지 장치에 파일을 명명하고, 저장하고, 읽어내는 방법을 제공하는 시스템
    즉, 저장매체에는 많은 파일들이 있으므로, 이러한 파일들을 관리하는 방법을 말한다.

  • 사용자가 아닌 커널 영역에서 동작

  • 파일을 빠르게 읽기, 쓰기, 삭제 등 기본적인 기능을 원할히 수행하기 위한 목적

  • 파일 시스템 특징

    • 계층적 디렉토리 구조를 가진다
    • 디스크 파티션 별로 하나씩 둘 수 있다
  • 파일 시스템의 개발 목적

    • HDD와 메인 메모리 속도차 줄이기
    • 파일 관리 용이
    • HDD의 막대한 용량을 효율적으로 이용
  • 주요 파일 시스템

    • windows - FAT(FAT12/16/32,exFAT),NTFS
    • linux - ext(ext2/3/4)
    • mac os - hfs,hfs+
    • google - gfs (google file system으로 구글에서 사용하는 분산 파일 시스템)
  • 파일 시스템 구조

    • 메타영역 - 데이터 영역에 기록된 파일의 이름, 위치, 크기, 시간정보, 삭제유무 등 파일의 정보
    • 데이터 영역 - 파일의 데이터
      *윈도우 탐색기를 이용하여 검색 할 때, 메타영역을 탐색하면서 파일을 찾는다
  • 파일 시스템의 역할

    • 공간 관리 - 스토리지 장치에 저장되는 방식을 관리
    • 파일 이름 관리 - 이름 길이, 특수 문자, 대소문자 구분 등
    • 디렉토리 관리 - 파일을 포함하는 디렉토리 정보를 관리
    • 메타 데이터 관리 - 파일 길이, 권한, 디바이스 타입, 수정 시간, 기타 속성들
    • 장애 관리 - 시스템 장애 시 파일 유실 방지

    파일 시스템 설계 목적이나 스토리지 장치 및 워크로드에 맞게 다양한 파일 시스템 존재
    ex) XFS - 빠른 복구, 빠른 트랙잭션, 큰 볼륨 지원 등

    리눅스의 파일 시스템은 크게 다음과 같이 분류

  • 디스크 기반 파일 시스템

    • 시스템에 연결된 로컬 디스크나 SSD 등을 관리하는 파일 시스템
    • EXT3,EXT4,ZFS,BTRFS 등 (linux)
    • FAT,NTFS 등 (windows)
    • HFS,APFS 등 (mac os)
  • 네트워크 파일 시스템

    • 네트워크로 연결된 다른 컴퓨터의 파일 시스템에 있는 파일들을 쉽게 접근하도록 지원
      => 로컬 디렉토리에 마운트하여 사용
    • 여러 서버가 동시에 파일 시스템을 접근 가능
    • NFS,SMB,CIFS(windows)
  • 특수 파일 시스템 (가상 파일 시스템)

    • 실제 디스크 공간을 관리하지 않음
    • proc, sysfs, cgroup 등
profile
Potentialist

0개의 댓글