본문 바로가기
코딩이야기/운영체제

파일 시스템(File system) - 5. Evolution of UNIX file systems

by GiraffeB 2016. 4. 11.

Unix file systems have evolved

1) system V file system(s5fs)

2) Berkeley fast file system(FFS) - often called UFS

3) Sun's network file system(NFS) - 분산처리 환경접목

4) Sun;s virtual file system(VFS) - 다양한 파일시스템의 통일 :  user interface를 통합함

5) Log-Structured file system(LFS) - Sudden shutdown등에 대응 : disk recovery overhead 해결



1. 유닉스 파일시스템에서는 기본적으로 디스크 구조를

boot area : boot device에서 boot block을 읽어오게함

super block : file system에 대한 meta data를 저장해 놓음. block의 개수, inode개수, free inode등.

inode list : fixed size array of inodes

data blocks : holds files, directories, and indirect blocks

로 나누었음.


2. S5FS

유닉스의 기본적인 파일시스템이었으나 성능상의 많은 문제점들을 안고 있었음.

1) 파일의 inode와 Data blocks간의 물리적인 거리가 멀기 때문에 파일 접근시 과도한 seek time operation을 사용

2) Data block의 할당 해제를 반복할 수록 Free block이 상재하게 되어 sequential block을 읽을 때, 과도한 seek operation발생

3) 안전성의 문제로 super block이 한곳에만 모여있어서, 이곳이 손상시 파일시스템을 사용할 수 없는 문제


3. FFS

: S5FS의 성능상, 안전성에서의 문제점들을 해결함


4. LFS

많은 개선이 이루어졌음에도 디스크의 볼륨이 매우 커지면서, sudden shutdown에 대한 이슈가 부상함.

inode상의 meta data와 실제 disk상의 정보가 달라지게 되면, 이를 복구하기 위해서 모든 블록을 탐색하여 재구축하는 엄청난 비용과 시간이 소요됨.


이를 해결하기 위해서 

파일시스템의 변화는 오직 로그파일에 append함.

로그는 시간단위동안 순차적으로 수행됨

이러한 효과적인 디스크 사용과 높은 성능을 나타냄

충돌 발생시, 일정 시점 이후에서만 실행하면 되므로 빠르게 복구가 가능함.