ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ 기본정리 ] 파일 시스템
    Technique/LINUX 2016. 5. 8. 20:37
    반응형

    리눅스는 초기에 미닉스의 파일 시스템( Minix File System MFS ) 를 사용했으나 곧, ext 파일 시스템으로 알려진 리눅스 고유의 파일 시스템을 만들어 사용하게 되었다.


    ext( ext1 ) 

    레미 카드 ( Remy Card )가 1992년 4월 리눅스 0.96c 에 포함되어 발표되었다.

    ext는 Extended File System의 약자로 extfs 라고도 하며 MFS의 기능을 확장했다는 의미를 가지고 있다.

    기존 MFS는 16비트 주소 체계를 사용하고 최대 크기가 64MB 였지만 ext 에서는 2GB로 늘어났으며 파일 이름의 길이도 14byte 에서 255byte로 늘어났다.

    그러나 inode 의 수정과 데이터 수정 시간 지원이 안되는 문제, 링크드 리스트로 파일 시스템을 구성하여 파일 시스템이 복잡해지고 파편화 되는 문제가 있었다.


    ext2

    기좉 ext1의 문제를 해결하기 내놓은것으로 레미카드가 1993년 1월에 공개하였다.

    ext파일 시스템을 기반으로 확장성도 고려하여 개발하였다.

    리눅스 커널 2.6.17 버전 이전에서는 파일 시스템의  최대 크기가 2TB로 제한되어 있엇으나 현재는 이론적으로 32TB까지 지원가능하다.

    ext3가 도입되기 전까지 리눅스의 표준 파일 시스템으로 사용되었으며 현재도 부팅 가능한 USB 플래시 드라이브와 다른 SSD 장치에 사용중.


    ext3

    스테판 트위디 ( Stephan Tweedie ) 가 2001년 11월 리눅스 2.4.15에 추가하였다.

    ext2를 기반으로 개발되어 호환이 가능하다.

    저널링 ( journaling ) 기능을 도입했다. 저널링은 디스크에 기록되는 데이터의 복구 기능을 강화한 것이다.

    저널링은 데이터를 디스크에 기록하기 전에 먼저 저널에 수정 사항을 기록한다. 쉽게 말해 로그 기록 같은것이다.

    디스크에 데이터를 기록하기 전에 갑자기 전원이 나가거나 시스템에 충돌이 발생할 경우 이 저널의 기록을 보고 재빨리 복구할 수 있다.

    inode의 동적 할당이나 다양한 블록 크기와 같은 최신 파일 시스템기능이 부족하고 온라인 조각 모음 기능이 없다.

    최대 크기는 블록의 크기에 따라 2~32TB까지 지원 된다.


    ext4

    2008년 12월 25일에 리눅스 커널 2.6.28에 포함되어 공개되기 시작 수많은 개발자가 참여 하였다 .

    ext4 파일 시스템은 1EB( 엑사 바이트 1024 x 1024 TB ) 이상의 볼륨과 16TB이상의 파일을 지원하며 ext2및 ext3와 호환성을 유지하고 있다.

    기존 32000개로 제한된 서브 디렉토리의 수가 64000개로 늘어났으며, 온라인 조각 모음 기능도 지원한다.


    리눅스에서 지원하는 다른 디스크 기반 파일 시스템

    ext2, ext3, ext4 외에 유닉스나 윈도우 시스템등 다른 시스템과 호환되도록 또한 CD-ROM, DVD 와 같은 외부 저장 장치를 사용할 수 있도록 다양한 파일 시스템을 지원한다.


     파일 시스템

     기능 

     msdos 

     MS-DOS 파티션을 사용하기 위한 파일 시스템이다. 

     iso9660 

     CD-ROM, DVD 의 표준 파일 시스템에서 일긱 전용으로 사용된다. 

     nfs 

     Network File System 으로 원격 서버의디스크를 연결할 때 사용된다. 

     ufs 

     Unix File System 으로 유닉스의 표준 파일 시스템이다. 

     vfat

     윈도 95, 98, NT를 지원하기 위한 파일 시스템이다. 

     hpfs 

     HPFS를 지원하기 위한 파일 시스템이다. 

     ntfs 

     윈도우의 NTFS를 지원하기 위한 파일 시스템이다. 

     sysv 

     유닉스 시스템 V를 지원하기 위한 파일 시스템이다. 

     hfs 

     맥의 hfs 파일 시스템을 지원하기 위한 파일 시스템이다. 


    특수 용도의 가상 파일 시스템

    디스크가 아니라 메모리에서 생성되어 사용되는 가상 파일 시스템이 있다.

    일반적으로 특수한 용도를 가지고 피룡에 따라 생겼다 없어졌다 한다.


     파일 시스템 

     기능 

     swap 

     스왑 영역을 관리하기 위한 스오바 파일 시스템이다. 

     tmpfs 

     Temporary File System 으로 메모리에 임시 파일을 저장하기 위한 파일 시스템이며, 시스템이 재시작할 때마다 기존 내용이 없어진다.

     예를 들자면 /run 디렉토리 

     proc

     proc 파일 시스템으로 /proc 디렉토리이다.

     커널의 현재 상태를 나타내는 파일을 가지고 있다. 

     ramfs 

     램 디스크를 지원하는 파일 스시템이다. 

     rootfs 

     Root File System 으로 / 디렉토리이다.

     시스템 초기화와 관리에 필요한 내용을 관리한다. 



    반응형

    댓글

Designed by Tistory.