All Articles

Linux Filesystem

Linux Filesystem

File System

리눅스는 계층적인 트리구조( 많은 파일들을 가지고 있기 때문에 이것을 관리하기 위해 계층 구조를 갖고 있다.)로 파일을 관리한다. 파일시스템은 어떻게 관리할 것인가에 대한 정책이다.

리눅스는 다양한 파일 시스템을 지원한다. 이는 유연성을 높여주고 다른 운영체제와 잘 공존할 수 있게 해준다.

  1. File
  2. Metadata region 과 Data region으로 나뉜다.
  3. Directory
  4. Data 영역이 있다. 여러개의 파일을 묶어 그룹으로 만든다.

File

파일이란 디스크와 같은 물리적 저장 매체에 저장되는 데이터 집합을 말한다. 데이터 정보에 대한 논리적인 저장 단위이며 저장장치의 물리적 특성을 추상화한 논리적 저장 단위이다. 파일들은 모두 2진수로 저장된다. 파일의 타입으로는 크게 두 종류로 나뉜다.

  1. Text file | 텍스트 파일
  2. ASCII 또는 Unicode → 8 bit/ 16bit로 끊어서 → 문자로 해석
  3. Binary file | 바이너리 파일
  4. 이진수 데이터 → format 에 따라, 특별한 해석
    .jpg → image | .mp3 → music | .mpg → video

Linux’s native filesystem types

리눅스의 파일 시스템 타입으로는 ext3, ext4, squashfs, btrfs 등이 있다.

ext2, ext3, ext4
Extended FIlesystem
Chris Provenzano가 처음으로 만든 파일 타입이다. 라이너스 토발즈가 다시 썼다. 긴 파일이름을 지원한다.최대 255 캐릭터 까지 가능하다.

  • ext → (primarily was developed of MINIX)
  • ext2 → improved version
  • ext3 → added performance improvement
  • ext4 → was a performance improvement besides additional providing additional features. (Ext4 is the preferred and most widely used Linux file System.)

JFS
Journaled File System (developed by IBM for AIX UNIX)

XFS
High speed JFS (NASA still usages this file system)

trfs
B-Tree FIles System focus on fault tolerance