운영체제가 보조기억장치에 접근할 때는 블록 단위로 접근한다.
파일에서도 메모리와 같이 연속적으로 블록을 할당할 경우 외부 단편화가 발생할 수 있기 때문에 불연속적으로 블록을 할당한다.
어떻게 불연속적으로 할당된 파일에 접근할지에 따라서 FAT 파일시스템과 아이노드 파일 시스템으로 나눌 수 있다.
FAT 기반 파일 시스템
- 저용량 저장장치에서 주로 사용하는 방법으로 FAT를 활용하는 파일시스템이다.
- 블록 주소와 다음 블록 주소가 매핑되어있고 첫 번째 블록 주소가 어딘지 알고 접근한다.
- FAT 파일 시스템 상에서 디렉터리에 어떤 파일의 첫 번째 블록주소가 어디인지 디렉터리 정보안에 포함되어 있어서 운영체제는 디렉터리의 정보를 보고 첫 번째 블록주소가 어디인지 알아내서 FAT를 참조한다.
- FAT 파일 시스템은 디렉터리 정보에 파일정보를 가지고 있기 때문에 디렉터리 정보만 읽어도 파일의 속성까지도 알 수 있다.
아이노드 기반 파일 시스템(유닉스 파일 시스템)
- 아이노드라는 색인블록을 활용한 파일시스템으로 아이노드는 사실상 파일의 모든 것을 담고 있기 때문에 디렉터리 엔트리에 파일의 이름과 어떤 아이노드인지만 명시된다.
- 색인블록 : 파일이나 디렉터리와 관련된 메타데이터와 포인터 정보를 저장하는 블록
- 파티션 내 아이노드 영역이 따로 존재한다. 아이노드가 파일과 디렉터리 정보는 데이터영역에 저장되어 있다.
- 아이노드 영역이 꽉찬다면 데이터 영역의 용량이 남아있더라도 파일을 생성할 수가 없다.
NTFS : 윈도우 운영체제에서 주로 사용되는 파일 시스템
APFS : macOS, iOS, watchOS, tvOS에서 주로 사용되는 파일 시스템
ext2, ext3, ext4, xfs : 리눅스 운영체제에서 주로 사용되는 파일 시스템
파일시스템의 특성을 간주하는것은 얼마나 큰 파일을 할당할 수 있는지 또 저널링이 얼마나 지원되는지로 나뉜다.
저널링 파일 시스템
파일 시스템에 크래쉬가 발생했을 때 로그를 통해 크래쉬를 빠르게 복구하는 파일 시스템이다
'CS > 운영체제' 카테고리의 다른 글
[OS] 파일과 디렉터리 (0) | 2023.09.11 |
---|---|
[OS] 요구 페이징, 스래싱, 페이지 교체 알고리즘 (0) | 2023.09.10 |
[OS] 페이징과 페이지 테이블 (0) | 2023.09.10 |
[OS] 교착상태와 해결 방법 (0) | 2023.09.10 |
[OS] 조건 변수와 모니터 (0) | 2023.09.09 |
댓글