디스크에 파일을 저장할 때의 방법
Contiguous Allocation
Linked Allocation
Indexed Allocation
bit map은 부가적인 공간을 필요로 함
연속적인 n개의 free block을 찾는데 효과적이다.
Linked List
모든 free block들을 링크로 연결(free list)
연속적인 가용공간을 찾는 것은 쉽지 않다.
공간의 낭비가 없다.
Grouping
linked list 방법의 변형
첫 번째 free block이 n개의 pointer를 가짐
Counting
프로그램들이 종종 여러 개의 연속적인 block을 할당하고 반납한다는 성질에 착안
(first free block, # of contiguous free blocks)를 유지
Linear list
<file name, file metadata> 의 list
구현이 간단
디렉토리 내에 파일이 있는지 찾기 위해서는 linear search가 필요 ( time consuming)
Hash Table
linear list + hashing
Hash table은 file name을 이 파일의 linear list의 위치로 바꾸어줌
search time을 없앰
Collision 발생 가능
File metadata의 보관 위치
디렉토리 내에 직접 보관
디렉토리에는 포인터를 두고 다른 곳에 보관
Long file name의 지원
<File name, file metadata>의 list 에서 각 entry는 일반적으로 고정 크기
file name이 고정 크기보다 길어지는 경우 entry의 마지막 부분에 이름의 뒷부분이 위치한 곳의 포인터를 두는 방법
이름 나머지 부분은 동일한 directory file의 일부에 존재
Virtual File System (VFS)
Network File System (NFS)
분산 시스템에서는 네트워크를 통해 파일이 공유될 수 있음
NFS는 분산 환경에서의 대표적인 파일 공유 방법임
🔗강의 바로가기 운영체제 - 이화여자대학교 반효경 교수님 강의를 듣고 정리한 내용입니다.