본문 바로가기
Developing Note/OS

[운영체제]파일시스템 할당 방법

by dev_mac-_- 2018. 6. 16.

Block단위로 디스크가 돌아가기 때문에 파일에 Block 할당할 free block 생긴다.

Block 안의 크기를 채우고 파일이 저장되는 (그러면 내부단편화 현상이 생김)
 
것을 할당하는 방법에는 연속 할당, 연결 할당, 색인 할당이 존재한다.
 
연속 할당 : 파일에 대해 디스크 상의 연속된 블록을 할당하는 방법
 
, HDD Block들이 나열되어 있는데 여기에 연속된 순서대로 파일을 저장한다.
이렇게 하면 Read 이동경로를 최대한 줄일 있다. (빠른 I/O 가짐)
 
장점 :동영상이나, 음악, VOD 같이 크기가 큰데 실시간 자료에 적합하다.
 
단점: 특정 파일을 삭제하면 중간에 Hole 생성한다. , 컴퓨터 시스템이 외부단편화가 생겼다고 생각이 있다. 연속된 형태이기 때문에 중간에 크기를 증가 시키기 어렵다. 디스크의 낭비가 심하다.


 
연결 할당 : 파일을 linked list 형태로 저장
 
파일은 각자 directory 가지고 있는데 여기에는 어떤 block 할당되어 있는지를 기억한다.
Directory 제일 처음 저장되는 block 순서대로 이으면 된다.
 
이런 방법을 사용하면 외부 단편화의 문제가 해결된다.
 
단점: 순서대로 이어져 있기 때문에 중간에 있는 자료만 읽고 싶어도 포인터를 따라가야 하기 때문에 속도면에서 느리다.

또한, 1개의 포인터를 잃으면 줄줄이 잃어버린다. (포인터는 취약함)



인덱스 할당 : 파일 Index block 사용하여 파일을 할당

Index block 포인터에 대한 정보를 저장하게 되면 연속 할당(특정부분을 읽을 있게 된다.) + 연결 할당(외부 단편화 문제 해결)

But, 
Index Block 할당에 따른 저장 공간의 손실이 발생할 있다
또한, Index Table을 잃으면 몽땅 자료를 잃는다.


댓글