파일 시스템 (File System)

정혜인·2024년 8월 8일

기초공부

목록 보기
13/18

💨 파일 시스템 (File System)

⭕ 파일 시스템 (File System)

💡 컴퓨터 저장 장치, 특히 하드 드라이브, SSD, 플래시 드라이브와 같은 저장 매체에 데이터를 저장하고 관리하는 방식과 구조를 정의하는 시스템

❗ 데이터를 효율적으로 저장하고, 찾고, 관리하는 데 필요한 여러 기능과 개념을 제공

⭕ 파일 시스템의 기능

  • 파일 저장 및 검색:
    • 데이터를 파일로 저장하고 필요 시 파일을 찾아서 읽는 기능을 제공
    • 파일의 경로를 이용해 파일을 식별하고 접근
  • 파일 및 디렉토리 조작:
    • 파일 생성(Create), 읽기(Read), 쓰기(Write), 삭제(Delete) 등의 기본 조작 기능을 지원
    • 디렉토리 생성(Create Directory), 삭제(Delete Directory), 이동(Move), 복사(Copy) 등의 디렉토리 조작 기능을 제공
  • 디스크 관리:
    • 저장 장치의 공간을 효율적으로 관리하고 파일 시스템의 일관성을 유지
    • 파일 시스템의 공간 할당 및 해제, 조각 모음(Defragmentation) 기능 등을 포함
  • 보안 및 권한 관리:
    • 파일 및 디렉토리에 대한 접근 권한을 설정하고 관리
    • 사용자와 그룹별로 읽기, 쓰기, 실행 권한을 부여 가능
  • 에러 검출 및 복구:
    • 파일 시스템의 무결성을 유지하기 위해 에러를 검출하고 복구하는 기능을 제공
    • 예: 저널링(Journaling), 체크섬(Checksum) 등을 이용한 에러 검출 및 복구

⭕ 파일 시스템의 종류

  • FAT (File Allocation Table):
    • DOS 및 초기 Windows 운영체제에서 사용된 파일 시스템
    • FAT16, FAT32 등이 있으며 간단한 구조와 호환성이 장점
  • NTFS (New Technology File System):
    • Windows NT 계열 운영체제에서 사용되는 파일 시스템
    • 보안, 압축, 대용량 파일 지원, 저널링 기능 등이 강력함
  • EXT (Extended File System):
    • 리눅스 운영체제에서 주로 사용되는 파일 시스템
    • ext2, ext3, ext4 등이 있으며 ext4는 저널링과 대용량 파일 지원이 강화됨
  • APFS (Apple File System):
    • Apple의 macOS 및 iOS에서 사용되는 파일 시스템
    • SSD 최적화, 스냅샷, 클론, 빠른 디렉토리 크기 계산 등의 기능이 있음
  • exFAT (Extended File Allocation Table):
    • FAT 파일 시스템의 확장 버전으로, 대용량 파일과 대용량 디스크 지원을 위해 설계됨
    • 다양한 운영체제 간의 호환성이 높음

💨 파일 시스템 (File System)

⭕ 파일 (Files)

💡 컴퓨터에서 데이터를 저장하는 기본 단위

❗ 각 파일은 고유한 이름을 가지며, 이 이름을 통해 사용자는 파일을 식별하고 접근 가능

❗ 파일 구성 :

  • 파일 이름: 파일을 식별하는 이름입니다. 파일 이름은 일반적으로 확장자를 포함하며, 이는 파일의 유형을 나타냄. ex: document.txt, photo.jpg.
  • 확장자: 파일 이름의 끝 부분에 위치하며, 파일의 형식을 나타냄. 예: .txt, .jpg, .pdf.
  • 파일 크기: 파일이 차지하는 저장 공간의 크기. 이는 바이트 단위로 표시.
  • 파일 내용: 파일 내 실제 저장된 데이터. 텍스트 파일, 바이너리 파일, 이미지 파일 등 다양한 형식으로 존재
  • 메타데이터: 파일 자체의 내용 외에도 파일에 관한 정보(메타데이터)가 있음. ex: 파일 생성 시간, 수정 시간, 접근 권한 등.

⭕ 디렉토리 (Directories)

💡 파일과 다른 디렉토리를 포함할 수 있는 논리적인 저장 단위

❗ 파일 시스템의 계층적 구조를 형성하며, 사용자가 파일을 체계적으로 조직하고 관리할 수 있도록 도와줌

디렉토리 구성 :

  • 루트 디렉토리 (Root Directory): 파일 시스템의 최상위 디렉토리. 모든 디렉토리와 파일은 루트 디렉토리 아래에 위치. Unix 계열에서는 /로, Windows에서는 C:\와 같은 형식으로 표현.
  • 서브 디렉토리 (Subdirectories): 루트 디렉토리 하위에 위치한 디렉토리들로, 각 디렉토리는 다시 여러 서브 디렉토리를 가질 수 있음.

⭕ 경로 (Paths)

💡 파일이나 디렉토리의 위치를 지정하는 문자열

❗ 경로를 통해 사용자는 파일 시스템 내의 특정 파일이나 디렉토리에 접근 가능

❗ 경로 ****유형 :

  • 절대 경로 (Absolute Path): 루트 디렉토리부터 시작하는 전체 경로. ex: Unix 계열에서는 /home/user/document.txt, Windows에서는 C:\Users\User\Document.txt.
  • 상대 경로 (Relative Path): 현재 작업 디렉토리로부터의 경로. ex: 현재 디렉토리가 /home/user인 경우 documents/report.txt는 상대 경로

⭕ 메타데이터 (Metadata)

💡 파일 자체의 내용 이외에 파일에 대한 정보를 저장하는 데이터

❗ 파일 시스템은 메타데이터를 이용해 파일을 관리하고, 파일의 속성을 제공하며, 보안을 유지

❗ 메타데이터 ****주요 요소 :

  • 파일 이름: 파일의 고유한 이름.
  • 파일 크기: 파일이 차지하는 저장 공간의 크기.
  • 생성 시간 (Creation Time): 파일이 생성된 시간.
  • 수정 시간 (Modification Time): 파일이 마지막으로 수정된 시간.
  • 접근 시간 (Access Time): 파일이 마지막으로 접근된 시간.
  • 파일 권한 (Permissions): 파일에 접근할 수 있는 사용자 및 접근 방식(읽기, 쓰기, 실행).
  • 소유자 (Owner): 파일을 소유한 사용자.
  • 파일 유형 (File Type): 파일이 디렉토리인지, 일반 파일인지, 링크 파일인지 등을 나타냄.

0개의 댓글